diff --git a/amd/build/pdf.min.js b/amd/build/pdf.min.js deleted file mode 100644 index dd24a3ca..00000000 --- a/amd/build/pdf.min.js +++ /dev/null @@ -1,3 +0,0 @@ -function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _classStaticPrivateMethodGet(receiver,classConstructor,method){return _classCheckPrivateStaticAccess(receiver,classConstructor),method}function _classPrivateMethodInitSpec(obj,privateSet){_checkPrivateRedeclaration(obj,privateSet),privateSet.add(obj)}function _classPrivateMethodGet(receiver,privateSet,fn){if(!privateSet.has(receiver))throw new TypeError("attempted to get private field on non-instance");return fn}function _classStaticPrivateFieldSpecSet(receiver,classConstructor,descriptor,value){return _classCheckPrivateStaticAccess(receiver,classConstructor),_classCheckPrivateStaticFieldDescriptor(descriptor,"set"),_classApplyDescriptorSet(receiver,descriptor,value),value}function _classStaticPrivateFieldSpecGet(receiver,classConstructor,descriptor){return _classCheckPrivateStaticAccess(receiver,classConstructor),_classCheckPrivateStaticFieldDescriptor(descriptor,"get"),_classApplyDescriptorGet(receiver,descriptor)}function _classCheckPrivateStaticFieldDescriptor(descriptor,action){if(void 0===descriptor)throw new TypeError("attempted to "+action+" private static field before its declaration")}function _classCheckPrivateStaticAccess(receiver,classConstructor){if(receiver!==classConstructor)throw new TypeError("Private static access of wrong provenance")}function _classPrivateFieldInitSpec(obj,privateMap,value){_checkPrivateRedeclaration(obj,privateMap),privateMap.set(obj,value)}function _checkPrivateRedeclaration(obj,privateCollection){if(privateCollection.has(obj))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldGet(receiver,privateMap){return _classApplyDescriptorGet(receiver,_classExtractFieldDescriptor(receiver,privateMap,"get"))}function _classApplyDescriptorGet(receiver,descriptor){return descriptor.get?descriptor.get.call(receiver):descriptor.value}function _classPrivateFieldSet(receiver,privateMap,value){return _classApplyDescriptorSet(receiver,_classExtractFieldDescriptor(receiver,privateMap,"set"),value),value}function _classExtractFieldDescriptor(receiver,privateMap,action){if(!privateMap.has(receiver))throw new TypeError("attempted to "+action+" private field on non-instance");return privateMap.get(receiver)}function _classApplyDescriptorSet(receiver,descriptor,value){if(descriptor.set)descriptor.set.call(receiver,value);else{if(!descriptor.writable)throw new TypeError("attempted to set read only private field");descriptor.value=value}}var root,factory;root=globalThis,factory=()=>(()=>{var __webpack_modules__=[,(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.VerbosityLevel=exports.Util=exports.UnknownErrorException=exports.UnexpectedResponseException=exports.TextRenderingMode=exports.RenderingIntentFlag=exports.PromiseCapability=exports.PermissionFlag=exports.PasswordResponses=exports.PasswordException=exports.PageActionEventType=exports.OPS=exports.MissingPDFException=exports.MAX_IMAGE_SIZE_TO_CACHE=exports.LINE_FACTOR=exports.LINE_DESCENT_FACTOR=exports.InvalidPDFException=exports.ImageKind=exports.IDENTITY_MATRIX=exports.FormatError=exports.FeatureTest=exports.FONT_IDENTITY_MATRIX=exports.DocumentActionEventType=exports.CMapCompressionType=exports.BaseException=exports.BASELINE_FACTOR=exports.AnnotationType=exports.AnnotationReplyType=exports.AnnotationPrefix=exports.AnnotationMode=exports.AnnotationFlag=exports.AnnotationFieldFlag=exports.AnnotationEditorType=exports.AnnotationEditorPrefix=exports.AnnotationEditorParamsType=exports.AnnotationBorderStyleType=exports.AnnotationActionEventType=exports.AbortException=void 0,exports.assert=function(cond,msg){cond||unreachable(msg)},exports.bytesToString=bytesToString,exports.createValidAbsoluteUrl=function(url){let baseUrl=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,options=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!url)return null;try{if(options&&"string"==typeof url){if(options.addDefaultProtocol&&url.startsWith("www.")){const dots=url.match(/\./g);(null==dots?void 0:dots.length)>=2&&(url="http://".concat(url))}if(options.tryConvertEncoding)try{url=stringToUTF8String(url)}catch{}}const absoluteUrl=baseUrl?new URL(url,baseUrl):new URL(url);if(_isValidProtocol(absoluteUrl))return absoluteUrl}catch{}return null},exports.getModificationDate=function(){let date=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;const buffer=[date.getUTCFullYear().toString(),(date.getUTCMonth()+1).toString().padStart(2,"0"),date.getUTCDate().toString().padStart(2,"0"),date.getUTCHours().toString().padStart(2,"0"),date.getUTCMinutes().toString().padStart(2,"0"),date.getUTCSeconds().toString().padStart(2,"0")];return buffer.join("")},exports.getUuid=function(){var _crypto,_crypto2;if("undefined"!=typeof crypto&&"function"==typeof(null===(_crypto=crypto)||void 0===_crypto?void 0:_crypto.randomUUID))return crypto.randomUUID();const buf=new Uint8Array(32);if("undefined"!=typeof crypto&&"function"==typeof(null===(_crypto2=crypto)||void 0===_crypto2?void 0:_crypto2.getRandomValues))crypto.getRandomValues(buf);else for(let i=0;i<32;i++)buf[i]=Math.floor(255*Math.random());return bytesToString(buf)},exports.getVerbosityLevel=function(){return verbosity},exports.info=function(msg){verbosity>=VerbosityLevel.INFOS&&console.log("Info: ".concat(msg))},exports.isArrayBuffer=function(v){return"object"==typeof v&&void 0!==(null==v?void 0:v.byteLength)},exports.isArrayEqual=function(arr1,arr2){if(arr1.length!==arr2.length)return!1;for(let i=0,ii=arr1.length;ip1?p1.normalize("NFKC"):NormalizationMap.get(p2)))},exports.objectFromMap=function(map){const obj=Object.create(null);for(const[key,value]of map)obj[key]=value;return obj},exports.objectSize=function(obj){return Object.keys(obj).length},exports.setVerbosityLevel=function(level){Number.isInteger(level)&&(verbosity=level)},exports.shadow=shadow,exports.string32=function(value){return String.fromCharCode(value>>24&255,value>>16&255,value>>8&255,255&value)},exports.stringToBytes=stringToBytes,exports.stringToPDFString=function(str){if(str[0]>="ï"){let encoding;if("þ"===str[0]&&"ÿ"===str[1]?encoding="utf-16be":"ÿ"===str[0]&&"þ"===str[1]?encoding="utf-16le":"ï"===str[0]&&"»"===str[1]&&"¿"===str[2]&&(encoding="utf-8"),encoding)try{const decoder=new TextDecoder(encoding,{fatal:!0}),buffer=stringToBytes(str);return decoder.decode(buffer)}catch(ex){warn('stringToPDFString: "'.concat(ex,'".'))}}const strBuf=[];for(let i=0,ii=str.length;i=VerbosityLevel.WARNINGS&&console.log("Warning: ".concat(msg))}function unreachable(msg){throw new Error(msg)}function _isValidProtocol(url){switch(null==url?void 0:url.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function shadow(obj,prop,value){let nonSerializable=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return Object.defineProperty(obj,prop,{value:value,enumerable:!nonSerializable,configurable:!0,writable:!1}),value}const BaseException=function(){function BaseException(message,name){this.constructor===BaseException&&unreachable("Cannot initialize BaseException."),this.message=message,this.name=name}return BaseException.prototype=new Error,BaseException.constructor=BaseException,BaseException}();function bytesToString(bytes){"object"==typeof bytes&&void 0!==(null==bytes?void 0:bytes.length)||unreachable("Invalid argument for bytesToString");const length=bytes.length;if(length<8192)return String.fromCharCode.apply(null,bytes);const strBuf=[];for(let i=0;in.toString(16).padStart(2,"0")));exports.Util=class{static makeHexColor(r,g,b){return"#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b])}static scaleMinMax(transform,minMax){let temp;transform[0]?(transform[0]<0&&(temp=minMax[0],minMax[0]=minMax[1],minMax[1]=temp),minMax[0]*=transform[0],minMax[1]*=transform[0],transform[3]<0&&(temp=minMax[2],minMax[2]=minMax[3],minMax[3]=temp),minMax[2]*=transform[3],minMax[3]*=transform[3]):(temp=minMax[0],minMax[0]=minMax[2],minMax[2]=temp,temp=minMax[1],minMax[1]=minMax[3],minMax[3]=temp,transform[1]<0&&(temp=minMax[2],minMax[2]=minMax[3],minMax[3]=temp),minMax[2]*=transform[1],minMax[3]*=transform[1],transform[2]<0&&(temp=minMax[0],minMax[0]=minMax[1],minMax[1]=temp),minMax[0]*=transform[2],minMax[1]*=transform[2]),minMax[0]+=transform[4],minMax[1]+=transform[4],minMax[2]+=transform[5],minMax[3]+=transform[5]}static transform(m1,m2){return[m1[0]*m2[0]+m1[2]*m2[1],m1[1]*m2[0]+m1[3]*m2[1],m1[0]*m2[2]+m1[2]*m2[3],m1[1]*m2[2]+m1[3]*m2[3],m1[0]*m2[4]+m1[2]*m2[5]+m1[4],m1[1]*m2[4]+m1[3]*m2[5]+m1[5]]}static applyTransform(p,m){return[p[0]*m[0]+p[1]*m[2]+m[4],p[0]*m[1]+p[1]*m[3]+m[5]]}static applyInverseTransform(p,m){const d=m[0]*m[3]-m[1]*m[2];return[(p[0]*m[3]-p[1]*m[2]+m[2]*m[5]-m[4]*m[3])/d,(-p[0]*m[1]+p[1]*m[0]+m[4]*m[1]-m[5]*m[0])/d]}static getAxialAlignedBoundingBox(r,m){const p1=this.applyTransform(r,m),p2=this.applyTransform(r.slice(2,4),m),p3=this.applyTransform([r[0],r[3]],m),p4=this.applyTransform([r[2],r[1]],m);return[Math.min(p1[0],p2[0],p3[0],p4[0]),Math.min(p1[1],p2[1],p3[1],p4[1]),Math.max(p1[0],p2[0],p3[0],p4[0]),Math.max(p1[1],p2[1],p3[1],p4[1])]}static inverseTransform(m){const d=m[0]*m[3]-m[1]*m[2];return[m[3]/d,-m[1]/d,-m[2]/d,m[0]/d,(m[2]*m[5]-m[4]*m[3])/d,(m[4]*m[1]-m[5]*m[0])/d]}static singularValueDecompose2dScale(m){const transpose=[m[0],m[2],m[1],m[3]],a=m[0]*transpose[0]+m[1]*transpose[2],b=m[0]*transpose[1]+m[1]*transpose[3],c=m[2]*transpose[0]+m[3]*transpose[2],d=m[2]*transpose[1]+m[3]*transpose[3],first=(a+d)/2,second=Math.sqrt((a+d)**2-4*(a*d-c*b))/2,sx=first+second||1,sy=first-second||1;return[Math.sqrt(sx),Math.sqrt(sy)]}static normalizeRect(rect){const r=rect.slice(0);return rect[0]>rect[2]&&(r[0]=rect[2],r[2]=rect[0]),rect[1]>rect[3]&&(r[1]=rect[3],r[3]=rect[1]),r}static intersect(rect1,rect2){const xLow=Math.max(Math.min(rect1[0],rect1[2]),Math.min(rect2[0],rect2[2])),xHigh=Math.min(Math.max(rect1[0],rect1[2]),Math.max(rect2[0],rect2[2]));if(xLow>xHigh)return null;const yLow=Math.max(Math.min(rect1[1],rect1[3]),Math.min(rect2[1],rect2[3])),yHigh=Math.min(Math.max(rect1[1],rect1[3]),Math.max(rect2[1],rect2[3]));return yLow>yHigh?null:[xLow,yLow,xHigh,yHigh]}static bezierBoundingBox(x0,y0,x1,y1,x2,y2,x3,y3){const tvalues=[],bounds=[[],[]];let a,b,c,t,t1,t2,b2ac,sqrtb2ac;for(let i=0;i<2;++i)if(0===i?(b=6*x0-12*x1+6*x2,a=-3*x0+9*x1-9*x2+3*x3,c=3*x1-3*x0):(b=6*y0-12*y1+6*y2,a=-3*y0+9*y1-9*y2+3*y3,c=3*y1-3*y0),Math.abs(a)<1e-12){if(Math.abs(b)<1e-12)continue;t=-c/b,0{this.resolve=data=>{_classPrivateFieldSet(this,_settled,!0),resolve(data)},this.reject=reason=>{_classPrivateFieldSet(this,_settled,!0),reject(reason)}}))}get settled(){return _classPrivateFieldGet(this,_settled)}};let NormalizeRegex=null,NormalizationMap=null;exports.AnnotationPrefix="pdfjs_internal_id_"},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.RenderTask=exports.PDFWorkerUtil=exports.PDFWorker=exports.PDFPageProxy=exports.PDFDocumentProxy=exports.PDFDocumentLoadingTask=exports.PDFDataRangeTransport=exports.LoopbackPort=exports.DefaultStandardFontDataFactory=exports.DefaultFilterFactory=exports.DefaultCanvasFactory=exports.DefaultCMapReaderFactory=void 0,Object.defineProperty(exports,"SVGGraphics",{enumerable:!0,get:function(){return _displaySvg.SVGGraphics}}),exports.build=void 0,exports.getDocument=getDocument,exports.version=void 0;var _util=__w_pdfjs_require__(1),_annotation_storage=__w_pdfjs_require__(3),_display_utils=__w_pdfjs_require__(6),_font_loader=__w_pdfjs_require__(9),_displayNode_utils=__w_pdfjs_require__(10),_canvas=__w_pdfjs_require__(11),_worker_options=__w_pdfjs_require__(14),_message_handler=__w_pdfjs_require__(15),_metadata=__w_pdfjs_require__(16),_optional_content_config=__w_pdfjs_require__(17),_transport_stream=__w_pdfjs_require__(18),_displayFetch_stream=__w_pdfjs_require__(19),_displayNetwork=__w_pdfjs_require__(22),_displayNode_stream=__w_pdfjs_require__(23),_displaySvg=__w_pdfjs_require__(24),_xfa_text=__w_pdfjs_require__(25);const DEFAULT_RANGE_CHUNK_SIZE=65536,RENDERING_CANCELLED_TIMEOUT=100,DELAYED_CLEANUP_TIMEOUT=5e3,DefaultCanvasFactory=_util.isNodeJS?_displayNode_utils.NodeCanvasFactory:_display_utils.DOMCanvasFactory;exports.DefaultCanvasFactory=DefaultCanvasFactory;const DefaultCMapReaderFactory=_util.isNodeJS?_displayNode_utils.NodeCMapReaderFactory:_display_utils.DOMCMapReaderFactory;exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory;const DefaultFilterFactory=_util.isNodeJS?_displayNode_utils.NodeFilterFactory:_display_utils.DOMFilterFactory;exports.DefaultFilterFactory=DefaultFilterFactory;const DefaultStandardFontDataFactory=_util.isNodeJS?_displayNode_utils.NodeStandardFontDataFactory:_display_utils.DOMStandardFontDataFactory;function getDocument(src){var _src$password,_src$length;if("string"==typeof src||src instanceof URL?src={url:src}:(0,_util.isArrayBuffer)(src)&&(src={data:src}),"object"!=typeof src)throw new Error("Invalid parameter in getDocument, need parameter object.");if(!src.url&&!src.data&&!src.range)throw new Error("Invalid parameter object: need either .data, .range or .url");const task=new PDFDocumentLoadingTask,{docId:docId}=task,url=src.url?getUrlProp(src.url):null,data=src.data?getDataProp(src.data):null,httpHeaders=src.httpHeaders||null,withCredentials=!0===src.withCredentials,password=null!==(_src$password=src.password)&&void 0!==_src$password?_src$password:null,rangeTransport=src.range instanceof PDFDataRangeTransport?src.range:null,rangeChunkSize=Number.isInteger(src.rangeChunkSize)&&src.rangeChunkSize>0?src.rangeChunkSize:DEFAULT_RANGE_CHUNK_SIZE;let worker=src.worker instanceof PDFWorker?src.worker:null;const verbosity=src.verbosity,docBaseUrl="string"!=typeof src.docBaseUrl||(0,_display_utils.isDataScheme)(src.docBaseUrl)?null:src.docBaseUrl,cMapUrl="string"==typeof src.cMapUrl?src.cMapUrl:null,cMapPacked=!1!==src.cMapPacked,CMapReaderFactory=src.CMapReaderFactory||DefaultCMapReaderFactory,standardFontDataUrl="string"==typeof src.standardFontDataUrl?src.standardFontDataUrl:null,StandardFontDataFactory=src.StandardFontDataFactory||DefaultStandardFontDataFactory,ignoreErrors=!0!==src.stopAtErrors,maxImageSize=Number.isInteger(src.maxImageSize)&&src.maxImageSize>-1?src.maxImageSize:-1,isEvalSupported=!1!==src.isEvalSupported,isOffscreenCanvasSupported="boolean"==typeof src.isOffscreenCanvasSupported?src.isOffscreenCanvasSupported:!_util.isNodeJS,canvasMaxAreaInBytes=Number.isInteger(src.canvasMaxAreaInBytes)?src.canvasMaxAreaInBytes:-1,disableFontFace="boolean"==typeof src.disableFontFace?src.disableFontFace:_util.isNodeJS,fontExtraProperties=!0===src.fontExtraProperties,enableXfa=!0===src.enableXfa,ownerDocument=src.ownerDocument||globalThis.document,disableRange=!0===src.disableRange,disableStream=!0===src.disableStream,disableAutoFetch=!0===src.disableAutoFetch,pdfBug=!0===src.pdfBug,length=rangeTransport?rangeTransport.length:null!==(_src$length=src.length)&&void 0!==_src$length?_src$length:NaN,useSystemFonts="boolean"==typeof src.useSystemFonts?src.useSystemFonts:!_util.isNodeJS&&!disableFontFace,useWorkerFetch="boolean"==typeof src.useWorkerFetch?src.useWorkerFetch:CMapReaderFactory===_display_utils.DOMCMapReaderFactory&&StandardFontDataFactory===_display_utils.DOMStandardFontDataFactory&&cMapUrl&&standardFontDataUrl&&(0,_display_utils.isValidFetchUrl)(cMapUrl,document.baseURI)&&(0,_display_utils.isValidFetchUrl)(standardFontDataUrl,document.baseURI),canvasFactory=src.canvasFactory||new DefaultCanvasFactory({ownerDocument:ownerDocument}),filterFactory=src.filterFactory||new DefaultFilterFactory({docId:docId,ownerDocument:ownerDocument});(0,_util.setVerbosityLevel)(verbosity);const transportFactory={canvasFactory:canvasFactory,filterFactory:filterFactory};if(useWorkerFetch||(transportFactory.cMapReaderFactory=new CMapReaderFactory({baseUrl:cMapUrl,isCompressed:cMapPacked}),transportFactory.standardFontDataFactory=new StandardFontDataFactory({baseUrl:standardFontDataUrl})),!worker){const workerParams={verbosity:verbosity,port:_worker_options.GlobalWorkerOptions.workerPort};worker=workerParams.port?PDFWorker.fromPort(workerParams):new PDFWorker(workerParams),task._worker=worker}const fetchDocParams={docId:docId,apiVersion:"3.11.174",data:data,password:password,disableAutoFetch:disableAutoFetch,rangeChunkSize:rangeChunkSize,length:length,docBaseUrl:docBaseUrl,enableXfa:enableXfa,evaluatorOptions:{maxImageSize:maxImageSize,disableFontFace:disableFontFace,ignoreErrors:ignoreErrors,isEvalSupported:isEvalSupported,isOffscreenCanvasSupported:isOffscreenCanvasSupported,canvasMaxAreaInBytes:canvasMaxAreaInBytes,fontExtraProperties:fontExtraProperties,useSystemFonts:useSystemFonts,cMapUrl:useWorkerFetch?cMapUrl:null,standardFontDataUrl:useWorkerFetch?standardFontDataUrl:null}},transportParams={ignoreErrors:ignoreErrors,isEvalSupported:isEvalSupported,disableFontFace:disableFontFace,fontExtraProperties:fontExtraProperties,enableXfa:enableXfa,ownerDocument:ownerDocument,disableAutoFetch:disableAutoFetch,pdfBug:pdfBug,styleElement:null};return worker.promise.then((function(){if(task.destroyed)throw new Error("Loading aborted");const workerIdPromise=_fetchDocument(worker,fetchDocParams),networkStreamPromise=new Promise((function(resolve){let networkStream;var params;rangeTransport?networkStream=new _transport_stream.PDFDataTransportStream({length:length,initialData:rangeTransport.initialData,progressiveDone:rangeTransport.progressiveDone,contentDispositionFilename:rangeTransport.contentDispositionFilename,disableRange:disableRange,disableStream:disableStream},rangeTransport):data||(params={url:url,length:length,httpHeaders:httpHeaders,withCredentials:withCredentials,rangeChunkSize:rangeChunkSize,disableRange:disableRange,disableStream:disableStream},networkStream=_util.isNodeJS?new _displayNode_stream.PDFNodeStream(params):(0,_display_utils.isValidFetchUrl)(params.url)?new _displayFetch_stream.PDFFetchStream(params):new _displayNetwork.PDFNetworkStream(params)),resolve(networkStream)}));return Promise.all([workerIdPromise,networkStreamPromise]).then((function(_ref){let[workerId,networkStream]=_ref;if(task.destroyed)throw new Error("Loading aborted");const messageHandler=new _message_handler.MessageHandler(docId,workerId,worker.port),transport=new WorkerTransport(messageHandler,task,networkStream,transportParams,transportFactory);task._transport=transport,messageHandler.send("Ready",null)}))})).catch(task._capability.reject),task}async function _fetchDocument(worker,source){if(worker.destroyed)throw new Error("Worker was destroyed");const workerId=await worker.messageHandler.sendWithPromise("GetDocRequest",source,source.data?[source.data.buffer]:null);if(worker.destroyed)throw new Error("Worker was destroyed");return workerId}function getUrlProp(val){if(val instanceof URL)return val.href;try{return new URL(val,window.location).href}catch{if(_util.isNodeJS&&"string"==typeof val)return val}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function getDataProp(val){if(_util.isNodeJS&&"undefined"!=typeof Buffer&&val instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(val instanceof Uint8Array&&val.byteLength===val.buffer.byteLength)return val;if("string"==typeof val)return(0,_util.stringToBytes)(val);if("object"==typeof val&&!isNaN(null==val?void 0:val.length)||(0,_util.isArrayBuffer)(val))return new Uint8Array(val);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory;class PDFDocumentLoadingTask{constructor(){var _PDFDocumentLoadingTa;this._capability=new _util.PromiseCapability,this._transport=null,this._worker=null,this.docId="d".concat((_classStaticPrivateFieldSpecSet(PDFDocumentLoadingTask,PDFDocumentLoadingTask,_docId,1+(_PDFDocumentLoadingTa=+_classStaticPrivateFieldSpecGet(PDFDocumentLoadingTask,PDFDocumentLoadingTask,_docId))),_PDFDocumentLoadingTa)),this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){this.destroyed=!0;try{var _this$_worker,_this$_transport;null!==(_this$_worker=this._worker)&&void 0!==_this$_worker&&_this$_worker.port&&(this._worker._pendingDestroy=!0),await(null===(_this$_transport=this._transport)||void 0===_this$_transport?void 0:_this$_transport.destroy())}catch(ex){var _this$_worker2;throw null!==(_this$_worker2=this._worker)&&void 0!==_this$_worker2&&_this$_worker2.port&&delete this._worker._pendingDestroy,ex}this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}}var _docId={writable:!0,value:0};exports.PDFDocumentLoadingTask=PDFDocumentLoadingTask;class PDFDataRangeTransport{constructor(length,initialData){let progressiveDone=arguments.length>2&&void 0!==arguments[2]&&arguments[2],contentDispositionFilename=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;this.length=length,this.initialData=initialData,this.progressiveDone=progressiveDone,this.contentDispositionFilename=contentDispositionFilename,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=new _util.PromiseCapability}addRangeListener(listener){this._rangeListeners.push(listener)}addProgressListener(listener){this._progressListeners.push(listener)}addProgressiveReadListener(listener){this._progressiveReadListeners.push(listener)}addProgressiveDoneListener(listener){this._progressiveDoneListeners.push(listener)}onDataRange(begin,chunk){for(const listener of this._rangeListeners)listener(begin,chunk)}onDataProgress(loaded,total){this._readyCapability.promise.then((()=>{for(const listener of this._progressListeners)listener(loaded,total)}))}onDataProgressiveRead(chunk){this._readyCapability.promise.then((()=>{for(const listener of this._progressiveReadListeners)listener(chunk)}))}onDataProgressiveDone(){this._readyCapability.promise.then((()=>{for(const listener of this._progressiveDoneListeners)listener()}))}transportReady(){this._readyCapability.resolve()}requestDataRange(begin,end){(0,_util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}exports.PDFDataRangeTransport=PDFDataRangeTransport;class PDFDocumentProxy{constructor(pdfInfo,transport){this._pdfInfo=pdfInfo,this._transport=transport,Object.defineProperty(this,"getJavaScript",{value:()=>((0,_display_utils.deprecated)("`PDFDocumentProxy.getJavaScript`, please use `PDFDocumentProxy.getJSActions` instead."),this.getJSActions().then((js=>{if(!js)return js;const jsArr=[];for(const name in js)jsArr.push(...js[name]);return jsArr})))})}get annotationStorage(){return this._transport.annotationStorage}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return(0,_util.shadow)(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(pageNumber){return this._transport.getPage(pageNumber)}getPageIndex(ref){return this._transport.getPageIndex(ref)}getDestinations(){return this._transport.getDestinations()}getDestination(id){return this._transport.getDestination(id)}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()}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()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(){let keepLoadedFonts=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._transport.startCleanup(keepLoadedFonts||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}exports.PDFDocumentProxy=PDFDocumentProxy;var _delayedCleanupTimeout=new WeakMap,_pendingCleanup=new WeakMap,_tryCleanup=new WeakSet,_abortDelayedCleanup=new WeakSet;class PDFPageProxy{constructor(pageIndex,pageInfo,transport){let pdfBug=arguments.length>3&&void 0!==arguments[3]&&arguments[3];_classPrivateMethodInitSpec(this,_abortDelayedCleanup),_classPrivateMethodInitSpec(this,_tryCleanup),_classPrivateFieldInitSpec(this,_delayedCleanupTimeout,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_pendingCleanup,{writable:!0,value:!1}),this._pageIndex=pageIndex,this._pageInfo=pageInfo,this._transport=transport,this._stats=pdfBug?new _display_utils.StatTimer:null,this._pdfBug=pdfBug,this.commonObjs=transport.commonObjs,this.objs=new PDFObjects,this._maybeCleanupAfterRender=!1,this._intentStates=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(){let{scale:scale,rotation:rotation=this.rotate,offsetX:offsetX=0,offsetY:offsetY=0,dontFlip:dontFlip=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new _display_utils.PageViewport({viewBox:this.view,scale:scale,rotation:rotation,offsetX:offsetX,offsetY:offsetY,dontFlip:dontFlip})}getAnnotations(){let{intent:intent="display"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const intentArgs=this._transport.getRenderingIntent(intent);return this._transport.getAnnotations(this._pageIndex,intentArgs.renderingIntent)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return(0,_util.shadow)(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var _this$_transport$_htm;return(null===(_this$_transport$_htm=this._transport._htmlForXfa)||void 0===_this$_transport$_htm?void 0:_this$_transport$_htm.children[this._pageIndex])||null}render(_ref2){var _this$_stats,_intentState;let{canvasContext:canvasContext,viewport:viewport,intent:intent="display",annotationMode:annotationMode=_util.AnnotationMode.ENABLE,transform:transform=null,background:background=null,optionalContentConfigPromise:optionalContentConfigPromise=null,annotationCanvasMap:annotationCanvasMap=null,pageColors:pageColors=null,printAnnotationStorage:printAnnotationStorage=null}=_ref2;null===(_this$_stats=this._stats)||void 0===_this$_stats||_this$_stats.time("Overall");const intentArgs=this._transport.getRenderingIntent(intent,annotationMode,printAnnotationStorage);_classPrivateFieldSet(this,_pendingCleanup,!1),_classPrivateMethodGet(this,_abortDelayedCleanup,_abortDelayedCleanup2).call(this),optionalContentConfigPromise||(optionalContentConfigPromise=this._transport.getOptionalContentConfig());let intentState=this._intentStates.get(intentArgs.cacheKey);intentState||(intentState=Object.create(null),this._intentStates.set(intentArgs.cacheKey,intentState)),intentState.streamReaderCancelTimeout&&(clearTimeout(intentState.streamReaderCancelTimeout),intentState.streamReaderCancelTimeout=null);const intentPrint=!!(intentArgs.renderingIntent&_util.RenderingIntentFlag.PRINT);var _this$_stats2;intentState.displayReadyCapability||(intentState.displayReadyCapability=new _util.PromiseCapability,intentState.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},null===(_this$_stats2=this._stats)||void 0===_this$_stats2||_this$_stats2.time("Page Request"),this._pumpOperatorList(intentArgs));const complete=error=>{var _this$_stats3,_this$_stats4;intentState.renderTasks.delete(internalRenderTask),(this._maybeCleanupAfterRender||intentPrint)&&_classPrivateFieldSet(this,_pendingCleanup,!0),_classPrivateMethodGet(this,_tryCleanup,_tryCleanup2).call(this,!intentPrint),error?(internalRenderTask.capability.reject(error),this._abortOperatorList({intentState:intentState,reason:error instanceof Error?error:new Error(error)})):internalRenderTask.capability.resolve(),null===(_this$_stats3=this._stats)||void 0===_this$_stats3||_this$_stats3.timeEnd("Rendering"),null===(_this$_stats4=this._stats)||void 0===_this$_stats4||_this$_stats4.timeEnd("Overall")},internalRenderTask=new InternalRenderTask({callback:complete,params:{canvasContext:canvasContext,viewport:viewport,transform:transform,background:background},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:annotationCanvasMap,operatorList:intentState.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!intentPrint,pdfBug:this._pdfBug,pageColors:pageColors});((_intentState=intentState).renderTasks||(_intentState.renderTasks=new Set)).add(internalRenderTask);const renderTask=internalRenderTask.task;return Promise.all([intentState.displayReadyCapability.promise,optionalContentConfigPromise]).then((_ref3=>{var _this$_stats5;let[transparency,optionalContentConfig]=_ref3;this.destroyed?complete():(null===(_this$_stats5=this._stats)||void 0===_this$_stats5||_this$_stats5.time("Rendering"),internalRenderTask.initializeGraphics({transparency:transparency,optionalContentConfig:optionalContentConfig}),internalRenderTask.operatorListChanged())})).catch(complete),renderTask}getOperatorList(){let{intent:intent="display",annotationMode:annotationMode=_util.AnnotationMode.ENABLE,printAnnotationStorage:printAnnotationStorage=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const intentArgs=this._transport.getRenderingIntent(intent,annotationMode,printAnnotationStorage,!0);let opListTask,intentState=this._intentStates.get(intentArgs.cacheKey);var _intentState2,_this$_stats6;return intentState||(intentState=Object.create(null),this._intentStates.set(intentArgs.cacheKey,intentState)),intentState.opListReadCapability||(opListTask=Object.create(null),opListTask.operatorListChanged=function(){intentState.operatorList.lastChunk&&(intentState.opListReadCapability.resolve(intentState.operatorList),intentState.renderTasks.delete(opListTask))},intentState.opListReadCapability=new _util.PromiseCapability,((_intentState2=intentState).renderTasks||(_intentState2.renderTasks=new Set)).add(opListTask),intentState.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},null===(_this$_stats6=this._stats)||void 0===_this$_stats6||_this$_stats6.time("Page Request"),this._pumpOperatorList(intentArgs)),intentState.opListReadCapability.promise}streamTextContent(){let{includeMarkedContent:includeMarkedContent=!1,disableNormalization:disableNormalization=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:!0===includeMarkedContent,disableNormalization:!0===disableNormalization},{highWaterMark:100,size:textContent=>textContent.items.length})}getTextContent(){let params=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._transport._htmlForXfa)return this.getXfa().then((xfa=>_xfa_text.XfaText.textContent(xfa)));const readableStream=this.streamTextContent(params);return new Promise((function(resolve,reject){const reader=readableStream.getReader(),textContent={items:[],styles:Object.create(null)};!function pump(){reader.read().then((function(_ref4){let{value:value,done:done}=_ref4;done?resolve(textContent):(Object.assign(textContent.styles,value.styles),textContent.items.push(...value.items),pump())}),reject)}()}))}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const waitOn=[];for(const intentState of this._intentStates.values())if(this._abortOperatorList({intentState:intentState,reason:new Error("Page was destroyed."),force:!0}),!intentState.opListReadCapability)for(const internalRenderTask of intentState.renderTasks)waitOn.push(internalRenderTask.completed),internalRenderTask.cancel();return this.objs.clear(),_classPrivateFieldSet(this,_pendingCleanup,!1),_classPrivateMethodGet(this,_abortDelayedCleanup,_abortDelayedCleanup2).call(this),Promise.all(waitOn)}cleanup(){let resetStats=arguments.length>0&&void 0!==arguments[0]&&arguments[0];_classPrivateFieldSet(this,_pendingCleanup,!0);const success=_classPrivateMethodGet(this,_tryCleanup,_tryCleanup2).call(this,!1);return resetStats&&success&&this._stats&&(this._stats=new _display_utils.StatTimer),success}_startRenderPage(transparency,cacheKey){var _this$_stats7,_intentState$displayR;const intentState=this._intentStates.get(cacheKey);intentState&&(null===(_this$_stats7=this._stats)||void 0===_this$_stats7||_this$_stats7.timeEnd("Page Request"),null===(_intentState$displayR=intentState.displayReadyCapability)||void 0===_intentState$displayR||_intentState$displayR.resolve(transparency))}_renderPageChunk(operatorListChunk,intentState){for(let i=0,ii=operatorListChunk.length;i{reader.read().then((_ref6=>{let{value:value,done:done}=_ref6;done?intentState.streamReader=null:this._transport.destroyed||(this._renderPageChunk(value,intentState),pump())}),(reason=>{if(intentState.streamReader=null,!this._transport.destroyed){if(intentState.operatorList){intentState.operatorList.lastChunk=!0;for(const internalRenderTask of intentState.renderTasks)internalRenderTask.operatorListChanged();_classPrivateMethodGet(this,_tryCleanup,_tryCleanup2).call(this,!0)}if(intentState.displayReadyCapability)intentState.displayReadyCapability.reject(reason);else{if(!intentState.opListReadCapability)throw reason;intentState.opListReadCapability.reject(reason)}}}))};pump()}_abortOperatorList(_ref7){let{intentState:intentState,reason:reason,force:force=!1}=_ref7;if(intentState.streamReader){if(intentState.streamReaderCancelTimeout&&(clearTimeout(intentState.streamReaderCancelTimeout),intentState.streamReaderCancelTimeout=null),!force){if(intentState.renderTasks.size>0)return;if(reason instanceof _display_utils.RenderingCancelledException){let delay=RENDERING_CANCELLED_TIMEOUT;return reason.extraDelay>0&&reason.extraDelay<1e3&&(delay+=reason.extraDelay),void(intentState.streamReaderCancelTimeout=setTimeout((()=>{intentState.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:intentState,reason:reason,force:!0})}),delay))}}if(intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch((()=>{})),intentState.streamReader=null,!this._transport.destroyed){for(const[curCacheKey,curIntentState]of this._intentStates)if(curIntentState===intentState){this._intentStates.delete(curCacheKey);break}this.cleanup()}}}get stats(){return this._stats}}function _tryCleanup2(){let delayed=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(_classPrivateMethodGet(this,_abortDelayedCleanup,_abortDelayedCleanup2).call(this),!_classPrivateFieldGet(this,_pendingCleanup)||this.destroyed)return!1;if(delayed)return _classPrivateFieldSet(this,_delayedCleanupTimeout,setTimeout((()=>{_classPrivateFieldSet(this,_delayedCleanupTimeout,null),_classPrivateMethodGet(this,_tryCleanup,_tryCleanup2).call(this,!1)}),DELAYED_CLEANUP_TIMEOUT)),!1;for(const{renderTasks:renderTasks,operatorList:operatorList}of this._intentStates.values())if(renderTasks.size>0||!operatorList.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),_classPrivateFieldSet(this,_pendingCleanup,!1),!0}function _abortDelayedCleanup2(){_classPrivateFieldGet(this,_delayedCleanupTimeout)&&(clearTimeout(_classPrivateFieldGet(this,_delayedCleanupTimeout)),_classPrivateFieldSet(this,_delayedCleanupTimeout,null))}exports.PDFPageProxy=PDFPageProxy;var _listeners=new WeakMap,_deferred=new WeakMap;class LoopbackPort{constructor(){_classPrivateFieldInitSpec(this,_listeners,{writable:!0,value:new Set}),_classPrivateFieldInitSpec(this,_deferred,{writable:!0,value:Promise.resolve()})}postMessage(obj,transfer){const event={data:structuredClone(obj,transfer?{transfer:transfer}:null)};_classPrivateFieldGet(this,_deferred).then((()=>{for(const listener of _classPrivateFieldGet(this,_listeners))listener.call(this,event)}))}addEventListener(name,listener){_classPrivateFieldGet(this,_listeners).add(listener)}removeEventListener(name,listener){_classPrivateFieldGet(this,_listeners).delete(listener)}terminate(){_classPrivateFieldGet(this,_listeners).clear()}}exports.LoopbackPort=LoopbackPort;const PDFWorkerUtil={isWorkerDisabled:!1,fallbackWorkerSrc:null,fakeWorkerId:0};if(exports.PDFWorkerUtil=PDFWorkerUtil,_util.isNodeJS&&"function"==typeof require)PDFWorkerUtil.isWorkerDisabled=!0,PDFWorkerUtil.fallbackWorkerSrc="./pdf.worker.js";else if("object"==typeof document){var _document,_document$currentScri;const pdfjsFilePath=null===(_document=document)||void 0===_document||null===(_document$currentScri=_document.currentScript)||void 0===_document$currentScri?void 0:_document$currentScri.src;pdfjsFilePath&&(PDFWorkerUtil.fallbackWorkerSrc=pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i,".worker$1$2"))}PDFWorkerUtil.isSameOrigin=function(baseUrl,otherUrl){let base;try{if(base=new URL(baseUrl),!base.origin||"null"===base.origin)return!1}catch{return!1}const other=new URL(otherUrl,base);return base.origin===other.origin},PDFWorkerUtil.createCDNWrapper=function(url){const wrapper='importScripts("'.concat(url,'");');return URL.createObjectURL(new Blob([wrapper]))};class PDFWorker{constructor(){let{name:name=null,port:port=null,verbosity:verbosity=(0,_util.getVerbosityLevel)()}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.name=name,this.destroyed=!1,this.verbosity=verbosity,this._readyCapability=new _util.PromiseCapability,this._port=null,this._webWorker=null,this._messageHandler=null,port){var _classStaticPrivateFi;if(null!==(_classStaticPrivateFi=_classStaticPrivateFieldSpecGet(PDFWorker,PDFWorker,_workerPorts))&&void 0!==_classStaticPrivateFi&&_classStaticPrivateFi.has(port))throw new Error("Cannot use more than one PDFWorker per port.");return(_classStaticPrivateFieldSpecGet(PDFWorker,PDFWorker,_workerPorts)||_classStaticPrivateFieldSpecSet(PDFWorker,PDFWorker,_workerPorts,new WeakMap)).set(port,this),void this._initializeFromPort(port)}this._initialize()}get promise(){return this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(port){this._port=port,this._messageHandler=new _message_handler.MessageHandler("main","worker",port),this._messageHandler.on("ready",(function(){})),this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})}_initialize(){if(!PDFWorkerUtil.isWorkerDisabled&&!PDFWorker._mainThreadWorkerMessageHandler){let{workerSrc:workerSrc}=PDFWorker;try{PDFWorkerUtil.isSameOrigin(window.location.href,workerSrc)||(workerSrc=PDFWorkerUtil.createCDNWrapper(new URL(workerSrc,window.location).href));const worker=new Worker(workerSrc),messageHandler=new _message_handler.MessageHandler("main","worker",worker),terminateEarly=()=>{worker.removeEventListener("error",onWorkerError),messageHandler.destroy(),worker.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},onWorkerError=()=>{this._webWorker||terminateEarly()};worker.addEventListener("error",onWorkerError),messageHandler.on("test",(data=>{worker.removeEventListener("error",onWorkerError),this.destroyed?terminateEarly():data?(this._messageHandler=messageHandler,this._port=worker,this._webWorker=worker,this._readyCapability.resolve(),messageHandler.send("configure",{verbosity:this.verbosity})):(this._setupFakeWorker(),messageHandler.destroy(),worker.terminate())})),messageHandler.on("ready",(data=>{if(worker.removeEventListener("error",onWorkerError),this.destroyed)terminateEarly();else try{sendTest()}catch{this._setupFakeWorker()}}));const sendTest=()=>{const testObj=new Uint8Array;messageHandler.send("test",testObj,[testObj.buffer])};return void sendTest()}catch{(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((WorkerMessageHandler=>{if(this.destroyed)return void this._readyCapability.reject(new Error("Worker was destroyed"));const port=new LoopbackPort;this._port=port;const id="fake".concat(PDFWorkerUtil.fakeWorkerId++),workerHandler=new _message_handler.MessageHandler(id+"_worker",id,port);WorkerMessageHandler.setup(workerHandler,port);const messageHandler=new _message_handler.MessageHandler(id,id+"_worker",port);this._messageHandler=messageHandler,this._readyCapability.resolve(),messageHandler.send("configure",{verbosity:this.verbosity})})).catch((reason=>{this._readyCapability.reject(new Error('Setting up fake worker failed: "'.concat(reason.message,'".')))}))}destroy(){var _classStaticPrivateFi2;this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),null===(_classStaticPrivateFi2=_classStaticPrivateFieldSpecGet(PDFWorker,PDFWorker,_workerPorts))||void 0===_classStaticPrivateFi2||_classStaticPrivateFi2.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(params){var _classStaticPrivateFi3;if(null==params||!params.port)throw new Error("PDFWorker.fromPort - invalid method signature.");const cachedPort=null===(_classStaticPrivateFi3=_classStaticPrivateFieldSpecGet(this,PDFWorker,_workerPorts))||void 0===_classStaticPrivateFi3?void 0:_classStaticPrivateFi3.get(params.port);if(cachedPort){if(cachedPort._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return cachedPort}return new PDFWorker(params)}static get workerSrc(){if(_worker_options.GlobalWorkerOptions.workerSrc)return _worker_options.GlobalWorkerOptions.workerSrc;if(null!==PDFWorkerUtil.fallbackWorkerSrc)return _util.isNodeJS||(0,_display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'),PDFWorkerUtil.fallbackWorkerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _mainThreadWorkerMessageHandler(){try{var _globalThis$pdfjsWork;return(null===(_globalThis$pdfjsWork=globalThis.pdfjsWorker)||void 0===_globalThis$pdfjsWork?void 0:_globalThis$pdfjsWork.WorkerMessageHandler)||null}catch{return null}}static get _setupFakeWorkerGlobal(){const loader=async()=>{const mainWorkerMessageHandler=this._mainThreadWorkerMessageHandler;if(mainWorkerMessageHandler)return mainWorkerMessageHandler;if(_util.isNodeJS&&"function"==typeof require){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())}}var _workerPorts={writable:!0,value:void 0};exports.PDFWorker=PDFWorker;var _methodPromises=new WeakMap,_pageCache=new WeakMap,_pagePromises=new WeakMap,_passwordCapability=new WeakMap,_cacheSimpleMethod=new WeakSet;class WorkerTransport{constructor(messageHandler,loadingTask,networkStream,params,factory){_classPrivateMethodInitSpec(this,_cacheSimpleMethod),_classPrivateFieldInitSpec(this,_methodPromises,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_pageCache,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_pagePromises,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_passwordCapability,{writable:!0,value:null}),this.messageHandler=messageHandler,this.loadingTask=loadingTask,this.commonObjs=new PDFObjects,this.fontLoader=new _font_loader.FontLoader({ownerDocument:params.ownerDocument,styleElement:params.styleElement}),this._params=params,this.canvasFactory=factory.canvasFactory,this.filterFactory=factory.filterFactory,this.cMapReaderFactory=factory.cMapReaderFactory,this.standardFontDataFactory=factory.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=networkStream,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=new _util.PromiseCapability,this.setupMessageHandler()}get annotationStorage(){return(0,_util.shadow)(this,"annotationStorage",new _annotation_storage.AnnotationStorage)}getRenderingIntent(intent){let annotationMode=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_util.AnnotationMode.ENABLE,printAnnotationStorage=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,isOpList=arguments.length>3&&void 0!==arguments[3]&&arguments[3],renderingIntent=_util.RenderingIntentFlag.DISPLAY,annotationStorageSerializable=_annotation_storage.SerializableEmpty;switch(intent){case"any":renderingIntent=_util.RenderingIntentFlag.ANY;break;case"display":break;case"print":renderingIntent=_util.RenderingIntentFlag.PRINT;break;default:(0,_util.warn)("getRenderingIntent - invalid intent: ".concat(intent))}switch(annotationMode){case _util.AnnotationMode.DISABLE:renderingIntent+=_util.RenderingIntentFlag.ANNOTATIONS_DISABLE;break;case _util.AnnotationMode.ENABLE:break;case _util.AnnotationMode.ENABLE_FORMS:renderingIntent+=_util.RenderingIntentFlag.ANNOTATIONS_FORMS;break;case _util.AnnotationMode.ENABLE_STORAGE:renderingIntent+=_util.RenderingIntentFlag.ANNOTATIONS_STORAGE,annotationStorageSerializable=(renderingIntent&_util.RenderingIntentFlag.PRINT&&printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage?printAnnotationStorage:this.annotationStorage).serializable;break;default:(0,_util.warn)("getRenderingIntent - invalid annotationMode: ".concat(annotationMode))}return isOpList&&(renderingIntent+=_util.RenderingIntentFlag.OPLIST),{renderingIntent:renderingIntent,cacheKey:"".concat(renderingIntent,"_").concat(annotationStorageSerializable.hash),annotationStorageSerializable:annotationStorageSerializable}}destroy(){var _classPrivateFieldGet2;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=new _util.PromiseCapability,null===(_classPrivateFieldGet2=_classPrivateFieldGet(this,_passwordCapability))||void 0===_classPrivateFieldGet2||_classPrivateFieldGet2.reject(new Error("Worker was destroyed during onPassword callback"));const waitOn=[];for(const page of _classPrivateFieldGet(this,_pageCache).values())waitOn.push(page._destroy());_classPrivateFieldGet(this,_pageCache).clear(),_classPrivateFieldGet(this,_pagePromises).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const terminated=this.messageHandler.sendWithPromise("Terminate",null);return waitOn.push(terminated),Promise.all(waitOn).then((()=>{var _this$_networkStream;this.commonObjs.clear(),this.fontLoader.clear(),_classPrivateFieldGet(this,_methodPromises).clear(),this.filterFactory.destroy(),null===(_this$_networkStream=this._networkStream)||void 0===_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:messageHandler,loadingTask:loadingTask}=this;messageHandler.on("GetReader",((data,sink)=>{(0,_util.assert)(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=evt=>{this._lastProgress={loaded:evt.loaded,total:evt.total}},sink.onPull=()=>{this._fullReader.read().then((function(_ref8){let{value:value,done:done}=_ref8;done?sink.close():((0,_util.assert)(value instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),sink.enqueue(new Uint8Array(value),1,[value]))})).catch((reason=>{sink.error(reason)}))},sink.onCancel=reason=>{this._fullReader.cancel(reason),sink.ready.catch((readyReason=>{if(!this.destroyed)throw readyReason}))}})),messageHandler.on("ReaderHeadersReady",(data=>{const headersCapability=new _util.PromiseCapability,fullReader=this._fullReader;return fullReader.headersReady.then((()=>{var _loadingTask$onProgre;fullReader.isStreamingSupported&&fullReader.isRangeSupported||(this._lastProgress&&(null===(_loadingTask$onProgre=loadingTask.onProgress)||void 0===_loadingTask$onProgre||_loadingTask$onProgre.call(loadingTask,this._lastProgress)),fullReader.onProgress=evt=>{var _loadingTask$onProgre2;null===(_loadingTask$onProgre2=loadingTask.onProgress)||void 0===_loadingTask$onProgre2||_loadingTask$onProgre2.call(loadingTask,{loaded:evt.loaded,total:evt.total})});headersCapability.resolve({isStreamingSupported:fullReader.isStreamingSupported,isRangeSupported:fullReader.isRangeSupported,contentLength:fullReader.contentLength})}),headersCapability.reject),headersCapability.promise})),messageHandler.on("GetRangeReader",((data,sink)=>{(0,_util.assert)(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const rangeReader=this._networkStream.getRangeReader(data.begin,data.end);rangeReader?(sink.onPull=()=>{rangeReader.read().then((function(_ref9){let{value:value,done:done}=_ref9;done?sink.close():((0,_util.assert)(value instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),sink.enqueue(new Uint8Array(value),1,[value]))})).catch((reason=>{sink.error(reason)}))},sink.onCancel=reason=>{rangeReader.cancel(reason),sink.ready.catch((readyReason=>{if(!this.destroyed)throw readyReason}))}):sink.close()})),messageHandler.on("GetDoc",(_ref10=>{let{pdfInfo:pdfInfo}=_ref10;this._numPages=pdfInfo.numPages,this._htmlForXfa=pdfInfo.htmlForXfa,delete pdfInfo.htmlForXfa,loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo,this))})),messageHandler.on("DocException",(function(ex){let reason;switch(ex.name){case"PasswordException":reason=new _util.PasswordException(ex.message,ex.code);break;case"InvalidPDFException":reason=new _util.InvalidPDFException(ex.message);break;case"MissingPDFException":reason=new _util.MissingPDFException(ex.message);break;case"UnexpectedResponseException":reason=new _util.UnexpectedResponseException(ex.message,ex.status);break;case"UnknownErrorException":reason=new _util.UnknownErrorException(ex.message,ex.details);break;default:(0,_util.unreachable)("DocException - expected a valid Error.")}loadingTask._capability.reject(reason)})),messageHandler.on("PasswordRequest",(exception=>{if(_classPrivateFieldSet(this,_passwordCapability,new _util.PromiseCapability),loadingTask.onPassword){const updatePassword=password=>{password instanceof Error?_classPrivateFieldGet(this,_passwordCapability).reject(password):_classPrivateFieldGet(this,_passwordCapability).resolve({password:password})};try{loadingTask.onPassword(updatePassword,exception.code)}catch(ex){_classPrivateFieldGet(this,_passwordCapability).reject(ex)}}else _classPrivateFieldGet(this,_passwordCapability).reject(new _util.PasswordException(exception.message,exception.code));return _classPrivateFieldGet(this,_passwordCapability).promise})),messageHandler.on("DataLoaded",(data=>{var _loadingTask$onProgre3;null===(_loadingTask$onProgre3=loadingTask.onProgress)||void 0===_loadingTask$onProgre3||_loadingTask$onProgre3.call(loadingTask,{loaded:data.length,total:data.length}),this.downloadInfoCapability.resolve(data)})),messageHandler.on("StartRenderPage",(data=>{this.destroyed||_classPrivateFieldGet(this,_pageCache).get(data.pageIndex)._startRenderPage(data.transparency,data.cacheKey)})),messageHandler.on("commonobj",(_ref11=>{var _globalThis$FontInspe;let[id,type,exportedData]=_ref11;if(!this.destroyed&&!this.commonObjs.has(id))switch(type){case"Font":const params=this._params;if("error"in exportedData){const exportedError=exportedData.error;(0,_util.warn)("Error during font loading: ".concat(exportedError)),this.commonObjs.resolve(id,exportedError);break}const inspectFont=params.pdfBug&&null!==(_globalThis$FontInspe=globalThis.FontInspector)&&void 0!==_globalThis$FontInspe&&_globalThis$FontInspe.enabled?(font,url)=>globalThis.FontInspector.fontAdded(font,url):null,font=new _font_loader.FontFaceObject(exportedData,{isEvalSupported:params.isEvalSupported,disableFontFace:params.disableFontFace,ignoreErrors:params.ignoreErrors,inspectFont:inspectFont});this.fontLoader.bind(font).catch((reason=>messageHandler.sendWithPromise("FontFallback",{id:id}))).finally((()=>{!params.fontExtraProperties&&font.data&&(font.data=null),this.commonObjs.resolve(id,font)}));break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(id,exportedData);break;default:throw new Error("Got unknown common object type ".concat(type))}})),messageHandler.on("obj",(_ref12=>{let[id,pageIndex,type,imageData]=_ref12;if(this.destroyed)return;const pageProxy=_classPrivateFieldGet(this,_pageCache).get(pageIndex);if(!pageProxy.objs.has(id))switch(type){case"Image":if(pageProxy.objs.resolve(id,imageData),imageData){let length;if(imageData.bitmap){const{width:width,height:height}=imageData;length=width*height*4}else{var _imageData$data;length=(null===(_imageData$data=imageData.data)||void 0===_imageData$data?void 0:_imageData$data.length)||0}length>_util.MAX_IMAGE_SIZE_TO_CACHE&&(pageProxy._maybeCleanupAfterRender=!0)}break;case"Pattern":pageProxy.objs.resolve(id,imageData);break;default:throw new Error("Got unknown object type ".concat(type))}})),messageHandler.on("DocProgress",(data=>{var _loadingTask$onProgre4;this.destroyed||null===(_loadingTask$onProgre4=loadingTask.onProgress)||void 0===_loadingTask$onProgre4||_loadingTask$onProgre4.call(loadingTask,{loaded:data.loaded,total:data.total})})),messageHandler.on("FetchBuiltInCMap",(data=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.cMapReaderFactory?this.cMapReaderFactory.fetch(data):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")))),messageHandler.on("FetchStandardFontData",(data=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.standardFontDataFactory?this.standardFontDataFactory.fetch(data):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter."))))}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var _this$_fullReader$fil,_this$_fullReader;this.annotationStorage.size<=0&&(0,_util.warn)("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:map,transfers:transfers}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:map,filename:null!==(_this$_fullReader$fil=null===(_this$_fullReader=this._fullReader)||void 0===_this$_fullReader?void 0:_this$_fullReader.filename)&&void 0!==_this$_fullReader$fil?_this$_fullReader$fil:null},transfers).finally((()=>{this.annotationStorage.resetModified()}))}getPage(pageNumber){if(!Number.isInteger(pageNumber)||pageNumber<=0||pageNumber>this._numPages)return Promise.reject(new Error("Invalid page request."));const pageIndex=pageNumber-1,cachedPromise=_classPrivateFieldGet(this,_pagePromises).get(pageIndex);if(cachedPromise)return cachedPromise;const promise=this.messageHandler.sendWithPromise("GetPage",{pageIndex:pageIndex}).then((pageInfo=>{if(this.destroyed)throw new Error("Transport destroyed");const page=new PDFPageProxy(pageIndex,pageInfo,this,this._params.pdfBug);return _classPrivateFieldGet(this,_pageCache).set(pageIndex,page),page}));return _classPrivateFieldGet(this,_pagePromises).set(pageIndex,promise),promise}getPageIndex(ref){return"object"!=typeof ref||null===ref||!Number.isInteger(ref.num)||ref.num<0||!Number.isInteger(ref.gen)||ref.gen<0?Promise.reject(new Error("Invalid pageIndex request.")):this.messageHandler.sendWithPromise("GetPageIndex",{num:ref.num,gen:ref.gen})}getAnnotations(pageIndex,intent){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:pageIndex,intent:intent})}getFieldObjects(){return _classPrivateMethodGet(this,_cacheSimpleMethod,_cacheSimpleMethod2).call(this,"GetFieldObjects")}hasJSActions(){return _classPrivateMethodGet(this,_cacheSimpleMethod,_cacheSimpleMethod2).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(id){return"string"!=typeof id?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:id})}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)}getDocJSActions(){return _classPrivateMethodGet(this,_cacheSimpleMethod,_cacheSimpleMethod2).call(this,"GetDocJSActions")}getPageJSActions(pageIndex){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:pageIndex})}getStructTree(pageIndex){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:pageIndex})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(){return this.messageHandler.sendWithPromise("GetOptionalContentConfig",null).then((results=>new _optional_content_config.OptionalContentConfig(results)))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const name="GetMetadata",cachedPromise=_classPrivateFieldGet(this,_methodPromises).get(name);if(cachedPromise)return cachedPromise;const promise=this.messageHandler.sendWithPromise(name,null).then((results=>{var _this$_fullReader$fil2,_this$_fullReader2,_this$_fullReader$con,_this$_fullReader3;return{info:results[0],metadata:results[1]?new _metadata.Metadata(results[1]):null,contentDispositionFilename:null!==(_this$_fullReader$fil2=null===(_this$_fullReader2=this._fullReader)||void 0===_this$_fullReader2?void 0:_this$_fullReader2.filename)&&void 0!==_this$_fullReader$fil2?_this$_fullReader$fil2:null,contentLength:null!==(_this$_fullReader$con=null===(_this$_fullReader3=this._fullReader)||void 0===_this$_fullReader3?void 0:_this$_fullReader3.contentLength)&&void 0!==_this$_fullReader$con?_this$_fullReader$con:null}}));return _classPrivateFieldGet(this,_methodPromises).set(name,promise),promise}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(){let keepLoadedFonts=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const page of _classPrivateFieldGet(this,_pageCache).values())if(!page.cleanup())throw new Error("startCleanup: Page ".concat(page.pageNumber," is currently rendering."));this.commonObjs.clear(),keepLoadedFonts||this.fontLoader.clear(),_classPrivateFieldGet(this,_methodPromises).clear(),this.filterFactory.destroy(!0)}}get loadingParams(){const{disableAutoFetch:disableAutoFetch,enableXfa:enableXfa}=this._params;return(0,_util.shadow)(this,"loadingParams",{disableAutoFetch:disableAutoFetch,enableXfa:enableXfa})}}function _cacheSimpleMethod2(name){let data=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const cachedPromise=_classPrivateFieldGet(this,_methodPromises).get(name);if(cachedPromise)return cachedPromise;const promise=this.messageHandler.sendWithPromise(name,data);return _classPrivateFieldGet(this,_methodPromises).set(name,promise),promise}var _objs=new WeakMap,_ensureObj=new WeakSet;class PDFObjects{constructor(){_classPrivateMethodInitSpec(this,_ensureObj),_classPrivateFieldInitSpec(this,_objs,{writable:!0,value:Object.create(null)})}get(objId){let callback=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(callback){const obj=_classPrivateMethodGet(this,_ensureObj,_ensureObj2).call(this,objId);return obj.capability.promise.then((()=>callback(obj.data))),null}const obj=_classPrivateFieldGet(this,_objs)[objId];if(null==obj||!obj.capability.settled)throw new Error("Requesting object that isn't resolved yet ".concat(objId,"."));return obj.data}has(objId){const obj=_classPrivateFieldGet(this,_objs)[objId];return(null==obj?void 0:obj.capability.settled)||!1}resolve(objId){let data=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const obj=_classPrivateMethodGet(this,_ensureObj,_ensureObj2).call(this,objId);obj.data=data,obj.capability.resolve()}clear(){for(const objId in _classPrivateFieldGet(this,_objs)){var _data$bitmap;const{data:data}=_classPrivateFieldGet(this,_objs)[objId];null==data||null===(_data$bitmap=data.bitmap)||void 0===_data$bitmap||_data$bitmap.close()}_classPrivateFieldSet(this,_objs,Object.create(null))}}function _ensureObj2(objId){var _classPrivateFieldGet3;return(_classPrivateFieldGet3=_classPrivateFieldGet(this,_objs))[objId]||(_classPrivateFieldGet3[objId]={capability:new _util.PromiseCapability,data:null})}var _internalRenderTask=new WeakMap;class RenderTask{constructor(internalRenderTask){_classPrivateFieldInitSpec(this,_internalRenderTask,{writable:!0,value:null}),_classPrivateFieldSet(this,_internalRenderTask,internalRenderTask),this.onContinue=null}get promise(){return _classPrivateFieldGet(this,_internalRenderTask).capability.promise}cancel(){let extraDelay=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;_classPrivateFieldGet(this,_internalRenderTask).cancel(null,extraDelay)}get separateAnnots(){const{separateAnnots:separateAnnots}=_classPrivateFieldGet(this,_internalRenderTask).operatorList;if(!separateAnnots)return!1;const{annotationCanvasMap:annotationCanvasMap}=_classPrivateFieldGet(this,_internalRenderTask);return separateAnnots.form||separateAnnots.canvas&&(null==annotationCanvasMap?void 0:annotationCanvasMap.size)>0}}exports.RenderTask=RenderTask;class InternalRenderTask{constructor(_ref13){let{callback:callback,params:params,objs:objs,commonObjs:commonObjs,annotationCanvasMap:annotationCanvasMap,operatorList:operatorList,pageIndex:pageIndex,canvasFactory:canvasFactory,filterFactory:filterFactory,useRequestAnimationFrame:useRequestAnimationFrame=!1,pdfBug:pdfBug=!1,pageColors:pageColors=null}=_ref13;this.callback=callback,this.params=params,this.objs=objs,this.commonObjs=commonObjs,this.annotationCanvasMap=annotationCanvasMap,this.operatorListIdx=null,this.operatorList=operatorList,this._pageIndex=pageIndex,this.canvasFactory=canvasFactory,this.filterFactory=filterFactory,this._pdfBug=pdfBug,this.pageColors=pageColors,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=!0===useRequestAnimationFrame&&"undefined"!=typeof window,this.cancelled=!1,this.capability=new _util.PromiseCapability,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=params.canvasContext.canvas}get completed(){return this.capability.promise.catch((function(){}))}initializeGraphics(_ref14){var _globalThis$StepperMa,_this$graphicsReadyCa;let{transparency:transparency=!1,optionalContentConfig:optionalContentConfig}=_ref14;if(this.cancelled)return;if(this._canvas){if(_classStaticPrivateFieldSpecGet(InternalRenderTask,InternalRenderTask,_canvasInUse).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.");_classStaticPrivateFieldSpecGet(InternalRenderTask,InternalRenderTask,_canvasInUse).add(this._canvas)}this._pdfBug&&null!==(_globalThis$StepperMa=globalThis.StepperManager)&&void 0!==_globalThis$StepperMa&&_globalThis$StepperMa.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:canvasContext,viewport:viewport,transform:transform,background:background}=this.params;this.gfx=new _canvas.CanvasGraphics(canvasContext,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:optionalContentConfig},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:transform,viewport:viewport,transparency:transparency,background:background}),this.operatorListIdx=0,this.graphicsReady=!0,null===(_this$graphicsReadyCa=this.graphicsReadyCallback)||void 0===_this$graphicsReadyCa||_this$graphicsReadyCa.call(this)}cancel(){var _this$gfx;let error=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,extraDelay=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.running=!1,this.cancelled=!0,null===(_this$gfx=this.gfx)||void 0===_this$gfx||_this$gfx.endDrawing(),_classStaticPrivateFieldSpecGet(InternalRenderTask,InternalRenderTask,_canvasInUse).delete(this._canvas),this.callback(error||new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex+1),extraDelay))}operatorListChanged(){var _this$stepper;this.graphicsReady?(null===(_this$stepper=this.stepper)||void 0===_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(),_classStaticPrivateFieldSpecGet(InternalRenderTask,InternalRenderTask,_canvasInUse).delete(this._canvas),this.callback())))}}var _canvasInUse={writable:!0,value:new WeakSet};const version="3.11.174";exports.version=version;const build="ce8716743";exports.build=build},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.SerializableEmpty=exports.PrintAnnotationStorage=exports.AnnotationStorage=void 0;var _util=__w_pdfjs_require__(1),_editor=__w_pdfjs_require__(4),_murmurhash=__w_pdfjs_require__(8);const SerializableEmpty=Object.freeze({map:null,hash:"",transfers:void 0});exports.SerializableEmpty=SerializableEmpty;var _modified=new WeakMap,_storage=new WeakMap,_setModified=new WeakSet;class AnnotationStorage{constructor(){_classPrivateMethodInitSpec(this,_setModified),_classPrivateFieldInitSpec(this,_modified,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_storage,{writable:!0,value:new Map}),this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(key,defaultValue){const value=_classPrivateFieldGet(this,_storage).get(key);return void 0===value?defaultValue:Object.assign(defaultValue,value)}getRawValue(key){return _classPrivateFieldGet(this,_storage).get(key)}remove(key){if(_classPrivateFieldGet(this,_storage).delete(key),0===_classPrivateFieldGet(this,_storage).size&&this.resetModified(),"function"==typeof this.onAnnotationEditor){for(const value of _classPrivateFieldGet(this,_storage).values())if(value instanceof _editor.AnnotationEditor)return;this.onAnnotationEditor(null)}}setValue(key,value){const obj=_classPrivateFieldGet(this,_storage).get(key);let modified=!1;if(void 0!==obj)for(const[entry,val]of Object.entries(value))obj[entry]!==val&&(modified=!0,obj[entry]=val);else modified=!0,_classPrivateFieldGet(this,_storage).set(key,value);modified&&_classPrivateMethodGet(this,_setModified,_setModified2).call(this),value instanceof _editor.AnnotationEditor&&"function"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(value.constructor._type)}has(key){return _classPrivateFieldGet(this,_storage).has(key)}getAll(){return _classPrivateFieldGet(this,_storage).size>0?(0,_util.objectFromMap)(_classPrivateFieldGet(this,_storage)):null}setAll(obj){for(const[key,val]of Object.entries(obj))this.setValue(key,val)}get size(){return _classPrivateFieldGet(this,_storage).size}resetModified(){_classPrivateFieldGet(this,_modified)&&(_classPrivateFieldSet(this,_modified,!1),"function"==typeof this.onResetModified&&this.onResetModified())}get print(){return new PrintAnnotationStorage(this)}get serializable(){if(0===_classPrivateFieldGet(this,_storage).size)return SerializableEmpty;const map=new Map,hash=new _murmurhash.MurmurHash3_64,transfers=[],context=Object.create(null);let hasBitmap=!1;for(const[key,val]of _classPrivateFieldGet(this,_storage)){const serialized=val instanceof _editor.AnnotationEditor?val.serialize(!1,context):val;serialized&&(map.set(key,serialized),hash.update("".concat(key,":").concat(JSON.stringify(serialized))),hasBitmap||(hasBitmap=!!serialized.bitmap))}if(hasBitmap)for(const value of map.values())value.bitmap&&transfers.push(value.bitmap);return map.size>0?{map:map,hash:hash.hexdigest(),transfers:transfers}:SerializableEmpty}}function _setModified2(){_classPrivateFieldGet(this,_modified)||(_classPrivateFieldSet(this,_modified,!0),"function"==typeof this.onSetModified&&this.onSetModified())}exports.AnnotationStorage=AnnotationStorage;var _serializable=new WeakMap;class PrintAnnotationStorage extends AnnotationStorage{constructor(parent){super(),_classPrivateFieldInitSpec(this,_serializable,{writable:!0,value:void 0});const{map:map,hash:hash,transfers:transfers}=parent.serializable,clone=structuredClone(map,transfers?{transfer:transfers}:null);_classPrivateFieldSet(this,_serializable,{map:clone,hash:hash,transfers:transfers})}get print(){(0,_util.unreachable)("Should not call PrintAnnotationStorage.print")}get serializable(){return _classPrivateFieldGet(this,_serializable)}}exports.PrintAnnotationStorage=PrintAnnotationStorage},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnnotationEditor=void 0;var _tools=__w_pdfjs_require__(5),_util=__w_pdfjs_require__(1),_display_utils=__w_pdfjs_require__(6),_altText=new WeakMap,_altTextDecorative=new WeakMap,_altTextButton=new WeakMap,_altTextTooltip=new WeakMap,_altTextTooltipTimeout=new WeakMap,_keepAspectRatio=new WeakMap,_resizersDiv=new WeakMap,_boundFocusin=new WeakMap,_boundFocusout=new WeakMap,_hasBeenClicked=new WeakMap,_isEditing=new WeakMap,_isInEditMode=new WeakMap,_isDraggable=new WeakMap,_zIndex=new WeakMap,_translate=new WeakSet,_getBaseTranslation=new WeakSet,_getRotationMatrix=new WeakSet,_createResizers=new WeakSet,_resizerPointerdown=new WeakSet,_resizerPointermove=new WeakSet,_setAltTextButtonState=new WeakSet,_setUpDragSession=new WeakSet;class AnnotationEditor{constructor(parameters){_classPrivateMethodInitSpec(this,_setUpDragSession),_classPrivateMethodInitSpec(this,_setAltTextButtonState),_classPrivateMethodInitSpec(this,_resizerPointermove),_classPrivateMethodInitSpec(this,_resizerPointerdown),_classPrivateMethodInitSpec(this,_createResizers),_classPrivateMethodInitSpec(this,_getRotationMatrix),_classPrivateMethodInitSpec(this,_getBaseTranslation),_classPrivateMethodInitSpec(this,_translate),_classPrivateFieldInitSpec(this,_altText,{writable:!0,value:""}),_classPrivateFieldInitSpec(this,_altTextDecorative,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_altTextButton,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_altTextTooltip,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_altTextTooltipTimeout,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_keepAspectRatio,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_resizersDiv,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_boundFocusin,{writable:!0,value:this.focusin.bind(this)}),_classPrivateFieldInitSpec(this,_boundFocusout,{writable:!0,value:this.focusout.bind(this)}),_classPrivateFieldInitSpec(this,_hasBeenClicked,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_isEditing,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_isInEditMode,{writable:!0,value:!1}),_defineProperty(this,"_initialOptions",Object.create(null)),_defineProperty(this,"_uiManager",null),_defineProperty(this,"_focusEventsAllowed",!0),_defineProperty(this,"_l10nPromise",null),_classPrivateFieldInitSpec(this,_isDraggable,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_zIndex,{writable:!0,value:AnnotationEditor._zIndex++}),this.constructor===AnnotationEditor&&(0,_util.unreachable)("Cannot initialize AnnotationEditor."),this.parent=parameters.parent,this.id=parameters.id,this.width=this.height=null,this.pageIndex=parameters.parent.pageIndex,this.name=parameters.name,this.div=null,this._uiManager=parameters.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=parameters.isCentered,this._structTreeParentId=null;const{rotation:_rotation,rawDims:{pageWidth:_pageWidth,pageHeight:_pageHeight,pageX:pageX,pageY:pageY}}=this.parent.viewport;this.rotation=_rotation,this.pageRotation=(360+_rotation-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[_pageWidth,_pageHeight],this.pageTranslation=[pageX,pageY];const[_width,_height]=this.parentDimensions;this.x=parameters.x/_width,this.y=parameters.y/_height,this.isAttachedToDOM=!1,this.deleted=!1}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return(0,_util.shadow)(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(editor){const fakeEditor=new FakeEditor({id:editor.parent.getNextId(),parent:editor.parent,uiManager:editor._uiManager});fakeEditor.annotationElementId=editor.annotationElementId,fakeEditor.deleted=!0,fakeEditor._uiManager.addToAnnotationStorage(fakeEditor)}static initialize(l10n){let options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(AnnotationEditor._l10nPromise||(AnnotationEditor._l10nPromise=new Map(["editor_alt_text_button_label","editor_alt_text_edit_button_label","editor_alt_text_decorative_tooltip"].map((str=>[str,l10n.get(str)])))),null!=options&&options.strings)for(const str of options.strings)AnnotationEditor._l10nPromise.set(str,l10n.get(str));if(-1!==AnnotationEditor._borderLineWidth)return;const style=getComputedStyle(document.documentElement);AnnotationEditor._borderLineWidth=parseFloat(style.getPropertyValue("--outline-width"))||0}static updateDefaultParams(_type,_value){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(mime){return!1}static paste(item,parent){(0,_util.unreachable)("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return _classPrivateFieldGet(this,_isDraggable)}set _isDraggable(value){var _this$div;_classPrivateFieldSet(this,_isDraggable,value),null===(_this$div=this.div)||void 0===_this$div||_this$div.classList.toggle("draggable",value)}center(){const[pageWidth,pageHeight]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*pageHeight/(2*pageWidth),this.y+=this.width*pageWidth/(2*pageHeight);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*pageHeight/(2*pageWidth),this.y-=this.width*pageWidth/(2*pageHeight);break;default:this.x-=this.width/2,this.y-=this.height/2}this.fixAndSetPosition()}addCommands(params){this._uiManager.addCommands(params)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=_classPrivateFieldGet(this,_zIndex)}setParent(parent){null!==parent&&(this.pageIndex=parent.pageIndex,this.pageDimensions=parent.pageDimensions),this.parent=parent}focusin(event){this._focusEventsAllowed&&(_classPrivateFieldGet(this,_hasBeenClicked)?_classPrivateFieldSet(this,_hasBeenClicked,!1):this.parent.setSelected(this))}focusout(event){var _this$parent;if(!this._focusEventsAllowed)return;if(!this.isAttachedToDOM)return;const target=event.relatedTarget;null!=target&&target.closest("#".concat(this.id))||(event.preventDefault(),null!==(_this$parent=this.parent)&&void 0!==_this$parent&&_this$parent.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(x,y,tx,ty){const[width,height]=this.parentDimensions;[tx,ty]=this.screenToPageTranslation(tx,ty),this.x=(x+tx)/width,this.y=(y+ty)/height,this.fixAndSetPosition()}translate(x,y){_classPrivateMethodGet(this,_translate,_translate2).call(this,this.parentDimensions,x,y)}translateInPage(x,y){_classPrivateMethodGet(this,_translate,_translate2).call(this,this.pageDimensions,x,y),this.div.scrollIntoView({block:"nearest"})}drag(tx,ty){const[parentWidth,parentHeight]=this.parentDimensions;if(this.x+=tx/parentWidth,this.y+=ty/parentHeight,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:x,y:y}=this.div.getBoundingClientRect();this.parent.findNewParent(this,x,y)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:x,y:y}=this;const[bx,by]=_classPrivateMethodGet(this,_getBaseTranslation,_getBaseTranslation2).call(this);x+=bx,y+=by,this.div.style.left="".concat((100*x).toFixed(2),"%"),this.div.style.top="".concat((100*y).toFixed(2),"%"),this.div.scrollIntoView({block:"nearest"})}fixAndSetPosition(){const[pageWidth,pageHeight]=this.pageDimensions;let{x:x,y:y,width:width,height:height}=this;switch(width*=pageWidth,height*=pageHeight,x*=pageWidth,y*=pageHeight,this.rotation){case 0:x=Math.max(0,Math.min(pageWidth-width,x)),y=Math.max(0,Math.min(pageHeight-height,y));break;case 90:x=Math.max(0,Math.min(pageWidth-height,x)),y=Math.min(pageHeight,Math.max(width,y));break;case 180:x=Math.min(pageWidth,Math.max(width,x)),y=Math.min(pageHeight,Math.max(height,y));break;case 270:x=Math.min(pageWidth,Math.max(height,x)),y=Math.max(0,Math.min(pageHeight-width,y))}this.x=x/=pageWidth,this.y=y/=pageHeight;const[bx,by]=_classPrivateMethodGet(this,_getBaseTranslation,_getBaseTranslation2).call(this);x+=bx,y+=by;const{style:style}=this.div;style.left="".concat((100*x).toFixed(2),"%"),style.top="".concat((100*y).toFixed(2),"%"),this.moveInDOM()}screenToPageTranslation(x,y){return _classStaticPrivateMethodGet(AnnotationEditor,AnnotationEditor,_rotatePoint).call(AnnotationEditor,x,y,this.parentRotation)}pageTranslationToScreen(x,y){return _classStaticPrivateMethodGet(AnnotationEditor,AnnotationEditor,_rotatePoint).call(AnnotationEditor,x,y,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:parentScale,pageDimensions:[pageWidth,pageHeight]}=this,scaledWidth=pageWidth*parentScale,scaledHeight=pageHeight*parentScale;return _util.FeatureTest.isCSSRoundSupported?[Math.round(scaledWidth),Math.round(scaledHeight)]:[scaledWidth,scaledHeight]}setDims(width,height){var _classPrivateFieldGet4;const[parentWidth,parentHeight]=this.parentDimensions;this.div.style.width="".concat((100*width/parentWidth).toFixed(2),"%"),_classPrivateFieldGet(this,_keepAspectRatio)||(this.div.style.height="".concat((100*height/parentHeight).toFixed(2),"%")),null===(_classPrivateFieldGet4=_classPrivateFieldGet(this,_altTextButton))||void 0===_classPrivateFieldGet4||_classPrivateFieldGet4.classList.toggle("small",widthevent.stopPropagation())),altText.addEventListener("click",(event=>{event.preventDefault(),this._uiManager.editAltText(this)}),{capture:!0}),altText.addEventListener("keydown",(event=>{event.target===altText&&"Enter"===event.key&&(event.preventDefault(),this._uiManager.editAltText(this))})),_classPrivateMethodGet(this,_setAltTextButtonState,_setAltTextButtonState2).call(this),this.div.append(altText),!AnnotationEditor.SMALL_EDITOR_SIZE){const PERCENT=40;AnnotationEditor.SMALL_EDITOR_SIZE=Math.min(128,Math.round(altText.getBoundingClientRect().width*(1+PERCENT/100)))}}getClientDimensions(){return this.div.getBoundingClientRect()}get altTextData(){return{altText:_classPrivateFieldGet(this,_altText),decorative:_classPrivateFieldGet(this,_altTextDecorative)}}set altTextData(_ref15){let{altText:altText,decorative:decorative}=_ref15;_classPrivateFieldGet(this,_altText)===altText&&_classPrivateFieldGet(this,_altTextDecorative)===decorative||(_classPrivateFieldSet(this,_altText,altText),_classPrivateFieldSet(this,_altTextDecorative,decorative),_classPrivateMethodGet(this,_setAltTextButtonState,_setAltTextButtonState2).call(this))}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",_classPrivateFieldGet(this,_boundFocusin)),this.div.addEventListener("focusout",_classPrivateFieldGet(this,_boundFocusout));const[parentWidth,parentHeight]=this.parentDimensions;this.parentRotation%180!=0&&(this.div.style.maxWidth="".concat((100*parentHeight/parentWidth).toFixed(2),"%"),this.div.style.maxHeight="".concat((100*parentWidth/parentHeight).toFixed(2),"%"));const[tx,ty]=this.getInitialTranslation();return this.translate(tx,ty),(0,_tools.bindEvents)(this,this.div,["pointerdown"]),this.div}pointerdown(event){const{isMac:isMac}=_util.FeatureTest.platform;0!==event.button||event.ctrlKey&&isMac?event.preventDefault():(_classPrivateFieldSet(this,_hasBeenClicked,!0),_classPrivateMethodGet(this,_setUpDragSession,_setUpDragSession2).call(this,event))}moveInDOM(){var _this$parent2;null===(_this$parent2=this.parent)||void 0===_this$parent2||_this$parent2.moveEditorInDOM(this)}_setParentAndPosition(parent,x,y){parent.changeParent(this),this.x=x,this.y=y,this.fixAndSetPosition()}getRect(tx,ty){const scale=this.parentScale,[pageWidth,pageHeight]=this.pageDimensions,[pageX,pageY]=this.pageTranslation,shiftX=tx/scale,shiftY=ty/scale,x=this.x*pageWidth,y=this.y*pageHeight,width=this.width*pageWidth,height=this.height*pageHeight;switch(this.rotation){case 0:return[x+shiftX+pageX,pageHeight-y-shiftY-height+pageY,x+shiftX+width+pageX,pageHeight-y-shiftY+pageY];case 90:return[x+shiftY+pageX,pageHeight-y+shiftX+pageY,x+shiftY+height+pageX,pageHeight-y+shiftX+width+pageY];case 180:return[x-shiftX-width+pageX,pageHeight-y+shiftY+pageY,x-shiftX+pageX,pageHeight-y+shiftY+height+pageY];case 270:return[x-shiftY-height+pageX,pageHeight-y-shiftX-width+pageY,x-shiftY+pageX,pageHeight-y-shiftX+pageY];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(rect,pageHeight){const[x1,y1,x2,y2]=rect,width=x2-x1,height=y2-y1;switch(this.rotation){case 0:return[x1,pageHeight-y2,width,height];case 90:return[x1,pageHeight-y1,height,width];case 180:return[x2,pageHeight-y1,width,height];case 270:return[x2,pageHeight-y2,height,width];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){_classPrivateFieldSet(this,_isInEditMode,!0)}disableEditMode(){_classPrivateFieldSet(this,_isInEditMode,!1)}isInEditMode(){return _classPrivateFieldGet(this,_isInEditMode)}shouldGetKeyboardEvents(){return!1}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){var _this$div2,_this$div3;null===(_this$div2=this.div)||void 0===_this$div2||_this$div2.addEventListener("focusin",_classPrivateFieldGet(this,_boundFocusin)),null===(_this$div3=this.div)||void 0===_this$div3||_this$div3.addEventListener("focusout",_classPrivateFieldGet(this,_boundFocusout))}serialize(){(0,_util.unreachable)("An editor must be serializable")}static deserialize(data,parent,uiManager){const editor=new this.prototype.constructor({parent:parent,id:parent.getNextId(),uiManager:uiManager});editor.rotation=data.rotation;const[pageWidth,pageHeight]=editor.pageDimensions,[x,y,width,height]=editor.getRectInCurrentCoords(data.rect,pageHeight);return editor.x=x/pageWidth,editor.y=y/pageHeight,editor.width=width/pageWidth,editor.height=height/pageHeight,editor}remove(){var _classPrivateFieldGet5;this.div.removeEventListener("focusin",_classPrivateFieldGet(this,_boundFocusin)),this.div.removeEventListener("focusout",_classPrivateFieldGet(this,_boundFocusout)),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),null===(_classPrivateFieldGet5=_classPrivateFieldGet(this,_altTextButton))||void 0===_classPrivateFieldGet5||_classPrivateFieldGet5.remove(),_classPrivateFieldSet(this,_altTextButton,null),_classPrivateFieldSet(this,_altTextTooltip,null)}get isResizable(){return!1}makeResizable(){this.isResizable&&(_classPrivateMethodGet(this,_createResizers,_createResizers2).call(this),_classPrivateFieldGet(this,_resizersDiv).classList.remove("hidden"))}select(){var _this$div4;this.makeResizable(),null===(_this$div4=this.div)||void 0===_this$div4||_this$div4.classList.add("selectedEditor")}unselect(){var _classPrivateFieldGet6,_this$div5,_this$div6;null===(_classPrivateFieldGet6=_classPrivateFieldGet(this,_resizersDiv))||void 0===_classPrivateFieldGet6||_classPrivateFieldGet6.classList.add("hidden"),null===(_this$div5=this.div)||void 0===_this$div5||_this$div5.classList.remove("selectedEditor"),null!==(_this$div6=this.div)&&void 0!==_this$div6&&_this$div6.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus()}updateParams(type,value){}disableEditing(){_classPrivateFieldGet(this,_altTextButton)&&(_classPrivateFieldGet(this,_altTextButton).hidden=!0)}enableEditing(){_classPrivateFieldGet(this,_altTextButton)&&(_classPrivateFieldGet(this,_altTextButton).hidden=!1)}enterInEditMode(){}get contentDiv(){return this.div}get isEditing(){return _classPrivateFieldGet(this,_isEditing)}set isEditing(value){_classPrivateFieldSet(this,_isEditing,value),this.parent&&(value?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(width,height){_classPrivateFieldSet(this,_keepAspectRatio,!0);const aspectRatio=width/height,{style:style}=this.div;style.aspectRatio=aspectRatio,style.height="auto"}static get MIN_SIZE(){return 16}}function _translate2(_ref16,x,y){let[width,height]=_ref16;[x,y]=this.screenToPageTranslation(x,y),this.x+=x/width,this.y+=y/height,this.fixAndSetPosition()}function _getBaseTranslation2(){const[parentWidth,parentHeight]=this.parentDimensions,{_borderLineWidth:_borderLineWidth}=AnnotationEditor,x=_borderLineWidth/parentWidth,y=_borderLineWidth/parentHeight;switch(this.rotation){case 90:return[-x,y];case 180:return[x,y];case 270:return[x,-y];default:return[-x,-y]}}function _rotatePoint(x,y,angle){switch(angle){case 90:return[y,-x];case 180:return[-x,-y];case 270:return[-y,x];default:return[x,y]}}function _getRotationMatrix2(rotation){switch(rotation){case 90:{const[pageWidth,pageHeight]=this.pageDimensions;return[0,-pageWidth/pageHeight,pageHeight/pageWidth,0]}case 180:return[-1,0,0,-1];case 270:{const[pageWidth,pageHeight]=this.pageDimensions;return[0,pageWidth/pageHeight,-pageHeight/pageWidth,0]}default:return[1,0,0,1]}}function _createResizers2(){if(_classPrivateFieldGet(this,_resizersDiv))return;_classPrivateFieldSet(this,_resizersDiv,document.createElement("div")),_classPrivateFieldGet(this,_resizersDiv).classList.add("resizers");const classes=["topLeft","topRight","bottomRight","bottomLeft"];this._willKeepAspectRatio||classes.push("topMiddle","middleRight","bottomMiddle","middleLeft");for(const name of classes){const div=document.createElement("div");_classPrivateFieldGet(this,_resizersDiv).append(div),div.classList.add("resizer",name),div.addEventListener("pointerdown",_classPrivateMethodGet(this,_resizerPointerdown,_resizerPointerdown2).bind(this,name)),div.addEventListener("contextmenu",_display_utils.noContextMenu)}this.div.prepend(_classPrivateFieldGet(this,_resizersDiv))}function _resizerPointerdown2(name,event){event.preventDefault();const{isMac:isMac}=_util.FeatureTest.platform;if(0!==event.button||event.ctrlKey&&isMac)return;const boundResizerPointermove=_classPrivateMethodGet(this,_resizerPointermove,_resizerPointermove2).bind(this,name),savedDraggable=this._isDraggable;this._isDraggable=!1;const pointerMoveOptions={passive:!0,capture:!0};window.addEventListener("pointermove",boundResizerPointermove,pointerMoveOptions);const savedX=this.x,savedY=this.y,savedWidth=this.width,savedHeight=this.height,savedParentCursor=this.parent.div.style.cursor,savedCursor=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(event.target).cursor;const pointerUpCallback=()=>{this._isDraggable=savedDraggable,window.removeEventListener("pointerup",pointerUpCallback),window.removeEventListener("blur",pointerUpCallback),window.removeEventListener("pointermove",boundResizerPointermove,pointerMoveOptions),this.parent.div.style.cursor=savedParentCursor,this.div.style.cursor=savedCursor;const newX=this.x,newY=this.y,newWidth=this.width,newHeight=this.height;newX===savedX&&newY===savedY&&newWidth===savedWidth&&newHeight===savedHeight||this.addCommands({cmd:()=>{this.width=newWidth,this.height=newHeight,this.x=newX,this.y=newY;const[parentWidth,parentHeight]=this.parentDimensions;this.setDims(parentWidth*newWidth,parentHeight*newHeight),this.fixAndSetPosition()},undo:()=>{this.width=savedWidth,this.height=savedHeight,this.x=savedX,this.y=savedY;const[parentWidth,parentHeight]=this.parentDimensions;this.setDims(parentWidth*savedWidth,parentHeight*savedHeight),this.fixAndSetPosition()},mustExec:!0})};window.addEventListener("pointerup",pointerUpCallback),window.addEventListener("blur",pointerUpCallback)}function _resizerPointermove2(name,event){const[parentWidth,parentHeight]=this.parentDimensions,savedX=this.x,savedY=this.y,savedWidth=this.width,savedHeight=this.height,minWidth=AnnotationEditor.MIN_SIZE/parentWidth,minHeight=AnnotationEditor.MIN_SIZE/parentHeight,round=x=>Math.round(1e4*x)/1e4,rotationMatrix=_classPrivateMethodGet(this,_getRotationMatrix,_getRotationMatrix2).call(this,this.rotation),transf=(x,y)=>[rotationMatrix[0]*x+rotationMatrix[2]*y,rotationMatrix[1]*x+rotationMatrix[3]*y],invRotationMatrix=_classPrivateMethodGet(this,_getRotationMatrix,_getRotationMatrix2).call(this,360-this.rotation);let getPoint,getOpposite,isDiagonal=!1,isHorizontal=!1;switch(name){case"topLeft":isDiagonal=!0,getPoint=(w,h)=>[0,0],getOpposite=(w,h)=>[w,h];break;case"topMiddle":getPoint=(w,h)=>[w/2,0],getOpposite=(w,h)=>[w/2,h];break;case"topRight":isDiagonal=!0,getPoint=(w,h)=>[w,0],getOpposite=(w,h)=>[0,h];break;case"middleRight":isHorizontal=!0,getPoint=(w,h)=>[w,h/2],getOpposite=(w,h)=>[0,h/2];break;case"bottomRight":isDiagonal=!0,getPoint=(w,h)=>[w,h],getOpposite=(w,h)=>[0,0];break;case"bottomMiddle":getPoint=(w,h)=>[w/2,h],getOpposite=(w,h)=>[w/2,0];break;case"bottomLeft":isDiagonal=!0,getPoint=(w,h)=>[0,h],getOpposite=(w,h)=>[w,0];break;case"middleLeft":isHorizontal=!0,getPoint=(w,h)=>[0,h/2],getOpposite=(w,h)=>[w,h/2]}const point=getPoint(savedWidth,savedHeight),oppositePoint=getOpposite(savedWidth,savedHeight);let transfOppositePoint=transf(...oppositePoint);const oppositeX=round(savedX+transfOppositePoint[0]),oppositeY=round(savedY+transfOppositePoint[1]);let ratioX=1,ratioY=1,[deltaX,deltaY]=this.screenToPageTranslation(event.movementX,event.movementY);var x,y;if([deltaX,deltaY]=(x=deltaX/parentWidth,y=deltaY/parentHeight,[invRotationMatrix[0]*x+invRotationMatrix[2]*y,invRotationMatrix[1]*x+invRotationMatrix[3]*y]),isDiagonal){const oldDiag=Math.hypot(savedWidth,savedHeight);ratioX=ratioY=Math.max(Math.min(Math.hypot(oppositePoint[0]-point[0]-deltaX,oppositePoint[1]-point[1]-deltaY)/oldDiag,1/savedWidth,1/savedHeight),minWidth/savedWidth,minHeight/savedHeight)}else isHorizontal?ratioX=Math.max(minWidth,Math.min(1,Math.abs(oppositePoint[0]-point[0]-deltaX)))/savedWidth:ratioY=Math.max(minHeight,Math.min(1,Math.abs(oppositePoint[1]-point[1]-deltaY)))/savedHeight;const newWidth=round(savedWidth*ratioX),newHeight=round(savedHeight*ratioY);transfOppositePoint=transf(...getOpposite(newWidth,newHeight));const newX=oppositeX-transfOppositePoint[0],newY=oppositeY-transfOppositePoint[1];this.width=newWidth,this.height=newHeight,this.x=newX,this.y=newY,this.setDims(parentWidth*newWidth,parentHeight*newHeight),this.fixAndSetPosition()}async function _setAltTextButtonState2(){const button=_classPrivateFieldGet(this,_altTextButton);if(!button)return;var _classPrivateFieldGet7;if(!_classPrivateFieldGet(this,_altText)&&!_classPrivateFieldGet(this,_altTextDecorative))return button.classList.remove("done"),void(null===(_classPrivateFieldGet7=_classPrivateFieldGet(this,_altTextTooltip))||void 0===_classPrivateFieldGet7||_classPrivateFieldGet7.remove());AnnotationEditor._l10nPromise.get("editor_alt_text_edit_button_label").then((msg=>{button.setAttribute("aria-label",msg)}));let tooltip=_classPrivateFieldGet(this,_altTextTooltip);if(!tooltip){_classPrivateFieldSet(this,_altTextTooltip,tooltip=document.createElement("span")),tooltip.className="tooltip",tooltip.setAttribute("role","tooltip");const id=tooltip.id="alt-text-tooltip-".concat(this.id);button.setAttribute("aria-describedby",id);const DELAY_TO_SHOW_TOOLTIP=100;button.addEventListener("mouseenter",(()=>{_classPrivateFieldSet(this,_altTextTooltipTimeout,setTimeout((()=>{_classPrivateFieldSet(this,_altTextTooltipTimeout,null),_classPrivateFieldGet(this,_altTextTooltip).classList.add("show"),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",subtype:this.editorType,data:{action:"alt_text_tooltip"}}})}),DELAY_TO_SHOW_TOOLTIP))})),button.addEventListener("mouseleave",(()=>{var _classPrivateFieldGet8;clearTimeout(_classPrivateFieldGet(this,_altTextTooltipTimeout)),_classPrivateFieldSet(this,_altTextTooltipTimeout,null),null===(_classPrivateFieldGet8=_classPrivateFieldGet(this,_altTextTooltip))||void 0===_classPrivateFieldGet8||_classPrivateFieldGet8.classList.remove("show")}))}button.classList.add("done"),tooltip.innerText=_classPrivateFieldGet(this,_altTextDecorative)?await AnnotationEditor._l10nPromise.get("editor_alt_text_decorative_tooltip"):_classPrivateFieldGet(this,_altText),tooltip.parentNode||button.append(tooltip)}function _setUpDragSession2(event){if(!this._isDraggable)return;const isSelected=this._uiManager.isSelected(this);let pointerMoveOptions,pointerMoveCallback;this._uiManager.setUpDragSession(),isSelected&&(pointerMoveOptions={passive:!0,capture:!0},pointerMoveCallback=e=>{const[tx,ty]=this.screenToPageTranslation(e.movementX,e.movementY);this._uiManager.dragSelectedEditors(tx,ty)},window.addEventListener("pointermove",pointerMoveCallback,pointerMoveOptions));const pointerUpCallback=()=>{if(window.removeEventListener("pointerup",pointerUpCallback),window.removeEventListener("blur",pointerUpCallback),isSelected&&window.removeEventListener("pointermove",pointerMoveCallback,pointerMoveOptions),_classPrivateFieldSet(this,_hasBeenClicked,!1),!this._uiManager.endDragSession()){const{isMac:isMac}=_util.FeatureTest.platform;event.ctrlKey&&!isMac||event.shiftKey||event.metaKey&&isMac?this.parent.toggleSelected(this):this.parent.setSelected(this)}};window.addEventListener("pointerup",pointerUpCallback),window.addEventListener("blur",pointerUpCallback)}_defineProperty(AnnotationEditor,"_borderLineWidth",-1),_defineProperty(AnnotationEditor,"_colorManager",new _tools.ColorManager),_defineProperty(AnnotationEditor,"_zIndex",1),_defineProperty(AnnotationEditor,"SMALL_EDITOR_SIZE",0),exports.AnnotationEditor=AnnotationEditor;class FakeEditor extends AnnotationEditor{constructor(params){super(params),this.annotationElementId=params.annotationElementId,this.deleted=!0}serialize(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex}}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.KeyboardManager=exports.CommandManager=exports.ColorManager=exports.AnnotationEditorUIManager=void 0,exports.bindEvents=function(obj,element,names){for(const name of names)element.addEventListener(name,obj[name].bind(obj))},exports.opacityToHex=function(opacity){return Math.round(Math.min(255,Math.max(1,255*opacity))).toString(16).padStart(2,"0")};var _util=__w_pdfjs_require__(1),_display_utils=__w_pdfjs_require__(6),_id=new WeakMap;class IdManager{constructor(){_classPrivateFieldInitSpec(this,_id,{writable:!0,value:0})}getId(){var _this$id;return"".concat(_util.AnnotationEditorPrefix).concat((_classPrivateFieldSet(this,_id,1+(_this$id=+_classPrivateFieldGet(this,_id))),_this$id))}}var _baseId=new WeakMap,_id2=new WeakMap,_cache=new WeakMap,_get=new WeakSet;class ImageManager{constructor(){_classPrivateMethodInitSpec(this,_get),_classPrivateFieldInitSpec(this,_baseId,{writable:!0,value:(0,_util.getUuid)()}),_classPrivateFieldInitSpec(this,_id2,{writable:!0,value:0}),_classPrivateFieldInitSpec(this,_cache,{writable:!0,value:null})}static get _isSVGFittingCanvas(){const ctx=new OffscreenCanvas(1,3).getContext("2d"),image=new Image;image.src='data:image/svg+xml;charset=UTF-8,';const promise=image.decode().then((()=>(ctx.drawImage(image,0,0,1,1,0,0,1,3),0===new Uint32Array(ctx.getImageData(0,0,1,1).data.buffer)[0])));return(0,_util.shadow)(this,"_isSVGFittingCanvas",promise)}async getFromFile(file){const{lastModified:lastModified,name:name,size:size,type:type}=file;return _classPrivateMethodGet(this,_get,_get2).call(this,"".concat(lastModified,"_").concat(name,"_").concat(size,"_").concat(type),file)}async getFromUrl(url){return _classPrivateMethodGet(this,_get,_get2).call(this,url,url)}async getFromId(id){_classPrivateFieldGet(this,_cache)||_classPrivateFieldSet(this,_cache,new Map);const data=_classPrivateFieldGet(this,_cache).get(id);return data?data.bitmap?(data.refCounter+=1,data):data.file?this.getFromFile(data.file):this.getFromUrl(data.url):null}getSvgUrl(id){const data=_classPrivateFieldGet(this,_cache).get(id);return null!=data&&data.isSvg?data.svgUrl:null}deleteId(id){_classPrivateFieldGet(this,_cache)||_classPrivateFieldSet(this,_cache,new Map);const data=_classPrivateFieldGet(this,_cache).get(id);data&&(data.refCounter-=1,0===data.refCounter&&(data.bitmap=null))}isValidId(id){return id.startsWith("image_".concat(_classPrivateFieldGet(this,_baseId),"_"))}}async function _get2(key,rawData){var _data;_classPrivateFieldGet(this,_cache)||_classPrivateFieldSet(this,_cache,new Map);let data=_classPrivateFieldGet(this,_cache).get(key);if(null===data)return null;if(null!==(_data=data)&&void 0!==_data&&_data.bitmap)return data.refCounter+=1,data;try{var _this$id2;let image;if(data||(data={bitmap:null,id:"image_".concat(_classPrivateFieldGet(this,_baseId),"_").concat((_classPrivateFieldSet(this,_id2,1+(_this$id2=+_classPrivateFieldGet(this,_id2))),_this$id2)),refCounter:0,isSvg:!1}),"string"==typeof rawData){data.url=rawData;const response=await fetch(rawData);if(!response.ok)throw new Error(response.statusText);image=await response.blob()}else image=data.file=rawData;if("image/svg+xml"===image.type){const mustRemoveAspectRatioPromise=ImageManager._isSVGFittingCanvas,fileReader=new FileReader,imageElement=new Image,imagePromise=new Promise(((resolve,reject)=>{imageElement.onload=()=>{data.bitmap=imageElement,data.isSvg=!0,resolve()},fileReader.onload=async()=>{const url=data.svgUrl=fileReader.result;imageElement.src=await mustRemoveAspectRatioPromise?"".concat(url,"#svgView(preserveAspectRatio(none))"):url},imageElement.onerror=fileReader.onerror=reject}));fileReader.readAsDataURL(image),await imagePromise}else data.bitmap=await createImageBitmap(image);data.refCounter=1}catch(e){console.error(e),data=null}return _classPrivateFieldGet(this,_cache).set(key,data),data&&_classPrivateFieldGet(this,_cache).set(data.id,data),data}var _commands=new WeakMap,_locked=new WeakMap,_maxSize=new WeakMap,_position=new WeakMap;class CommandManager{constructor(){let maxSize=arguments.length>0&&void 0!==arguments[0]?arguments[0]:128;_classPrivateFieldInitSpec(this,_commands,{writable:!0,value:[]}),_classPrivateFieldInitSpec(this,_locked,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_maxSize,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_position,{writable:!0,value:-1}),_classPrivateFieldSet(this,_maxSize,maxSize)}add(_ref17){let{cmd:cmd,undo:undo,mustExec:mustExec,type:type=NaN,overwriteIfSameType:overwriteIfSameType=!1,keepUndo:keepUndo=!1}=_ref17;if(mustExec&&cmd(),_classPrivateFieldGet(this,_locked))return;const save={cmd:cmd,undo:undo,type:type};if(-1===_classPrivateFieldGet(this,_position))return _classPrivateFieldGet(this,_commands).length>0&&(_classPrivateFieldGet(this,_commands).length=0),_classPrivateFieldSet(this,_position,0),void _classPrivateFieldGet(this,_commands).push(save);if(overwriteIfSameType&&_classPrivateFieldGet(this,_commands)[_classPrivateFieldGet(this,_position)].type===type)return keepUndo&&(save.undo=_classPrivateFieldGet(this,_commands)[_classPrivateFieldGet(this,_position)].undo),void(_classPrivateFieldGet(this,_commands)[_classPrivateFieldGet(this,_position)]=save);const next=_classPrivateFieldGet(this,_position)+1;next===_classPrivateFieldGet(this,_maxSize)?_classPrivateFieldGet(this,_commands).splice(0,1):(_classPrivateFieldSet(this,_position,next),next<_classPrivateFieldGet(this,_commands).length&&_classPrivateFieldGet(this,_commands).splice(next)),_classPrivateFieldGet(this,_commands).push(save)}undo(){-1!==_classPrivateFieldGet(this,_position)&&(_classPrivateFieldSet(this,_locked,!0),_classPrivateFieldGet(this,_commands)[_classPrivateFieldGet(this,_position)].undo(),_classPrivateFieldSet(this,_locked,!1),_classPrivateFieldSet(this,_position,_classPrivateFieldGet(this,_position)-1))}redo(){_classPrivateFieldGet(this,_position)<_classPrivateFieldGet(this,_commands).length-1&&(_classPrivateFieldSet(this,_position,_classPrivateFieldGet(this,_position)+1),_classPrivateFieldSet(this,_locked,!0),_classPrivateFieldGet(this,_commands)[_classPrivateFieldGet(this,_position)].cmd(),_classPrivateFieldSet(this,_locked,!1))}hasSomethingToUndo(){return-1!==_classPrivateFieldGet(this,_position)}hasSomethingToRedo(){return _classPrivateFieldGet(this,_position)<_classPrivateFieldGet(this,_commands).length-1}destroy(){_classPrivateFieldSet(this,_commands,null)}}exports.CommandManager=CommandManager;var _serialize=new WeakSet;class KeyboardManager{constructor(callbacks){_classPrivateMethodInitSpec(this,_serialize),this.buffer=[],this.callbacks=new Map,this.allKeys=new Set;const{isMac:isMac}=_util.FeatureTest.platform;for(const[keys,callback,options={}]of callbacks)for(const key of keys){const isMacKey=key.startsWith("mac+");isMac&&isMacKey?(this.callbacks.set(key.slice(4),{callback:callback,options:options}),this.allKeys.add(key.split("+").at(-1))):isMac||isMacKey||(this.callbacks.set(key,{callback:callback,options:options}),this.allKeys.add(key.split("+").at(-1)))}}exec(self,event){if(!this.allKeys.has(event.key))return;const info=this.callbacks.get(_classPrivateMethodGet(this,_serialize,_serialize2).call(this,event));if(!info)return;const{callback:callback,options:{bubbles:bubbles=!1,args:args=[],checker:checker=null}}=info;checker&&!checker(self,event)||(callback.bind(self,...args)(),bubbles||(event.stopPropagation(),event.preventDefault()))}}function _serialize2(event){event.altKey&&this.buffer.push("alt"),event.ctrlKey&&this.buffer.push("ctrl"),event.metaKey&&this.buffer.push("meta"),event.shiftKey&&this.buffer.push("shift"),this.buffer.push(event.key);const str=this.buffer.join("+");return this.buffer.length=0,str}exports.KeyboardManager=KeyboardManager;class ColorManager{get _colors(){const colors=new Map([["CanvasText",null],["Canvas",null]]);return(0,_display_utils.getColorValues)(colors),(0,_util.shadow)(this,"_colors",colors)}convert(color){const rgb=(0,_display_utils.getRGB)(color);if(!window.matchMedia("(forced-colors: active)").matches)return rgb;for(const[name,RGB]of this._colors)if(RGB.every(((x,i)=>x===rgb[i])))return ColorManager._colorsMapping.get(name);return rgb}getHexCode(name){const rgb=this._colors.get(name);return rgb?_util.Util.makeHexColor(...rgb):name}}_defineProperty(ColorManager,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]])),exports.ColorManager=ColorManager;var _activeEditor=new WeakMap,_allEditors=new WeakMap,_allLayers=new WeakMap,_altTextManager=new WeakMap,_annotationStorage=new WeakMap,_commandManager=new WeakMap,_currentPageIndex=new WeakMap,_deletedAnnotationsElementIds=new WeakMap,_draggingEditors=new WeakMap,_editorTypes=new WeakMap,_editorsToRescale=new WeakMap,_filterFactory=new WeakMap,_idManager=new WeakMap,_isEnabled=new WeakMap,_isWaiting=new WeakMap,_lastActiveElement=new WeakMap,_mode=new WeakMap,_selectedEditors=new WeakMap,_pageColors=new WeakMap,_boundBlur=new WeakMap,_boundFocus=new WeakMap,_boundCopy=new WeakMap,_boundCut=new WeakMap,_boundPaste=new WeakMap,_boundKeydown=new WeakMap,_boundOnEditingAction=new WeakMap,_boundOnPageChanging=new WeakMap,_boundOnScaleChanging=new WeakMap,_boundOnRotationChanging=new WeakMap,_previousStates=new WeakMap,_translation=new WeakMap,_translationTimeoutId=new WeakMap,_container=new WeakMap,_viewer=new WeakMap,_addFocusManager=new WeakSet,_removeFocusManager=new WeakSet,_addKeyboardManager=new WeakSet,_removeKeyboardManager=new WeakSet,_addCopyPasteListeners=new WeakSet,_removeCopyPasteListeners=new WeakSet,_dispatchUpdateStates=new WeakSet,_dispatchUpdateUI=new WeakSet,_enableAll=new WeakSet,_disableAll=new WeakSet,_addEditorToLayer=new WeakSet,_isEmpty=new WeakSet,_selectEditors=new WeakSet;class AnnotationEditorUIManager{static get _keyboardManager(){const proto=AnnotationEditorUIManager.prototype,arrowChecker=self=>{const{activeElement:activeElement}=document;return activeElement&&_classPrivateFieldGet(self,_container).contains(activeElement)&&self.hasSomethingToControl()},small=this.TRANSLATE_SMALL,big=this.TRANSLATE_BIG;return(0,_util.shadow)(this,"_keyboardManager",new KeyboardManager([[["ctrl+a","mac+meta+a"],proto.selectAll],[["ctrl+z","mac+meta+z"],proto.undo],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],proto.redo],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],proto.delete],[["Escape","mac+Escape"],proto.unselectAll],[["ArrowLeft","mac+ArrowLeft"],proto.translateSelectedEditors,{args:[-small,0],checker:arrowChecker}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],proto.translateSelectedEditors,{args:[-big,0],checker:arrowChecker}],[["ArrowRight","mac+ArrowRight"],proto.translateSelectedEditors,{args:[small,0],checker:arrowChecker}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],proto.translateSelectedEditors,{args:[big,0],checker:arrowChecker}],[["ArrowUp","mac+ArrowUp"],proto.translateSelectedEditors,{args:[0,-small],checker:arrowChecker}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],proto.translateSelectedEditors,{args:[0,-big],checker:arrowChecker}],[["ArrowDown","mac+ArrowDown"],proto.translateSelectedEditors,{args:[0,small],checker:arrowChecker}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],proto.translateSelectedEditors,{args:[0,big],checker:arrowChecker}]]))}constructor(container,viewer,altTextManager,eventBus,pdfDocument,pageColors){_classPrivateMethodInitSpec(this,_selectEditors),_classPrivateMethodInitSpec(this,_isEmpty),_classPrivateMethodInitSpec(this,_addEditorToLayer),_classPrivateMethodInitSpec(this,_disableAll),_classPrivateMethodInitSpec(this,_enableAll),_classPrivateMethodInitSpec(this,_dispatchUpdateUI),_classPrivateMethodInitSpec(this,_dispatchUpdateStates),_classPrivateMethodInitSpec(this,_removeCopyPasteListeners),_classPrivateMethodInitSpec(this,_addCopyPasteListeners),_classPrivateMethodInitSpec(this,_removeKeyboardManager),_classPrivateMethodInitSpec(this,_addKeyboardManager),_classPrivateMethodInitSpec(this,_removeFocusManager),_classPrivateMethodInitSpec(this,_addFocusManager),_classPrivateFieldInitSpec(this,_activeEditor,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_allEditors,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_allLayers,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_altTextManager,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_annotationStorage,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_commandManager,{writable:!0,value:new CommandManager}),_classPrivateFieldInitSpec(this,_currentPageIndex,{writable:!0,value:0}),_classPrivateFieldInitSpec(this,_deletedAnnotationsElementIds,{writable:!0,value:new Set}),_classPrivateFieldInitSpec(this,_draggingEditors,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_editorTypes,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_editorsToRescale,{writable:!0,value:new Set}),_classPrivateFieldInitSpec(this,_filterFactory,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_idManager,{writable:!0,value:new IdManager}),_classPrivateFieldInitSpec(this,_isEnabled,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_isWaiting,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_lastActiveElement,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_mode,{writable:!0,value:_util.AnnotationEditorType.NONE}),_classPrivateFieldInitSpec(this,_selectedEditors,{writable:!0,value:new Set}),_classPrivateFieldInitSpec(this,_pageColors,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_boundBlur,{writable:!0,value:this.blur.bind(this)}),_classPrivateFieldInitSpec(this,_boundFocus,{writable:!0,value:this.focus.bind(this)}),_classPrivateFieldInitSpec(this,_boundCopy,{writable:!0,value:this.copy.bind(this)}),_classPrivateFieldInitSpec(this,_boundCut,{writable:!0,value:this.cut.bind(this)}),_classPrivateFieldInitSpec(this,_boundPaste,{writable:!0,value:this.paste.bind(this)}),_classPrivateFieldInitSpec(this,_boundKeydown,{writable:!0,value:this.keydown.bind(this)}),_classPrivateFieldInitSpec(this,_boundOnEditingAction,{writable:!0,value:this.onEditingAction.bind(this)}),_classPrivateFieldInitSpec(this,_boundOnPageChanging,{writable:!0,value:this.onPageChanging.bind(this)}),_classPrivateFieldInitSpec(this,_boundOnScaleChanging,{writable:!0,value:this.onScaleChanging.bind(this)}),_classPrivateFieldInitSpec(this,_boundOnRotationChanging,{writable:!0,value:this.onRotationChanging.bind(this)}),_classPrivateFieldInitSpec(this,_previousStates,{writable:!0,value:{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1}}),_classPrivateFieldInitSpec(this,_translation,{writable:!0,value:[0,0]}),_classPrivateFieldInitSpec(this,_translationTimeoutId,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_container,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_viewer,{writable:!0,value:null}),_classPrivateFieldSet(this,_container,container),_classPrivateFieldSet(this,_viewer,viewer),_classPrivateFieldSet(this,_altTextManager,altTextManager),this._eventBus=eventBus,this._eventBus._on("editingaction",_classPrivateFieldGet(this,_boundOnEditingAction)),this._eventBus._on("pagechanging",_classPrivateFieldGet(this,_boundOnPageChanging)),this._eventBus._on("scalechanging",_classPrivateFieldGet(this,_boundOnScaleChanging)),this._eventBus._on("rotationchanging",_classPrivateFieldGet(this,_boundOnRotationChanging)),_classPrivateFieldSet(this,_annotationStorage,pdfDocument.annotationStorage),_classPrivateFieldSet(this,_filterFactory,pdfDocument.filterFactory),_classPrivateFieldSet(this,_pageColors,pageColors),this.viewParameters={realScale:_display_utils.PixelsPerInch.PDF_TO_CSS_UNITS,rotation:0}}destroy(){_classPrivateMethodGet(this,_removeKeyboardManager,_removeKeyboardManager2).call(this),_classPrivateMethodGet(this,_removeFocusManager,_removeFocusManager2).call(this),this._eventBus._off("editingaction",_classPrivateFieldGet(this,_boundOnEditingAction)),this._eventBus._off("pagechanging",_classPrivateFieldGet(this,_boundOnPageChanging)),this._eventBus._off("scalechanging",_classPrivateFieldGet(this,_boundOnScaleChanging)),this._eventBus._off("rotationchanging",_classPrivateFieldGet(this,_boundOnRotationChanging));for(const layer of _classPrivateFieldGet(this,_allLayers).values())layer.destroy();_classPrivateFieldGet(this,_allLayers).clear(),_classPrivateFieldGet(this,_allEditors).clear(),_classPrivateFieldGet(this,_editorsToRescale).clear(),_classPrivateFieldSet(this,_activeEditor,null),_classPrivateFieldGet(this,_selectedEditors).clear(),_classPrivateFieldGet(this,_commandManager).destroy(),_classPrivateFieldGet(this,_altTextManager).destroy()}get hcmFilter(){return(0,_util.shadow)(this,"hcmFilter",_classPrivateFieldGet(this,_pageColors)?_classPrivateFieldGet(this,_filterFactory).addHCMFilter(_classPrivateFieldGet(this,_pageColors).foreground,_classPrivateFieldGet(this,_pageColors).background):"none")}get direction(){return(0,_util.shadow)(this,"direction",getComputedStyle(_classPrivateFieldGet(this,_container)).direction)}editAltText(editor){var _classPrivateFieldGet9;null===(_classPrivateFieldGet9=_classPrivateFieldGet(this,_altTextManager))||void 0===_classPrivateFieldGet9||_classPrivateFieldGet9.editAltText(this,editor)}onPageChanging(_ref18){let{pageNumber:pageNumber}=_ref18;_classPrivateFieldSet(this,_currentPageIndex,pageNumber-1)}focusMainContainer(){_classPrivateFieldGet(this,_container).focus()}findParent(x,y){for(const layer of _classPrivateFieldGet(this,_allLayers).values()){const{x:layerX,y:layerY,width:width,height:height}=layer.div.getBoundingClientRect();if(x>=layerX&&x<=layerX+width&&y>=layerY&&y<=layerY+height)return layer}return null}disableUserSelect(){let value=arguments.length>0&&void 0!==arguments[0]&&arguments[0];_classPrivateFieldGet(this,_viewer).classList.toggle("noUserSelect",value)}addShouldRescale(editor){_classPrivateFieldGet(this,_editorsToRescale).add(editor)}removeShouldRescale(editor){_classPrivateFieldGet(this,_editorsToRescale).delete(editor)}onScaleChanging(_ref19){let{scale:scale}=_ref19;this.commitOrRemove(),this.viewParameters.realScale=scale*_display_utils.PixelsPerInch.PDF_TO_CSS_UNITS;for(const editor of _classPrivateFieldGet(this,_editorsToRescale))editor.onScaleChanging()}onRotationChanging(_ref20){let{pagesRotation:pagesRotation}=_ref20;this.commitOrRemove(),this.viewParameters.rotation=pagesRotation}addToAnnotationStorage(editor){editor.isEmpty()||!_classPrivateFieldGet(this,_annotationStorage)||_classPrivateFieldGet(this,_annotationStorage).has(editor.id)||_classPrivateFieldGet(this,_annotationStorage).setValue(editor.id,editor)}blur(){if(!this.hasSelection)return;const{activeElement:activeElement}=document;for(const editor of _classPrivateFieldGet(this,_selectedEditors))if(editor.div.contains(activeElement)){_classPrivateFieldSet(this,_lastActiveElement,[editor,activeElement]),editor._focusEventsAllowed=!1;break}}focus(){if(!_classPrivateFieldGet(this,_lastActiveElement))return;const[lastEditor,lastActiveElement]=_classPrivateFieldGet(this,_lastActiveElement);_classPrivateFieldSet(this,_lastActiveElement,null),lastActiveElement.addEventListener("focusin",(()=>{lastEditor._focusEventsAllowed=!0}),{once:!0}),lastActiveElement.focus()}addEditListeners(){_classPrivateMethodGet(this,_addKeyboardManager,_addKeyboardManager2).call(this),_classPrivateMethodGet(this,_addCopyPasteListeners,_addCopyPasteListeners2).call(this)}removeEditListeners(){_classPrivateMethodGet(this,_removeKeyboardManager,_removeKeyboardManager2).call(this),_classPrivateMethodGet(this,_removeCopyPasteListeners,_removeCopyPasteListeners2).call(this)}copy(event){var _classPrivateFieldGet10;if(event.preventDefault(),null===(_classPrivateFieldGet10=_classPrivateFieldGet(this,_activeEditor))||void 0===_classPrivateFieldGet10||_classPrivateFieldGet10.commitOrRemove(),!this.hasSelection)return;const editors=[];for(const editor of _classPrivateFieldGet(this,_selectedEditors)){const serialized=editor.serialize(!0);serialized&&editors.push(serialized)}0!==editors.length&&event.clipboardData.setData("application/pdfjs",JSON.stringify(editors))}cut(event){this.copy(event),this.delete()}paste(event){event.preventDefault();const{clipboardData:clipboardData}=event;for(const item of clipboardData.items)for(const editorType of _classPrivateFieldGet(this,_editorTypes))if(editorType.isHandlingMimeForPasting(item.type))return void editorType.paste(item,this.currentLayer);let data=clipboardData.getData("application/pdfjs");if(!data)return;try{data=JSON.parse(data)}catch(ex){return void(0,_util.warn)('paste: "'.concat(ex.message,'".'))}if(!Array.isArray(data))return;this.unselectAll();const layer=this.currentLayer;try{const newEditors=[];for(const editor of data){const deserializedEditor=layer.deserialize(editor);if(!deserializedEditor)return;newEditors.push(deserializedEditor)}const cmd=()=>{for(const editor of newEditors)_classPrivateMethodGet(this,_addEditorToLayer,_addEditorToLayer2).call(this,editor);_classPrivateMethodGet(this,_selectEditors,_selectEditors2).call(this,newEditors)},undo=()=>{for(const editor of newEditors)editor.remove()};this.addCommands({cmd:cmd,undo:undo,mustExec:!0})}catch(ex){(0,_util.warn)('paste: "'.concat(ex.message,'".'))}}keydown(event){var _this$getActive;null!==(_this$getActive=this.getActive())&&void 0!==_this$getActive&&_this$getActive.shouldGetKeyboardEvents()||AnnotationEditorUIManager._keyboardManager.exec(this,event)}onEditingAction(details){["undo","redo","delete","selectAll"].includes(details.name)&&this[details.name]()}setEditingState(isEditing){isEditing?(_classPrivateMethodGet(this,_addFocusManager,_addFocusManager2).call(this),_classPrivateMethodGet(this,_addKeyboardManager,_addKeyboardManager2).call(this),_classPrivateMethodGet(this,_addCopyPasteListeners,_addCopyPasteListeners2).call(this),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{isEditing:_classPrivateFieldGet(this,_mode)!==_util.AnnotationEditorType.NONE,isEmpty:_classPrivateMethodGet(this,_isEmpty,_isEmpty2).call(this),hasSomethingToUndo:_classPrivateFieldGet(this,_commandManager).hasSomethingToUndo(),hasSomethingToRedo:_classPrivateFieldGet(this,_commandManager).hasSomethingToRedo(),hasSelectedEditor:!1})):(_classPrivateMethodGet(this,_removeFocusManager,_removeFocusManager2).call(this),_classPrivateMethodGet(this,_removeKeyboardManager,_removeKeyboardManager2).call(this),_classPrivateMethodGet(this,_removeCopyPasteListeners,_removeCopyPasteListeners2).call(this),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(types){if(!_classPrivateFieldGet(this,_editorTypes)){_classPrivateFieldSet(this,_editorTypes,types);for(const editorType of _classPrivateFieldGet(this,_editorTypes))_classPrivateMethodGet(this,_dispatchUpdateUI,_dispatchUpdateUI2).call(this,editorType.defaultPropertiesToUpdate)}}getId(){return _classPrivateFieldGet(this,_idManager).getId()}get currentLayer(){return _classPrivateFieldGet(this,_allLayers).get(_classPrivateFieldGet(this,_currentPageIndex))}getLayer(pageIndex){return _classPrivateFieldGet(this,_allLayers).get(pageIndex)}get currentPageIndex(){return _classPrivateFieldGet(this,_currentPageIndex)}addLayer(layer){_classPrivateFieldGet(this,_allLayers).set(layer.pageIndex,layer),_classPrivateFieldGet(this,_isEnabled)?layer.enable():layer.disable()}removeLayer(layer){_classPrivateFieldGet(this,_allLayers).delete(layer.pageIndex)}updateMode(mode){let editId=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(_classPrivateFieldGet(this,_mode)!==mode){if(_classPrivateFieldSet(this,_mode,mode),mode===_util.AnnotationEditorType.NONE)return this.setEditingState(!1),void _classPrivateMethodGet(this,_disableAll,_disableAll2).call(this);this.setEditingState(!0),_classPrivateMethodGet(this,_enableAll,_enableAll2).call(this),this.unselectAll();for(const layer of _classPrivateFieldGet(this,_allLayers).values())layer.updateMode(mode);if(editId)for(const editor of _classPrivateFieldGet(this,_allEditors).values())if(editor.annotationElementId===editId){this.setSelected(editor),editor.enterInEditMode();break}}}updateToolbar(mode){mode!==_classPrivateFieldGet(this,_mode)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:mode})}updateParams(type,value){if(_classPrivateFieldGet(this,_editorTypes))if(type!==_util.AnnotationEditorParamsType.CREATE){for(const editor of _classPrivateFieldGet(this,_selectedEditors))editor.updateParams(type,value);for(const editorType of _classPrivateFieldGet(this,_editorTypes))editorType.updateDefaultParams(type,value)}else this.currentLayer.addNewEditor(type)}enableWaiting(){let mustWait=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(_classPrivateFieldGet(this,_isWaiting)!==mustWait){_classPrivateFieldSet(this,_isWaiting,mustWait);for(const layer of _classPrivateFieldGet(this,_allLayers).values())mustWait?layer.disableClick():layer.enableClick(),layer.div.classList.toggle("waiting",mustWait)}}getEditors(pageIndex){const editors=[];for(const editor of _classPrivateFieldGet(this,_allEditors).values())editor.pageIndex===pageIndex&&editors.push(editor);return editors}getEditor(id){return _classPrivateFieldGet(this,_allEditors).get(id)}addEditor(editor){_classPrivateFieldGet(this,_allEditors).set(editor.id,editor)}removeEditor(editor){var _classPrivateFieldGet11;_classPrivateFieldGet(this,_allEditors).delete(editor.id),this.unselect(editor),editor.annotationElementId&&_classPrivateFieldGet(this,_deletedAnnotationsElementIds).has(editor.annotationElementId)||null===(_classPrivateFieldGet11=_classPrivateFieldGet(this,_annotationStorage))||void 0===_classPrivateFieldGet11||_classPrivateFieldGet11.remove(editor.id)}addDeletedAnnotationElement(editor){_classPrivateFieldGet(this,_deletedAnnotationsElementIds).add(editor.annotationElementId),editor.deleted=!0}isDeletedAnnotationElement(annotationElementId){return _classPrivateFieldGet(this,_deletedAnnotationsElementIds).has(annotationElementId)}removeDeletedAnnotationElement(editor){_classPrivateFieldGet(this,_deletedAnnotationsElementIds).delete(editor.annotationElementId),editor.deleted=!1}setActiveEditor(editor){_classPrivateFieldGet(this,_activeEditor)!==editor&&(_classPrivateFieldSet(this,_activeEditor,editor),editor&&_classPrivateMethodGet(this,_dispatchUpdateUI,_dispatchUpdateUI2).call(this,editor.propertiesToUpdate))}toggleSelected(editor){if(_classPrivateFieldGet(this,_selectedEditors).has(editor))return _classPrivateFieldGet(this,_selectedEditors).delete(editor),editor.unselect(),void _classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSelectedEditor:this.hasSelection});_classPrivateFieldGet(this,_selectedEditors).add(editor),editor.select(),_classPrivateMethodGet(this,_dispatchUpdateUI,_dispatchUpdateUI2).call(this,editor.propertiesToUpdate),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSelectedEditor:!0})}setSelected(editor){for(const ed of _classPrivateFieldGet(this,_selectedEditors))ed!==editor&&ed.unselect();_classPrivateFieldGet(this,_selectedEditors).clear(),_classPrivateFieldGet(this,_selectedEditors).add(editor),editor.select(),_classPrivateMethodGet(this,_dispatchUpdateUI,_dispatchUpdateUI2).call(this,editor.propertiesToUpdate),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSelectedEditor:!0})}isSelected(editor){return _classPrivateFieldGet(this,_selectedEditors).has(editor)}unselect(editor){editor.unselect(),_classPrivateFieldGet(this,_selectedEditors).delete(editor),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==_classPrivateFieldGet(this,_selectedEditors).size}undo(){_classPrivateFieldGet(this,_commandManager).undo(),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSomethingToUndo:_classPrivateFieldGet(this,_commandManager).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:_classPrivateMethodGet(this,_isEmpty,_isEmpty2).call(this)})}redo(){_classPrivateFieldGet(this,_commandManager).redo(),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:_classPrivateFieldGet(this,_commandManager).hasSomethingToRedo(),isEmpty:_classPrivateMethodGet(this,_isEmpty,_isEmpty2).call(this)})}addCommands(params){_classPrivateFieldGet(this,_commandManager).add(params),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:_classPrivateMethodGet(this,_isEmpty,_isEmpty2).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const editors=[..._classPrivateFieldGet(this,_selectedEditors)];this.addCommands({cmd:()=>{for(const editor of editors)editor.remove()},undo:()=>{for(const editor of editors)_classPrivateMethodGet(this,_addEditorToLayer,_addEditorToLayer2).call(this,editor)},mustExec:!0})}commitOrRemove(){var _classPrivateFieldGet12;null===(_classPrivateFieldGet12=_classPrivateFieldGet(this,_activeEditor))||void 0===_classPrivateFieldGet12||_classPrivateFieldGet12.commitOrRemove()}hasSomethingToControl(){return _classPrivateFieldGet(this,_activeEditor)||this.hasSelection}selectAll(){for(const editor of _classPrivateFieldGet(this,_selectedEditors))editor.commit();_classPrivateMethodGet(this,_selectEditors,_selectEditors2).call(this,_classPrivateFieldGet(this,_allEditors).values())}unselectAll(){if(_classPrivateFieldGet(this,_activeEditor))_classPrivateFieldGet(this,_activeEditor).commitOrRemove();else if(this.hasSelection){for(const editor of _classPrivateFieldGet(this,_selectedEditors))editor.unselect();_classPrivateFieldGet(this,_selectedEditors).clear(),_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(x,y){if(arguments.length>2&&void 0!==arguments[2]&&arguments[2]||this.commitOrRemove(),!this.hasSelection)return;_classPrivateFieldGet(this,_translation)[0]+=x,_classPrivateFieldGet(this,_translation)[1]+=y;const[totalX,totalY]=_classPrivateFieldGet(this,_translation),editors=[..._classPrivateFieldGet(this,_selectedEditors)];_classPrivateFieldGet(this,_translationTimeoutId)&&clearTimeout(_classPrivateFieldGet(this,_translationTimeoutId)),_classPrivateFieldSet(this,_translationTimeoutId,setTimeout((()=>{_classPrivateFieldSet(this,_translationTimeoutId,null),_classPrivateFieldGet(this,_translation)[0]=_classPrivateFieldGet(this,_translation)[1]=0,this.addCommands({cmd:()=>{for(const editor of editors)_classPrivateFieldGet(this,_allEditors).has(editor.id)&&editor.translateInPage(totalX,totalY)},undo:()=>{for(const editor of editors)_classPrivateFieldGet(this,_allEditors).has(editor.id)&&editor.translateInPage(-totalX,-totalY)},mustExec:!1})}),1e3));for(const editor of editors)editor.translateInPage(x,y)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),_classPrivateFieldSet(this,_draggingEditors,new Map);for(const editor of _classPrivateFieldGet(this,_selectedEditors))_classPrivateFieldGet(this,_draggingEditors).set(editor,{savedX:editor.x,savedY:editor.y,savedPageIndex:editor.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!_classPrivateFieldGet(this,_draggingEditors))return!1;this.disableUserSelect(!1);const map=_classPrivateFieldGet(this,_draggingEditors);_classPrivateFieldSet(this,_draggingEditors,null);let mustBeAddedInUndoStack=!1;for(const[{x:x,y:y,pageIndex:pageIndex},value]of map)value.newX=x,value.newY=y,value.newPageIndex=pageIndex,mustBeAddedInUndoStack||(mustBeAddedInUndoStack=x!==value.savedX||y!==value.savedY||pageIndex!==value.savedPageIndex);if(!mustBeAddedInUndoStack)return!1;const move=(editor,x,y,pageIndex)=>{if(_classPrivateFieldGet(this,_allEditors).has(editor.id)){const parent=_classPrivateFieldGet(this,_allLayers).get(pageIndex);parent?editor._setParentAndPosition(parent,x,y):(editor.pageIndex=pageIndex,editor.x=x,editor.y=y)}};return this.addCommands({cmd:()=>{for(const[editor,{newX:newX,newY:newY,newPageIndex:newPageIndex}]of map)move(editor,newX,newY,newPageIndex)},undo:()=>{for(const[editor,{savedX:savedX,savedY:savedY,savedPageIndex:savedPageIndex}]of map)move(editor,savedX,savedY,savedPageIndex)},mustExec:!0}),!0}dragSelectedEditors(tx,ty){if(_classPrivateFieldGet(this,_draggingEditors))for(const editor of _classPrivateFieldGet(this,_draggingEditors).keys())editor.drag(tx,ty)}rebuild(editor){if(null===editor.parent){const parent=this.getLayer(editor.pageIndex);parent?(parent.changeParent(editor),parent.addOrRebuild(editor)):(this.addEditor(editor),this.addToAnnotationStorage(editor),editor.rebuild())}else editor.parent.addOrRebuild(editor)}isActive(editor){return _classPrivateFieldGet(this,_activeEditor)===editor}getActive(){return _classPrivateFieldGet(this,_activeEditor)}getMode(){return _classPrivateFieldGet(this,_mode)}get imageManager(){return(0,_util.shadow)(this,"imageManager",new ImageManager)}}function _addFocusManager2(){window.addEventListener("focus",_classPrivateFieldGet(this,_boundFocus)),window.addEventListener("blur",_classPrivateFieldGet(this,_boundBlur))}function _removeFocusManager2(){window.removeEventListener("focus",_classPrivateFieldGet(this,_boundFocus)),window.removeEventListener("blur",_classPrivateFieldGet(this,_boundBlur))}function _addKeyboardManager2(){window.addEventListener("keydown",_classPrivateFieldGet(this,_boundKeydown),{capture:!0})}function _removeKeyboardManager2(){window.removeEventListener("keydown",_classPrivateFieldGet(this,_boundKeydown),{capture:!0})}function _addCopyPasteListeners2(){document.addEventListener("copy",_classPrivateFieldGet(this,_boundCopy)),document.addEventListener("cut",_classPrivateFieldGet(this,_boundCut)),document.addEventListener("paste",_classPrivateFieldGet(this,_boundPaste))}function _removeCopyPasteListeners2(){document.removeEventListener("copy",_classPrivateFieldGet(this,_boundCopy)),document.removeEventListener("cut",_classPrivateFieldGet(this,_boundCut)),document.removeEventListener("paste",_classPrivateFieldGet(this,_boundPaste))}function _dispatchUpdateStates2(details){Object.entries(details).some((_ref21=>{let[key,value]=_ref21;return _classPrivateFieldGet(this,_previousStates)[key]!==value}))&&this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(_classPrivateFieldGet(this,_previousStates),details)})}function _dispatchUpdateUI2(details){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:details})}function _enableAll2(){if(!_classPrivateFieldGet(this,_isEnabled)){_classPrivateFieldSet(this,_isEnabled,!0);for(const layer of _classPrivateFieldGet(this,_allLayers).values())layer.enable()}}function _disableAll2(){if(this.unselectAll(),_classPrivateFieldGet(this,_isEnabled)){_classPrivateFieldSet(this,_isEnabled,!1);for(const layer of _classPrivateFieldGet(this,_allLayers).values())layer.disable()}}function _addEditorToLayer2(editor){const layer=_classPrivateFieldGet(this,_allLayers).get(editor.pageIndex);layer?layer.addOrRebuild(editor):this.addEditor(editor)}function _isEmpty2(){if(0===_classPrivateFieldGet(this,_allEditors).size)return!0;if(1===_classPrivateFieldGet(this,_allEditors).size)for(const editor of _classPrivateFieldGet(this,_allEditors).values())return editor.isEmpty();return!1}function _selectEditors2(editors){_classPrivateFieldGet(this,_selectedEditors).clear();for(const editor of editors)editor.isEmpty()||(_classPrivateFieldGet(this,_selectedEditors).add(editor),editor.select());_classPrivateMethodGet(this,_dispatchUpdateStates,_dispatchUpdateStates2).call(this,{hasSelectedEditor:!0})}_defineProperty(AnnotationEditorUIManager,"TRANSLATE_SMALL",1),_defineProperty(AnnotationEditorUIManager,"TRANSLATE_BIG",10),exports.AnnotationEditorUIManager=AnnotationEditorUIManager},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.StatTimer=exports.RenderingCancelledException=exports.PixelsPerInch=exports.PageViewport=exports.PDFDateString=exports.DOMStandardFontDataFactory=exports.DOMSVGFactory=exports.DOMFilterFactory=exports.DOMCanvasFactory=exports.DOMCMapReaderFactory=void 0,exports.deprecated=function(details){console.log("Deprecated API usage: "+details)},exports.getColorValues=function(colors){const span=document.createElement("span");span.style.visibility="hidden",document.body.append(span);for(const name of colors.keys()){span.style.color=name;const computedColor=window.getComputedStyle(span).color;colors.set(name,getRGB(computedColor))}span.remove()},exports.getCurrentTransform=function(ctx){const{a:a,b:b,c:c,d:d,e:e,f:f}=ctx.getTransform();return[a,b,c,d,e,f]},exports.getCurrentTransformInverse=function(ctx){const{a:a,b:b,c:c,d:d,e:e,f:f}=ctx.getTransform().invertSelf();return[a,b,c,d,e,f]},exports.getFilenameFromUrl=function(url){let onlyStripPath=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return onlyStripPath||([url]=url.split(/[#?]/,1)),url.substring(url.lastIndexOf("/")+1)},exports.getPdfFilenameFromUrl=function(url){let defaultFilename=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"document.pdf";if("string"!=typeof url)return defaultFilename;if(isDataScheme(url))return(0,_util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),defaultFilename;const reURI=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/,reFilename=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,splitURI=reURI.exec(url);let suggestedFilename=reFilename.exec(splitURI[1])||reFilename.exec(splitURI[2])||reFilename.exec(splitURI[3]);if(suggestedFilename&&(suggestedFilename=suggestedFilename[0],suggestedFilename.includes("%")))try{suggestedFilename=reFilename.exec(decodeURIComponent(suggestedFilename))[0]}catch{}return suggestedFilename||defaultFilename},exports.getRGB=getRGB,exports.getXfaPageViewport=function(xfaPage,_ref23){let{scale:scale=1,rotation:rotation=0}=_ref23;const{width:width,height:height}=xfaPage.attributes.style,viewBox=[0,0,parseInt(width),parseInt(height)];return new PageViewport({viewBox:viewBox,scale:scale,rotation:rotation})},exports.isDataScheme=isDataScheme,exports.isPdfFile=function(filename){return"string"==typeof filename&&/\.pdf$/i.test(filename)},exports.isValidFetchUrl=isValidFetchUrl,exports.loadScript=function(src){let removeScriptElement=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise(((resolve,reject)=>{const script=document.createElement("script");script.src=src,script.onload=function(evt){removeScriptElement&&script.remove(),resolve(evt)},script.onerror=function(){reject(new Error("Cannot load script at: ".concat(script.src)))},(document.head||document.documentElement).append(script)}))},exports.noContextMenu=function(e){e.preventDefault()},exports.setLayerDimensions=function(div,viewport){let mustFlip=arguments.length>2&&void 0!==arguments[2]&&arguments[2],mustRotate=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(viewport instanceof PageViewport){const{pageWidth:pageWidth,pageHeight:pageHeight}=viewport.rawDims,{style:style}=div,useRound=_util.FeatureTest.isCSSRoundSupported,w="var(--scale-factor) * ".concat(pageWidth,"px"),h="var(--scale-factor) * ".concat(pageHeight,"px"),widthStr=useRound?"round(".concat(w,", 1px)"):"calc(".concat(w,")"),heightStr=useRound?"round(".concat(h,", 1px)"):"calc(".concat(h,")");mustFlip&&viewport.rotation%180!=0?(style.width=heightStr,style.height=widthStr):(style.width=widthStr,style.height=heightStr)}mustRotate&&div.setAttribute("data-main-rotation",viewport.rotation)};var _base_factory=__w_pdfjs_require__(7),_util=__w_pdfjs_require__(1);const SVG_NS="http://www.w3.org/2000/svg";class PixelsPerInch{}_defineProperty(PixelsPerInch,"CSS",96),_defineProperty(PixelsPerInch,"PDF",72),_defineProperty(PixelsPerInch,"PDF_TO_CSS_UNITS",PixelsPerInch.CSS/PixelsPerInch.PDF),exports.PixelsPerInch=PixelsPerInch;var _cache2=new WeakMap,_defs=new WeakMap,_docId2=new WeakMap,_document2=new WeakMap,_hcmFilter=new WeakMap,_hcmKey=new WeakMap,_hcmUrl=new WeakMap,_hcmHighlightFilter=new WeakMap,_hcmHighlightKey=new WeakMap,_hcmHighlightUrl=new WeakMap,_id3=new WeakMap,_cache3=new WeakMap,_defs2=new WeakMap,_addGrayConversion=new WeakSet,_createFilter=new WeakSet,_appendFeFunc=new WeakSet,_addTransferMapConversion=new WeakSet,_getRGB=new WeakSet;class DOMFilterFactory extends _base_factory.BaseFilterFactory{constructor(){let{docId:docId,ownerDocument:ownerDocument=globalThis.document}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),_classPrivateMethodInitSpec(this,_getRGB),_classPrivateMethodInitSpec(this,_addTransferMapConversion),_classPrivateMethodInitSpec(this,_appendFeFunc),_classPrivateMethodInitSpec(this,_createFilter),_classPrivateMethodInitSpec(this,_addGrayConversion),_classPrivateFieldInitSpec(this,_defs2,{get:_get_defs,set:void 0}),_classPrivateFieldInitSpec(this,_cache3,{get:_get_cache,set:void 0}),_classPrivateFieldInitSpec(this,_cache2,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_defs,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_docId2,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_document2,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_hcmFilter,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_hcmKey,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_hcmUrl,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_hcmHighlightFilter,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_hcmHighlightKey,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_hcmHighlightUrl,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_id3,{writable:!0,value:0}),_classPrivateFieldSet(this,_docId2,docId),_classPrivateFieldSet(this,_document2,ownerDocument)}addFilter(maps){var _this$id3;if(!maps)return"none";let tableR,tableG,tableB,key,value=_classPrivateFieldGet(this,_cache3).get(maps);if(value)return value;if(1===maps.length){const mapR=maps[0],buffer=new Array(256);for(let i=0;i<256;i++)buffer[i]=mapR[i]/255;key=tableR=tableG=tableB=buffer.join(",")}else{const[mapR,mapG,mapB]=maps,bufferR=new Array(256),bufferG=new Array(256),bufferB=new Array(256);for(let i=0;i<256;i++)bufferR[i]=mapR[i]/255,bufferG[i]=mapG[i]/255,bufferB[i]=mapB[i]/255;tableR=bufferR.join(","),tableG=bufferG.join(","),tableB=bufferB.join(","),key="".concat(tableR).concat(tableG).concat(tableB)}if(value=_classPrivateFieldGet(this,_cache3).get(key),value)return _classPrivateFieldGet(this,_cache3).set(maps,value),value;const id="g_".concat(_classPrivateFieldGet(this,_docId2),"_transfer_map_").concat((_classPrivateFieldSet(this,_id3,1+(_this$id3=+_classPrivateFieldGet(this,_id3))),_this$id3)),url="url(#".concat(id,")");_classPrivateFieldGet(this,_cache3).set(maps,url),_classPrivateFieldGet(this,_cache3).set(key,url);const filter=_classPrivateMethodGet(this,_createFilter,_createFilter2).call(this,id);return _classPrivateMethodGet(this,_addTransferMapConversion,_addTransferMapConversion2).call(this,tableR,tableG,tableB,filter),url}addHCMFilter(fgColor,bgColor){var _classPrivateFieldGet13;const key="".concat(fgColor,"-").concat(bgColor);if(_classPrivateFieldGet(this,_hcmKey)===key)return _classPrivateFieldGet(this,_hcmUrl);if(_classPrivateFieldSet(this,_hcmKey,key),_classPrivateFieldSet(this,_hcmUrl,"none"),null===(_classPrivateFieldGet13=_classPrivateFieldGet(this,_hcmFilter))||void 0===_classPrivateFieldGet13||_classPrivateFieldGet13.remove(),!fgColor||!bgColor)return _classPrivateFieldGet(this,_hcmUrl);const fgRGB=_classPrivateMethodGet(this,_getRGB,_getRGB2).call(this,fgColor);fgColor=_util.Util.makeHexColor(...fgRGB);const bgRGB=_classPrivateMethodGet(this,_getRGB,_getRGB2).call(this,bgColor);if(bgColor=_util.Util.makeHexColor(...bgRGB),_classPrivateFieldGet(this,_defs2).style.color="","#000000"===fgColor&&"#ffffff"===bgColor||fgColor===bgColor)return _classPrivateFieldGet(this,_hcmUrl);const map=new Array(256);for(let i=0;i<=255;i++){const x=i/255;map[i]=x<=.03928?x/12.92:((x+.055)/1.055)**2.4}const table=map.join(","),id="g_".concat(_classPrivateFieldGet(this,_docId2),"_hcm_filter"),filter=_classPrivateFieldSet(this,_hcmHighlightFilter,_classPrivateMethodGet(this,_createFilter,_createFilter2).call(this,id));_classPrivateMethodGet(this,_addTransferMapConversion,_addTransferMapConversion2).call(this,table,table,table,filter),_classPrivateMethodGet(this,_addGrayConversion,_addGrayConversion2).call(this,filter);const getSteps=(c,n)=>{const start=fgRGB[c]/255,end=bgRGB[c]/255,arr=new Array(n+1);for(let i=0;i<=n;i++)arr[i]=start+i/n*(end-start);return arr.join(",")};return _classPrivateMethodGet(this,_addTransferMapConversion,_addTransferMapConversion2).call(this,getSteps(0,5),getSteps(1,5),getSteps(2,5),filter),_classPrivateFieldSet(this,_hcmUrl,"url(#".concat(id,")")),_classPrivateFieldGet(this,_hcmUrl)}addHighlightHCMFilter(fgColor,bgColor,newFgColor,newBgColor){var _classPrivateFieldGet14;const key="".concat(fgColor,"-").concat(bgColor,"-").concat(newFgColor,"-").concat(newBgColor);if(_classPrivateFieldGet(this,_hcmHighlightKey)===key)return _classPrivateFieldGet(this,_hcmHighlightUrl);if(_classPrivateFieldSet(this,_hcmHighlightKey,key),_classPrivateFieldSet(this,_hcmHighlightUrl,"none"),null===(_classPrivateFieldGet14=_classPrivateFieldGet(this,_hcmHighlightFilter))||void 0===_classPrivateFieldGet14||_classPrivateFieldGet14.remove(),!fgColor||!bgColor)return _classPrivateFieldGet(this,_hcmHighlightUrl);const[fgRGB,bgRGB]=[fgColor,bgColor].map(_classPrivateMethodGet(this,_getRGB,_getRGB2).bind(this));let fgGray=Math.round(.2126*fgRGB[0]+.7152*fgRGB[1]+.0722*fgRGB[2]),bgGray=Math.round(.2126*bgRGB[0]+.7152*bgRGB[1]+.0722*bgRGB[2]),[newFgRGB,newBgRGB]=[newFgColor,newBgColor].map(_classPrivateMethodGet(this,_getRGB,_getRGB2).bind(this));bgGray{const arr=new Array(256),step=(bgGray-fgGray)/n,newStart=fg/255,newStep=(bg-fg)/(255*n);let prev=0;for(let i=0;i<=n;i++){const k=Math.round(fgGray+i*step),value=newStart+i*newStep;for(let j=prev;j<=k;j++)arr[j]=value;prev=k+1}for(let i=prev;i<256;i++)arr[i]=arr[prev-1];return arr.join(",")},id="g_".concat(_classPrivateFieldGet(this,_docId2),"_hcm_highlight_filter"),filter=_classPrivateFieldSet(this,_hcmHighlightFilter,_classPrivateMethodGet(this,_createFilter,_createFilter2).call(this,id));return _classPrivateMethodGet(this,_addGrayConversion,_addGrayConversion2).call(this,filter),_classPrivateMethodGet(this,_addTransferMapConversion,_addTransferMapConversion2).call(this,getSteps(newFgRGB[0],newBgRGB[0],5),getSteps(newFgRGB[1],newBgRGB[1],5),getSteps(newFgRGB[2],newBgRGB[2],5),filter),_classPrivateFieldSet(this,_hcmHighlightUrl,"url(#".concat(id,")")),_classPrivateFieldGet(this,_hcmHighlightUrl)}destroy(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&(_classPrivateFieldGet(this,_hcmUrl)||_classPrivateFieldGet(this,_hcmHighlightUrl))||(_classPrivateFieldGet(this,_defs)&&(_classPrivateFieldGet(this,_defs).parentNode.parentNode.remove(),_classPrivateFieldSet(this,_defs,null)),_classPrivateFieldGet(this,_cache2)&&(_classPrivateFieldGet(this,_cache2).clear(),_classPrivateFieldSet(this,_cache2,null)),_classPrivateFieldSet(this,_id3,0))}}function _get_cache(){return _classPrivateFieldGet(this,_cache2)||_classPrivateFieldSet(this,_cache2,new Map)}function _get_defs(){if(!_classPrivateFieldGet(this,_defs)){const div=_classPrivateFieldGet(this,_document2).createElement("div"),{style:style}=div;style.visibility="hidden",style.contain="strict",style.width=style.height=0,style.position="absolute",style.top=style.left=0,style.zIndex=-1;const svg=_classPrivateFieldGet(this,_document2).createElementNS(SVG_NS,"svg");svg.setAttribute("width",0),svg.setAttribute("height",0),_classPrivateFieldSet(this,_defs,_classPrivateFieldGet(this,_document2).createElementNS(SVG_NS,"defs")),div.append(svg),svg.append(_classPrivateFieldGet(this,_defs)),_classPrivateFieldGet(this,_document2).body.append(div)}return _classPrivateFieldGet(this,_defs)}function _addGrayConversion2(filter){const feColorMatrix=_classPrivateFieldGet(this,_document2).createElementNS(SVG_NS,"feColorMatrix");feColorMatrix.setAttribute("type","matrix"),feColorMatrix.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),filter.append(feColorMatrix)}function _createFilter2(id){const filter=_classPrivateFieldGet(this,_document2).createElementNS(SVG_NS,"filter");return filter.setAttribute("color-interpolation-filters","sRGB"),filter.setAttribute("id",id),_classPrivateFieldGet(this,_defs2).append(filter),filter}function _appendFeFunc2(feComponentTransfer,func,table){const feFunc=_classPrivateFieldGet(this,_document2).createElementNS(SVG_NS,func);feFunc.setAttribute("type","discrete"),feFunc.setAttribute("tableValues",table),feComponentTransfer.append(feFunc)}function _addTransferMapConversion2(rTable,gTable,bTable,filter){const feComponentTransfer=_classPrivateFieldGet(this,_document2).createElementNS(SVG_NS,"feComponentTransfer");filter.append(feComponentTransfer),_classPrivateMethodGet(this,_appendFeFunc,_appendFeFunc2).call(this,feComponentTransfer,"feFuncR",rTable),_classPrivateMethodGet(this,_appendFeFunc,_appendFeFunc2).call(this,feComponentTransfer,"feFuncG",gTable),_classPrivateMethodGet(this,_appendFeFunc,_appendFeFunc2).call(this,feComponentTransfer,"feFuncB",bTable)}function _getRGB2(color){return _classPrivateFieldGet(this,_defs2).style.color=color,getRGB(getComputedStyle(_classPrivateFieldGet(this,_defs2)).getPropertyValue("color"))}exports.DOMFilterFactory=DOMFilterFactory;class DOMCanvasFactory extends _base_factory.BaseCanvasFactory{constructor(){let{ownerDocument:ownerDocument=globalThis.document}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this._document=ownerDocument}_createCanvas(width,height){const canvas=this._document.createElement("canvas");return canvas.width=width,canvas.height=height,canvas}}async function fetchData(url){let asTypedArray=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(isValidFetchUrl(url,document.baseURI)){const response=await fetch(url);if(!response.ok)throw new Error(response.statusText);return asTypedArray?new Uint8Array(await response.arrayBuffer()):(0,_util.stringToBytes)(await response.text())}return new Promise(((resolve,reject)=>{const request=new XMLHttpRequest;request.open("GET",url,!0),asTypedArray&&(request.responseType="arraybuffer"),request.onreadystatechange=()=>{if(request.readyState===XMLHttpRequest.DONE){if(200===request.status||0===request.status){let data;if(asTypedArray&&request.response?data=new Uint8Array(request.response):!asTypedArray&&request.responseText&&(data=(0,_util.stringToBytes)(request.responseText)),data)return void resolve(data)}reject(new Error(request.statusText))}},request.send(null)}))}exports.DOMCanvasFactory=DOMCanvasFactory;class DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory{_fetchData(url,compressionType){return fetchData(url,this.isCompressed).then((data=>({cMapData:data,compressionType:compressionType})))}}exports.DOMCMapReaderFactory=DOMCMapReaderFactory;class DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory{_fetchData(url){return fetchData(url,!0)}}exports.DOMStandardFontDataFactory=DOMStandardFontDataFactory;class DOMSVGFactory extends _base_factory.BaseSVGFactory{_createSVG(type){return document.createElementNS(SVG_NS,type)}}exports.DOMSVGFactory=DOMSVGFactory;class PageViewport{constructor(_ref22){let{viewBox:viewBox,scale:scale,rotation:rotation,offsetX:offsetX=0,offsetY:offsetY=0,dontFlip:dontFlip=!1}=_ref22;this.viewBox=viewBox,this.scale=scale,this.rotation=rotation,this.offsetX=offsetX,this.offsetY=offsetY;const centerX=(viewBox[2]+viewBox[0])/2,centerY=(viewBox[3]+viewBox[1])/2;let rotateA,rotateB,rotateC,rotateD,offsetCanvasX,offsetCanvasY,width,height;switch(rotation%=360,rotation<0&&(rotation+=360),rotation){case 180:rotateA=-1,rotateB=0,rotateC=0,rotateD=1;break;case 90:rotateA=0,rotateB=1,rotateC=1,rotateD=0;break;case 270:rotateA=0,rotateB=-1,rotateC=-1,rotateD=0;break;case 0:rotateA=1,rotateB=0,rotateC=0,rotateD=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}dontFlip&&(rotateC=-rotateC,rotateD=-rotateD),0===rotateA?(offsetCanvasX=Math.abs(centerY-viewBox[1])*scale+offsetX,offsetCanvasY=Math.abs(centerX-viewBox[0])*scale+offsetY,width=(viewBox[3]-viewBox[1])*scale,height=(viewBox[2]-viewBox[0])*scale):(offsetCanvasX=Math.abs(centerX-viewBox[0])*scale+offsetX,offsetCanvasY=Math.abs(centerY-viewBox[1])*scale+offsetY,width=(viewBox[2]-viewBox[0])*scale,height=(viewBox[3]-viewBox[1])*scale),this.transform=[rotateA*scale,rotateB*scale,rotateC*scale,rotateD*scale,offsetCanvasX-rotateA*scale*centerX-rotateC*scale*centerY,offsetCanvasY-rotateB*scale*centerX-rotateD*scale*centerY],this.width=width,this.height=height}get rawDims(){const{viewBox:viewBox}=this;return(0,_util.shadow)(this,"rawDims",{pageWidth:viewBox[2]-viewBox[0],pageHeight:viewBox[3]-viewBox[1],pageX:viewBox[0],pageY:viewBox[1]})}clone(){let{scale:scale=this.scale,rotation:rotation=this.rotation,offsetX:offsetX=this.offsetX,offsetY:offsetY=this.offsetY,dontFlip:dontFlip=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new PageViewport({viewBox:this.viewBox.slice(),scale:scale,rotation:rotation,offsetX:offsetX,offsetY:offsetY,dontFlip:dontFlip})}convertToViewportPoint(x,y){return _util.Util.applyTransform([x,y],this.transform)}convertToViewportRectangle(rect){const topLeft=_util.Util.applyTransform([rect[0],rect[1]],this.transform),bottomRight=_util.Util.applyTransform([rect[2],rect[3]],this.transform);return[topLeft[0],topLeft[1],bottomRight[0],bottomRight[1]]}convertToPdfPoint(x,y){return _util.Util.applyInverseTransform([x,y],this.transform)}}exports.PageViewport=PageViewport;class RenderingCancelledException extends _util.BaseException{constructor(msg){let extraDelay=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;super(msg,"RenderingCancelledException"),this.extraDelay=extraDelay}}function isDataScheme(url){const ii=url.length;let i=0;for(;i>16,(65280&colorRGB)>>8,255&colorRGB]}return color.startsWith("rgb(")?color.slice(4,-1).split(",").map((x=>parseInt(x))):color.startsWith("rgba(")?color.slice(5,-1).split(",").map((x=>parseInt(x))).slice(0,3):((0,_util.warn)('Not a valid color format: "'.concat(color,'"')),[0,0,0])}exports.RenderingCancelledException=RenderingCancelledException,exports.StatTimer=class{constructor(){_defineProperty(this,"started",Object.create(null)),_defineProperty(this,"times",[])}time(name){name in this.started&&(0,_util.warn)("Timer is already running for ".concat(name)),this.started[name]=Date.now()}timeEnd(name){name in this.started||(0,_util.warn)("Timer has not been started for ".concat(name)),this.times.push({name:name,start:this.started[name],end:Date.now()}),delete this.started[name]}toString(){const outBuf=[];let longest=0;for(const{name:name}of this.times)longest=Math.max(name.length,longest);for(const{name:name,start:start,end:end}of this.times)outBuf.push("".concat(name.padEnd(longest)," ").concat(end-start,"ms\n"));return outBuf.join("")}},exports.PDFDateString=class{static toDateObject(input){if(!input||"string"!=typeof input)return null;pdfDateStringRegex||(pdfDateStringRegex=new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?"));const matches=pdfDateStringRegex.exec(input);if(!matches)return null;const year=parseInt(matches[1],10);let month=parseInt(matches[2],10);month=month>=1&&month<=12?month-1:0;let day=parseInt(matches[3],10);day=day>=1&&day<=31?day:1;let hour=parseInt(matches[4],10);hour=hour>=0&&hour<=23?hour:0;let minute=parseInt(matches[5],10);minute=minute>=0&&minute<=59?minute:0;let second=parseInt(matches[6],10);second=second>=0&&second<=59?second:0;const universalTimeRelation=matches[7]||"Z";let offsetHour=parseInt(matches[8],10);offsetHour=offsetHour>=0&&offsetHour<=23?offsetHour:0;let offsetMinute=parseInt(matches[9],10)||0;return offsetMinute=offsetMinute>=0&&offsetMinute<=59?offsetMinute:0,"-"===universalTimeRelation?(hour+=offsetHour,minute+=offsetMinute):"+"===universalTimeRelation&&(hour-=offsetHour,minute-=offsetMinute),new Date(Date.UTC(year,month,day,hour,minute,second))}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.BaseStandardFontDataFactory=exports.BaseSVGFactory=exports.BaseFilterFactory=exports.BaseCanvasFactory=exports.BaseCMapReaderFactory=void 0;var _util=__w_pdfjs_require__(1);class BaseFilterFactory{constructor(){this.constructor===BaseFilterFactory&&(0,_util.unreachable)("Cannot initialize BaseFilterFactory.")}addFilter(maps){return"none"}addHCMFilter(fgColor,bgColor){return"none"}addHighlightHCMFilter(fgColor,bgColor,newFgColor,newBgColor){return"none"}destroy(){}}exports.BaseFilterFactory=BaseFilterFactory;class BaseCanvasFactory{constructor(){this.constructor===BaseCanvasFactory&&(0,_util.unreachable)("Cannot initialize BaseCanvasFactory.")}create(width,height){if(width<=0||height<=0)throw new Error("Invalid canvas size");const canvas=this._createCanvas(width,height);return{canvas:canvas,context:canvas.getContext("2d")}}reset(canvasAndContext,width,height){if(!canvasAndContext.canvas)throw new Error("Canvas is not specified");if(width<=0||height<=0)throw new Error("Invalid canvas size");canvasAndContext.canvas.width=width,canvasAndContext.canvas.height=height}destroy(canvasAndContext){if(!canvasAndContext.canvas)throw new Error("Canvas is not specified");canvasAndContext.canvas.width=0,canvasAndContext.canvas.height=0,canvasAndContext.canvas=null,canvasAndContext.context=null}_createCanvas(width,height){(0,_util.unreachable)("Abstract method `_createCanvas` called.")}}exports.BaseCanvasFactory=BaseCanvasFactory;class BaseCMapReaderFactory{constructor(_ref24){let{baseUrl:baseUrl=null,isCompressed:isCompressed=!0}=_ref24;this.constructor===BaseCMapReaderFactory&&(0,_util.unreachable)("Cannot initialize BaseCMapReaderFactory."),this.baseUrl=baseUrl,this.isCompressed=isCompressed}async fetch(_ref25){let{name:name}=_ref25;if(!this.baseUrl)throw new Error('The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.');if(!name)throw new Error("CMap name must be specified.");const url=this.baseUrl+name+(this.isCompressed?".bcmap":""),compressionType=this.isCompressed?_util.CMapCompressionType.BINARY:_util.CMapCompressionType.NONE;return this._fetchData(url,compressionType).catch((reason=>{throw new Error("Unable to load ".concat(this.isCompressed?"binary ":"","CMap at: ").concat(url))}))}_fetchData(url,compressionType){(0,_util.unreachable)("Abstract method `_fetchData` called.")}}exports.BaseCMapReaderFactory=BaseCMapReaderFactory;class BaseStandardFontDataFactory{constructor(_ref26){let{baseUrl:baseUrl=null}=_ref26;this.constructor===BaseStandardFontDataFactory&&(0,_util.unreachable)("Cannot initialize BaseStandardFontDataFactory."),this.baseUrl=baseUrl}async fetch(_ref27){let{filename:filename}=_ref27;if(!this.baseUrl)throw new Error('The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.');if(!filename)throw new Error("Font filename must be specified.");const url="".concat(this.baseUrl).concat(filename);return this._fetchData(url).catch((reason=>{throw new Error("Unable to load font data at: ".concat(url))}))}_fetchData(url){(0,_util.unreachable)("Abstract method `_fetchData` called.")}}exports.BaseStandardFontDataFactory=BaseStandardFontDataFactory;class BaseSVGFactory{constructor(){this.constructor===BaseSVGFactory&&(0,_util.unreachable)("Cannot initialize BaseSVGFactory.")}create(width,height){let skipDimensions=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(width<=0||height<=0)throw new Error("Invalid SVG dimensions");const svg=this._createSVG("svg:svg");return svg.setAttribute("version","1.1"),skipDimensions||(svg.setAttribute("width","".concat(width,"px")),svg.setAttribute("height","".concat(height,"px"))),svg.setAttribute("preserveAspectRatio","none"),svg.setAttribute("viewBox","0 0 ".concat(width," ").concat(height)),svg}createElement(type){if("string"!=typeof type)throw new Error("Invalid SVG element type");return this._createSVG(type)}_createSVG(type){(0,_util.unreachable)("Abstract method `_createSVG` called.")}}exports.BaseSVGFactory=BaseSVGFactory},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.MurmurHash3_64=void 0;var _util=__w_pdfjs_require__(1);exports.MurmurHash3_64=class{constructor(seed){this.h1=seed?4294967295&seed:3285377520,this.h2=seed?4294967295&seed:3285377520}update(input){let data,length;if("string"==typeof input){data=new Uint8Array(2*input.length),length=0;for(let i=0,ii=input.length;i>>8,data[length++]=255&code)}}else{if(!(0,_util.isArrayBuffer)(input))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");data=input.slice(),length=data.byteLength}const blockCounts=length>>2,tailLength=length-4*blockCounts,dataUint32=new Uint32Array(data.buffer,0,blockCounts);let k1=0,k2=0,h1=this.h1,h2=this.h2;const C1=3432918353,C2=461845907;for(let i=0;i>>17,k1=k1*C2&4294901760|13715*k1&65535,h1^=k1,h1=h1<<13|h1>>>19,h1=5*h1+3864292196):(k2=dataUint32[i],k2=k2*C1&4294901760|11601*k2&65535,k2=k2<<15|k2>>>17,k2=k2*C2&4294901760|13715*k2&65535,h2^=k2,h2=h2<<13|h2>>>19,h2=5*h2+3864292196);switch(k1=0,tailLength){case 3:k1^=data[4*blockCounts+2]<<16;case 2:k1^=data[4*blockCounts+1]<<8;case 1:k1^=data[4*blockCounts],k1=k1*C1&4294901760|11601*k1&65535,k1=k1<<15|k1>>>17,k1=k1*C2&4294901760|13715*k1&65535,1&blockCounts?h1^=k1:h2^=k1}this.h1=h1,this.h2=h2}hexdigest(){let h1=this.h1,h2=this.h2;return h1^=h2>>>1,h1=3981806797*h1&4294901760|36045*h1&65535,h2=4283543511*h2&4294901760|(2950163797*(h2<<16|h1>>>16)&4294901760)>>>16,h1^=h2>>>1,h1=444984403*h1&4294901760|60499*h1&65535,h2=3301882366*h2&4294901760|(3120437893*(h2<<16|h1>>>16)&4294901760)>>>16,h1^=h2>>>1,(h1>>>0).toString(16).padStart(8,"0")+(h2>>>0).toString(16).padStart(8,"0")}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FontLoader=exports.FontFaceObject=void 0;var _util=__w_pdfjs_require__(1),_systemFonts=new WeakMap;exports.FontLoader=class{constructor(_ref28){let{ownerDocument:ownerDocument=globalThis.document,styleElement:styleElement=null}=_ref28;_classPrivateFieldInitSpec(this,_systemFonts,{writable:!0,value:new Set}),this._document=ownerDocument,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(nativeFontFace){this.nativeFontFaces.add(nativeFontFace),this._document.fonts.add(nativeFontFace)}removeNativeFontFace(nativeFontFace){this.nativeFontFaces.delete(nativeFontFace),this._document.fonts.delete(nativeFontFace)}insertRule(rule){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const styleSheet=this.styleElement.sheet;styleSheet.insertRule(rule,styleSheet.cssRules.length)}clear(){for(const nativeFontFace of this.nativeFontFaces)this._document.fonts.delete(nativeFontFace);this.nativeFontFaces.clear(),_classPrivateFieldGet(this,_systemFonts).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont(info){if(info&&!_classPrivateFieldGet(this,_systemFonts).has(info.loadedName))if((0,_util.assert)(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:loadedName,src:src,style:style}=info,fontFace=new FontFace(loadedName,src,style);this.addNativeFontFace(fontFace);try{await fontFace.load(),_classPrivateFieldGet(this,_systemFonts).add(loadedName)}catch{(0,_util.warn)("Cannot load system font: ".concat(info.baseFontName,", installing it could help to improve PDF rendering.")),this.removeNativeFontFace(fontFace)}}else(0,_util.unreachable)("Not implemented: loadSystemFont without the Font Loading API.")}async bind(font){if(font.attached||font.missingFile&&!font.systemFontInfo)return;if(font.attached=!0,font.systemFontInfo)return void await this.loadSystemFont(font.systemFontInfo);if(this.isFontLoadingAPISupported){const nativeFontFace=font.createNativeFontFace();if(nativeFontFace){this.addNativeFontFace(nativeFontFace);try{await nativeFontFace.loaded}catch(ex){throw(0,_util.warn)("Failed to load font '".concat(nativeFontFace.family,"': '").concat(ex,"'.")),font.disableFontFace=!0,ex}}return}const rule=font.createFontFaceRule();if(rule){if(this.insertRule(rule),this.isSyncFontLoadingSupported)return;await new Promise((resolve=>{const request=this._queueLoadingCallback(resolve);this._prepareFontLoadEvent(font,request)}))}}get isFontLoadingAPISupported(){var _this$_document;const hasFonts=!(null===(_this$_document=this._document)||void 0===_this$_document||!_this$_document.fonts);return(0,_util.shadow)(this,"isFontLoadingAPISupported",hasFonts)}get isSyncFontLoadingSupported(){let supported=!1;return(_util.isNodeJS||"undefined"!=typeof navigator&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(supported=!0),(0,_util.shadow)(this,"isSyncFontLoadingSupported",supported)}_queueLoadingCallback(callback){const{loadingRequests:loadingRequests}=this,request={done:!1,complete:function(){for((0,_util.assert)(!request.done,"completeRequest() cannot be called twice."),request.done=!0;loadingRequests.length>0&&loadingRequests[0].done;){const otherRequest=loadingRequests.shift();setTimeout(otherRequest.callback,0)}},callback:callback};return loadingRequests.push(request),request}get _loadTestFont(){const testFont=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return(0,_util.shadow)(this,"_loadTestFont",testFont)}_prepareFontLoadEvent(font,request){function int32(data,offset){return data.charCodeAt(offset)<<24|data.charCodeAt(offset+1)<<16|data.charCodeAt(offset+2)<<8|255&data.charCodeAt(offset+3)}function spliceString(s,offset,remove,insert){return s.substring(0,offset)+insert+s.substring(offset+remove)}let i,ii;const canvas=this._document.createElement("canvas");canvas.width=1,canvas.height=1;const ctx=canvas.getContext("2d");let called=0;const loadTestFontId="lt".concat(Date.now()).concat(this.loadTestFontId++);let data=this._loadTestFont;data=spliceString(data,976,loadTestFontId.length,loadTestFontId);let checksum=int32(data,16);for(i=0,ii=loadTestFontId.length-3;i30)return(0,_util.warn)("Load test font never loaded."),void callback();ctx.font="30px "+name,ctx.fillText(".",0,20),ctx.getImageData(0,0,1,1).data[3]>0?callback():setTimeout(isFontReady.bind(null,name,callback))}(loadTestFontId,(()=>{div.remove(),request.complete()}))}},exports.FontFaceObject=class{constructor(translatedData,_ref29){let{isEvalSupported:isEvalSupported=!0,disableFontFace:disableFontFace=!1,ignoreErrors:ignoreErrors=!1,inspectFont:inspectFont=null}=_ref29;this.compiledGlyphs=Object.create(null);for(const i in translatedData)this[i]=translatedData[i];this.isEvalSupported=!1!==isEvalSupported,this.disableFontFace=!0===disableFontFace,this.ignoreErrors=!0===ignoreErrors,this._inspectFont=inspectFont}createNativeFontFace(){var _this$_inspectFont;if(!this.data||this.disableFontFace)return null;let nativeFontFace;if(this.cssFontInfo){const css={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(css.style="oblique ".concat(this.cssFontInfo.italicAngle,"deg")),nativeFontFace=new FontFace(this.cssFontInfo.fontFamily,this.data,css)}else nativeFontFace=new FontFace(this.loadedName,this.data,{});return null===(_this$_inspectFont=this._inspectFont)||void 0===_this$_inspectFont||_this$_inspectFont.call(this,this),nativeFontFace}createFontFaceRule(){var _this$_inspectFont2;if(!this.data||this.disableFontFace)return null;const data=(0,_util.bytesToString)(this.data),url="url(data:".concat(this.mimetype,";base64,").concat(btoa(data),");");let rule;if(this.cssFontInfo){let css="font-weight: ".concat(this.cssFontInfo.fontWeight,";");this.cssFontInfo.italicAngle&&(css+="font-style: oblique ".concat(this.cssFontInfo.italicAngle,"deg;")),rule='@font-face {font-family:"'.concat(this.cssFontInfo.fontFamily,'";').concat(css,"src:").concat(url,"}")}else rule='@font-face {font-family:"'.concat(this.loadedName,'";src:').concat(url,"}");return null===(_this$_inspectFont2=this._inspectFont)||void 0===_this$_inspectFont2||_this$_inspectFont2.call(this,this,url),rule}getPathGenerator(objs,character){if(void 0!==this.compiledGlyphs[character])return this.compiledGlyphs[character];let cmds;try{cmds=objs.get(this.loadedName+"_path_"+character)}catch(ex){if(!this.ignoreErrors)throw ex;return(0,_util.warn)('getPathGenerator - ignoring character: "'.concat(ex,'".')),this.compiledGlyphs[character]=function(c,size){}}if(this.isEvalSupported&&_util.FeatureTest.isEvalSupported){const jsBuf=[];for(const current of cmds){const args=void 0!==current.args?current.args.join(","):"";jsBuf.push("c.",current.cmd,"(",args,");\n")}return this.compiledGlyphs[character]=new Function("c","size",jsBuf.join(""))}return this.compiledGlyphs[character]=function(c,size){for(const current of cmds)"scale"===current.cmd&&(current.args=[size,-size]),c[current.cmd].apply(c,current.args)}}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.NodeStandardFontDataFactory=exports.NodeFilterFactory=exports.NodeCanvasFactory=exports.NodeCMapReaderFactory=void 0;var _base_factory=__w_pdfjs_require__(7);__w_pdfjs_require__(1);const fetchData=function(url){return new Promise(((resolve,reject)=>{require("fs").readFile(url,((error,data)=>{!error&&data?resolve(new Uint8Array(data)):reject(new Error(error))}))}))};class NodeFilterFactory extends _base_factory.BaseFilterFactory{}exports.NodeFilterFactory=NodeFilterFactory;class NodeCanvasFactory extends _base_factory.BaseCanvasFactory{_createCanvas(width,height){return require("canvas").createCanvas(width,height)}}exports.NodeCanvasFactory=NodeCanvasFactory;class NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory{_fetchData(url,compressionType){return fetchData(url).then((data=>({cMapData:data,compressionType:compressionType})))}}exports.NodeCMapReaderFactory=NodeCMapReaderFactory;class NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory{_fetchData(url){return fetchData(url)}}exports.NodeStandardFontDataFactory=NodeStandardFontDataFactory},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CanvasGraphics=void 0;var _util=__w_pdfjs_require__(1),_display_utils=__w_pdfjs_require__(6),_pattern_helper=__w_pdfjs_require__(12),_image_utils=__w_pdfjs_require__(13);class CachedCanvases{constructor(canvasFactory){this.canvasFactory=canvasFactory,this.cache=Object.create(null)}getCanvas(id,width,height){let canvasEntry;return void 0!==this.cache[id]?(canvasEntry=this.cache[id],this.canvasFactory.reset(canvasEntry,width,height)):(canvasEntry=this.canvasFactory.create(width,height),this.cache[id]=canvasEntry),canvasEntry}delete(id){delete this.cache[id]}clear(){for(const id in this.cache){const canvasEntry=this.cache[id];this.canvasFactory.destroy(canvasEntry),delete this.cache[id]}}}function drawImageAtIntegerCoords(ctx,srcImg,srcX,srcY,srcW,srcH,destX,destY,destW,destH){const[a,b,c,d,tx,ty]=(0,_display_utils.getCurrentTransform)(ctx);if(0===b&&0===c){const tlX=destX*a+tx,rTlX=Math.round(tlX),tlY=destY*d+ty,rTlY=Math.round(tlY),brX=(destX+destW)*a+tx,rWidth=Math.abs(Math.round(brX)-rTlX)||1,brY=(destY+destH)*d+ty,rHeight=Math.abs(Math.round(brY)-rTlY)||1;return ctx.setTransform(Math.sign(a),0,0,Math.sign(d),rTlX,rTlY),ctx.drawImage(srcImg,srcX,srcY,srcW,srcH,0,0,rWidth,rHeight),ctx.setTransform(a,b,c,d,tx,ty),[rWidth,rHeight]}if(0===a&&0===d){const tlX=destY*c+tx,rTlX=Math.round(tlX),tlY=destX*b+ty,rTlY=Math.round(tlY),brX=(destY+destH)*c+tx,rWidth=Math.abs(Math.round(brX)-rTlX)||1,brY=(destX+destW)*b+ty,rHeight=Math.abs(Math.round(brY)-rTlY)||1;return ctx.setTransform(0,Math.sign(b),Math.sign(c),0,rTlX,rTlY),ctx.drawImage(srcImg,srcX,srcY,srcW,srcH,0,0,rHeight,rWidth),ctx.setTransform(a,b,c,d,tx,ty),[rHeight,rWidth]}return ctx.drawImage(srcImg,srcX,srcY,srcW,srcH,destX,destY,destW,destH),[Math.hypot(a,b)*destW,Math.hypot(c,d)*destH]}class CanvasExtraState{constructor(width,height){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=_util.IDENTITY_MATRIX,this.textMatrixScale=1,this.fontMatrix=_util.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=_util.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="none",this.startNewPathAndClipBox([0,0,width,height])}clone(){const clone=Object.create(this);return clone.clipBox=this.clipBox.slice(),clone}setCurrentPoint(x,y){this.x=x,this.y=y}updatePathMinMax(transform,x,y){[x,y]=_util.Util.applyTransform([x,y],transform),this.minX=Math.min(this.minX,x),this.minY=Math.min(this.minY,y),this.maxX=Math.max(this.maxX,x),this.maxY=Math.max(this.maxY,y)}updateRectMinMax(transform,rect){const p1=_util.Util.applyTransform(rect,transform),p2=_util.Util.applyTransform(rect.slice(2),transform);this.minX=Math.min(this.minX,p1[0],p2[0]),this.minY=Math.min(this.minY,p1[1],p2[1]),this.maxX=Math.max(this.maxX,p1[0],p2[0]),this.maxY=Math.max(this.maxY,p1[1],p2[1])}updateScalingPathMinMax(transform,minMax){_util.Util.scaleMinMax(transform,minMax),this.minX=Math.min(this.minX,minMax[0]),this.maxX=Math.max(this.maxX,minMax[1]),this.minY=Math.min(this.minY,minMax[2]),this.maxY=Math.max(this.maxY,minMax[3])}updateCurvePathMinMax(transform,x0,y0,x1,y1,x2,y2,x3,y3,minMax){const box=_util.Util.bezierBoundingBox(x0,y0,x1,y1,x2,y2,x3,y3);if(minMax)return minMax[0]=Math.min(minMax[0],box[0],box[2]),minMax[1]=Math.max(minMax[1],box[0],box[2]),minMax[2]=Math.min(minMax[2],box[1],box[3]),void(minMax[3]=Math.max(minMax[3],box[1],box[3]));this.updateRectMinMax(transform,box)}getPathBoundingBox(){let pathType=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_pattern_helper.PathType.FILL,transform=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const box=[this.minX,this.minY,this.maxX,this.maxY];if(pathType===_pattern_helper.PathType.STROKE){transform||(0,_util.unreachable)("Stroke bounding box must include transform.");const scale=_util.Util.singularValueDecompose2dScale(transform),xStrokePad=scale[0]*this.lineWidth/2,yStrokePad=scale[1]*this.lineWidth/2;box[0]-=xStrokePad,box[1]-=yStrokePad,box[2]+=xStrokePad,box[3]+=yStrokePad}return box}updateClipFromPath(){const intersect=_util.Util.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(intersect||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(box){this.clipBox=box,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(){let pathType=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_pattern_helper.PathType.FILL,transform=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return _util.Util.intersect(this.clipBox,this.getPathBoundingBox(pathType,transform))}}function putBinaryImageData(ctx,imgData){if("undefined"!=typeof ImageData&&imgData instanceof ImageData)return void ctx.putImageData(imgData,0,0);const height=imgData.height,width=imgData.width,partialChunkHeight=height%16,fullChunks=(height-partialChunkHeight)/16,totalChunks=0===partialChunkHeight?fullChunks:fullChunks+1,chunkImgData=ctx.createImageData(width,16);let destPos,srcPos=0;const src=imgData.data,dest=chunkImgData.data;let i,j,thisChunkHeight,elemsInThisChunk;if(imgData.kind===_util.ImageKind.GRAYSCALE_1BPP){const srcLength=src.byteLength,dest32=new Uint32Array(dest.buffer,0,dest.byteLength>>2),dest32DataLength=dest32.length,fullSrcDiff=width+7>>3,white=4294967295,black=_util.FeatureTest.isLittleEndian?4278190080:255;for(i=0;ifullSrcDiff?width:8*srcDiff-7,kEndUnrolled=-8&kEnd;let mask=0,srcByte=0;for(;k>=1}for(;destPos=fullChunks&&(thisChunkHeight=partialChunkHeight,elemsInThisChunk=width*thisChunkHeight),destPos=0,j=elemsInThisChunk;j--;)dest[destPos++]=src[srcPos++],dest[destPos++]=src[srcPos++],dest[destPos++]=src[srcPos++],dest[destPos++]=255;ctx.putImageData(chunkImgData,0,16*i)}}}function putBinaryImageMask(ctx,imgData){if(imgData.bitmap)return void ctx.drawImage(imgData.bitmap,0,0);const height=imgData.height,width=imgData.width,partialChunkHeight=height%16,fullChunks=(height-partialChunkHeight)/16,totalChunks=0===partialChunkHeight?fullChunks:fullChunks+1,chunkImgData=ctx.createImageData(width,16);let srcPos=0;const src=imgData.data,dest=chunkImgData.data;for(let i=0;i>8,bytes[i-2]=bytes[i-2]*alpha+g0*alpha_>>8,bytes[i-1]=bytes[i-1]*alpha+b0*alpha_>>8}}}function composeSMaskAlpha(maskData,layerData,transferMap){const length=maskData.length;for(let i=3;i>8]>>8:layerData[i]*y>>16}}function composeSMask(ctx,smask,layerCtx,layerBox){const layerOffsetX=layerBox[0],layerOffsetY=layerBox[1],layerWidth=layerBox[2]-layerOffsetX,layerHeight=layerBox[3]-layerOffsetY;0!==layerWidth&&0!==layerHeight&&(function(maskCtx,layerCtx,width,height,subtype,backdrop,transferMap,layerOffsetX,layerOffsetY,maskOffsetX,maskOffsetY){const hasBackdrop=!!backdrop,r0=hasBackdrop?backdrop[0]:0,g0=hasBackdrop?backdrop[1]:0,b0=hasBackdrop?backdrop[2]:0,composeFn="Luminosity"===subtype?composeSMaskLuminosity:composeSMaskAlpha,chunkSize=Math.min(height,Math.ceil(1048576/width));for(let row=0;row1&&void 0!==arguments[1]?arguments[1]:null;return"string"==typeof data?data.startsWith("g_")?this.commonObjs.get(data):this.objs.get(data):fallback}beginDrawing(_ref31){let{transform:transform,viewport:viewport,transparency:transparency=!1,background:background=null}=_ref31;const width=this.ctx.canvas.width,height=this.ctx.canvas.height,savedFillStyle=this.ctx.fillStyle;if(this.ctx.fillStyle=background||"#ffffff",this.ctx.fillRect(0,0,width,height),this.ctx.fillStyle=savedFillStyle,transparency){const transparentCanvas=this.cachedCanvases.getCanvas("transparent",width,height);this.compositeCtx=this.ctx,this.transparentCanvas=transparentCanvas.canvas,this.ctx=transparentCanvas.context,this.ctx.save(),this.ctx.transform(...(0,_display_utils.getCurrentTransform)(this.compositeCtx))}this.ctx.save(),resetCtxToDefault(this.ctx),transform&&(this.ctx.transform(...transform),this.outputScaleX=transform[0],this.outputScaleY=transform[0]),this.ctx.transform(...viewport.transform),this.viewportScale=viewport.scale,this.baseTransform=(0,_display_utils.getCurrentTransform)(this.ctx)}executeOperatorList(operatorList,executionStartIdx,continueCallback,stepper){const argsArray=operatorList.argsArray,fnArray=operatorList.fnArray;let i=executionStartIdx||0;const argsArrayLen=argsArray.length;if(argsArrayLen===i)return i;const chunkOperations=argsArrayLen-i>10&&"function"==typeof continueCallback,endTime=chunkOperations?Date.now()+15:0;let steps=0;const commonObjs=this.commonObjs,objs=this.objs;let fnId;for(;;){if(void 0!==stepper&&i===stepper.nextBreakPoint)return stepper.breakIt(i,continueCallback),i;if(fnId=fnArray[i],fnId!==_util.OPS.dependency)this[fnId].apply(this,argsArray[i]);else for(const depObjId of argsArray[i]){const objsPool=depObjId.startsWith("g_")?commonObjs:objs;if(!objsPool.has(depObjId))return objsPool.get(depObjId,continueCallback),i}if(i++,i===argsArrayLen)return i;if(chunkOperations&&++steps>10){if(Date.now()>endTime)return continueCallback(),i;steps=0}}}endDrawing(){_classPrivateMethodGet(this,_restoreInitialState,_restoreInitialState2).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const cache of this._cachedBitmapsMap.values()){for(const canvas of cache.values())"undefined"!=typeof HTMLCanvasElement&&canvas instanceof HTMLCanvasElement&&(canvas.width=canvas.height=0);cache.clear()}this._cachedBitmapsMap.clear(),_classPrivateMethodGet(this,_drawFilter,_drawFilter2).call(this)}_scaleImage(img,inverseTransform){const width=img.width,height=img.height;let tmpCanvas,tmpCtx,widthScale=Math.max(Math.hypot(inverseTransform[0],inverseTransform[1]),1),heightScale=Math.max(Math.hypot(inverseTransform[2],inverseTransform[3]),1),paintWidth=width,paintHeight=height,tmpCanvasId="prescale1";for(;widthScale>2&&paintWidth>1||heightScale>2&&paintHeight>1;){let newWidth=paintWidth,newHeight=paintHeight;widthScale>2&&paintWidth>1&&(newWidth=paintWidth>=16384?Math.floor(paintWidth/2)-1||1:Math.ceil(paintWidth/2),widthScale/=paintWidth/newWidth),heightScale>2&&paintHeight>1&&(newHeight=paintHeight>=16384?Math.floor(paintHeight/2)-1||1:Math.ceil(paintHeight)/2,heightScale/=paintHeight/newHeight),tmpCanvas=this.cachedCanvases.getCanvas(tmpCanvasId,newWidth,newHeight),tmpCtx=tmpCanvas.context,tmpCtx.clearRect(0,0,newWidth,newHeight),tmpCtx.drawImage(img,0,0,paintWidth,paintHeight,0,0,newWidth,newHeight),img=tmpCanvas.canvas,paintWidth=newWidth,paintHeight=newHeight,tmpCanvasId="prescale1"===tmpCanvasId?"prescale2":"prescale1"}return{img:img,paintWidth:paintWidth,paintHeight:paintHeight}}_createMaskCanvas(img){const ctx=this.ctx,{width:width,height:height}=img,fillColor=this.current.fillColor,isPatternFill=this.current.patternFill,currentTransform=(0,_display_utils.getCurrentTransform)(ctx);let cache,cacheKey,scaled,maskCanvas;if((img.bitmap||img.data)&&img.count>1){const mainKey=img.bitmap||img.data.buffer;cacheKey=JSON.stringify(isPatternFill?currentTransform:[currentTransform.slice(0,4),fillColor]),cache=this._cachedBitmapsMap.get(mainKey),cache||(cache=new Map,this._cachedBitmapsMap.set(mainKey,cache));const cachedImage=cache.get(cacheKey);if(cachedImage&&!isPatternFill)return{canvas:cachedImage,offsetX:Math.round(Math.min(currentTransform[0],currentTransform[2])+currentTransform[4]),offsetY:Math.round(Math.min(currentTransform[1],currentTransform[3])+currentTransform[5])};scaled=cachedImage}scaled||(maskCanvas=this.cachedCanvases.getCanvas("maskCanvas",width,height),putBinaryImageMask(maskCanvas.context,img));let maskToCanvas=_util.Util.transform(currentTransform,[1/width,0,0,-1/height,0,0]);maskToCanvas=_util.Util.transform(maskToCanvas,[1,0,0,1,0,-height]);const cord1=_util.Util.applyTransform([0,0],maskToCanvas),cord2=_util.Util.applyTransform([width,height],maskToCanvas),rect=_util.Util.normalizeRect([cord1[0],cord1[1],cord2[0],cord2[1]]),drawnWidth=Math.round(rect[2]-rect[0])||1,drawnHeight=Math.round(rect[3]-rect[1])||1,fillCanvas=this.cachedCanvases.getCanvas("fillCanvas",drawnWidth,drawnHeight),fillCtx=fillCanvas.context,offsetX=Math.min(cord1[0],cord2[0]),offsetY=Math.min(cord1[1],cord2[1]);fillCtx.translate(-offsetX,-offsetY),fillCtx.transform(...maskToCanvas),scaled||(scaled=this._scaleImage(maskCanvas.canvas,(0,_display_utils.getCurrentTransformInverse)(fillCtx)),scaled=scaled.img,cache&&isPatternFill&&cache.set(cacheKey,scaled)),fillCtx.imageSmoothingEnabled=getImageSmoothingEnabled((0,_display_utils.getCurrentTransform)(fillCtx),img.interpolate),drawImageAtIntegerCoords(fillCtx,scaled,0,0,scaled.width,scaled.height,0,0,width,height),fillCtx.globalCompositeOperation="source-in";const inverse=_util.Util.transform((0,_display_utils.getCurrentTransformInverse)(fillCtx),[1,0,0,1,-offsetX,-offsetY]);return fillCtx.fillStyle=isPatternFill?fillColor.getPattern(ctx,this,inverse,_pattern_helper.PathType.FILL):fillColor,fillCtx.fillRect(0,0,width,height),cache&&!isPatternFill&&(this.cachedCanvases.delete("fillCanvas"),cache.set(cacheKey,fillCanvas.canvas)),{canvas:fillCanvas.canvas,offsetX:Math.round(offsetX),offsetY:Math.round(offsetY)}}setLineWidth(width){width!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=width,this.ctx.lineWidth=width}setLineCap(style){this.ctx.lineCap=LINE_CAP_STYLES[style]}setLineJoin(style){this.ctx.lineJoin=LINE_JOIN_STYLES[style]}setMiterLimit(limit){this.ctx.miterLimit=limit}setDash(dashArray,dashPhase){const ctx=this.ctx;void 0!==ctx.setLineDash&&(ctx.setLineDash(dashArray),ctx.lineDashOffset=dashPhase)}setRenderingIntent(intent){}setFlatness(flatness){}setGState(states){for(const[key,value]of states)switch(key){case"LW":this.setLineWidth(value);break;case"LC":this.setLineCap(value);break;case"LJ":this.setLineJoin(value);break;case"ML":this.setMiterLimit(value);break;case"D":this.setDash(value[0],value[1]);break;case"RI":this.setRenderingIntent(value);break;case"FL":this.setFlatness(value);break;case"Font":this.setFont(value[0],value[1]);break;case"CA":this.current.strokeAlpha=value;break;case"ca":this.current.fillAlpha=value,this.ctx.globalAlpha=value;break;case"BM":this.ctx.globalCompositeOperation=value;break;case"SMask":this.current.activeSMask=value?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(value)}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const inSMaskMode=this.inSMaskMode;this.current.activeSMask&&!inSMaskMode?this.beginSMaskMode():!this.current.activeSMask&&inSMaskMode&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const drawnWidth=this.ctx.canvas.width,drawnHeight=this.ctx.canvas.height,cacheId="smaskGroupAt"+this.groupLevel,scratchCanvas=this.cachedCanvases.getCanvas(cacheId,drawnWidth,drawnHeight);this.suspendedCtx=this.ctx,this.ctx=scratchCanvas.context;const ctx=this.ctx;ctx.setTransform(...(0,_display_utils.getCurrentTransform)(this.suspendedCtx)),copyCtxState(this.suspendedCtx,ctx),function(ctx,destCtx){if(ctx._removeMirroring)throw new Error("Context is already forwarding operations.");ctx.__originalSave=ctx.save,ctx.__originalRestore=ctx.restore,ctx.__originalRotate=ctx.rotate,ctx.__originalScale=ctx.scale,ctx.__originalTranslate=ctx.translate,ctx.__originalTransform=ctx.transform,ctx.__originalSetTransform=ctx.setTransform,ctx.__originalResetTransform=ctx.resetTransform,ctx.__originalClip=ctx.clip,ctx.__originalMoveTo=ctx.moveTo,ctx.__originalLineTo=ctx.lineTo,ctx.__originalBezierCurveTo=ctx.bezierCurveTo,ctx.__originalRect=ctx.rect,ctx.__originalClosePath=ctx.closePath,ctx.__originalBeginPath=ctx.beginPath,ctx._removeMirroring=()=>{ctx.save=ctx.__originalSave,ctx.restore=ctx.__originalRestore,ctx.rotate=ctx.__originalRotate,ctx.scale=ctx.__originalScale,ctx.translate=ctx.__originalTranslate,ctx.transform=ctx.__originalTransform,ctx.setTransform=ctx.__originalSetTransform,ctx.resetTransform=ctx.__originalResetTransform,ctx.clip=ctx.__originalClip,ctx.moveTo=ctx.__originalMoveTo,ctx.lineTo=ctx.__originalLineTo,ctx.bezierCurveTo=ctx.__originalBezierCurveTo,ctx.rect=ctx.__originalRect,ctx.closePath=ctx.__originalClosePath,ctx.beginPath=ctx.__originalBeginPath,delete ctx._removeMirroring},ctx.save=function(){destCtx.save(),this.__originalSave()},ctx.restore=function(){destCtx.restore(),this.__originalRestore()},ctx.translate=function(x,y){destCtx.translate(x,y),this.__originalTranslate(x,y)},ctx.scale=function(x,y){destCtx.scale(x,y),this.__originalScale(x,y)},ctx.transform=function(a,b,c,d,e,f){destCtx.transform(a,b,c,d,e,f),this.__originalTransform(a,b,c,d,e,f)},ctx.setTransform=function(a,b,c,d,e,f){destCtx.setTransform(a,b,c,d,e,f),this.__originalSetTransform(a,b,c,d,e,f)},ctx.resetTransform=function(){destCtx.resetTransform(),this.__originalResetTransform()},ctx.rotate=function(angle){destCtx.rotate(angle),this.__originalRotate(angle)},ctx.clip=function(rule){destCtx.clip(rule),this.__originalClip(rule)},ctx.moveTo=function(x,y){destCtx.moveTo(x,y),this.__originalMoveTo(x,y)},ctx.lineTo=function(x,y){destCtx.lineTo(x,y),this.__originalLineTo(x,y)},ctx.bezierCurveTo=function(cp1x,cp1y,cp2x,cp2y,x,y){destCtx.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y),this.__originalBezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)},ctx.rect=function(x,y,width,height){destCtx.rect(x,y,width,height),this.__originalRect(x,y,width,height)},ctx.closePath=function(){destCtx.closePath(),this.__originalClosePath()},ctx.beginPath=function(){destCtx.beginPath(),this.__originalBeginPath()}}(ctx,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(),copyCtxState(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(dirtyBox){if(!this.current.activeSMask)return;dirtyBox?(dirtyBox[0]=Math.floor(dirtyBox[0]),dirtyBox[1]=Math.floor(dirtyBox[1]),dirtyBox[2]=Math.ceil(dirtyBox[2]),dirtyBox[3]=Math.ceil(dirtyBox[3])):dirtyBox=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const smask=this.current.activeSMask;composeSMask(this.suspendedCtx,smask,this.ctx,dirtyBox),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?(copyCtxState(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const old=this.current;this.stateStack.push(old),this.current=old.clone()}restore(){0===this.stateStack.length&&this.inSMaskMode&&this.endSMaskMode(),0!==this.stateStack.length&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),copyCtxState(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(a,b,c,d,e,f){this.ctx.transform(a,b,c,d,e,f),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(ops,args,minMax){const ctx=this.ctx,current=this.current;let startX,startY,x=current.x,y=current.y;const currentTransform=(0,_display_utils.getCurrentTransform)(ctx),isScalingMatrix=0===currentTransform[0]&&0===currentTransform[3]||0===currentTransform[1]&&0===currentTransform[2],minMaxForBezier=isScalingMatrix?minMax.slice(0):null;for(let i=0,j=0,ii=ops.length;i0&&void 0!==arguments[0])||arguments[0];const ctx=this.ctx,strokeColor=this.current.strokeColor;ctx.globalAlpha=this.current.strokeAlpha,this.contentVisible&&("object"==typeof strokeColor&&null!=strokeColor&&strokeColor.getPattern?(ctx.save(),ctx.strokeStyle=strokeColor.getPattern(ctx,this,(0,_display_utils.getCurrentTransformInverse)(ctx),_pattern_helper.PathType.STROKE),this.rescaleAndStroke(!1),ctx.restore()):this.rescaleAndStroke(!0)),consumePath&&this.consumePath(this.current.getClippedPathBoundingBox()),ctx.globalAlpha=this.current.fillAlpha}closeStroke(){this.closePath(),this.stroke()}fill(){let consumePath=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const ctx=this.ctx,fillColor=this.current.fillColor;let needRestore=!1;this.current.patternFill&&(ctx.save(),ctx.fillStyle=fillColor.getPattern(ctx,this,(0,_display_utils.getCurrentTransformInverse)(ctx),_pattern_helper.PathType.FILL),needRestore=!0);const intersect=this.current.getClippedPathBoundingBox();this.contentVisible&&null!==intersect&&(this.pendingEOFill?(ctx.fill("evenodd"),this.pendingEOFill=!1):ctx.fill()),needRestore&&ctx.restore(),consumePath&&this.consumePath(intersect)}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=NORMAL_CLIP}eoClip(){this.pendingClip=EO_CLIP}beginText(){this.current.textMatrix=_util.IDENTITY_MATRIX,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}endText(){const paths=this.pendingTextPaths,ctx=this.ctx;if(void 0!==paths){ctx.save(),ctx.beginPath();for(const path of paths)ctx.setTransform(...path.transform),ctx.translate(path.x,path.y),path.addToPath(ctx,path.fontSize);ctx.restore(),ctx.clip(),ctx.beginPath(),delete this.pendingTextPaths}else ctx.beginPath()}setCharSpacing(spacing){this.current.charSpacing=spacing}setWordSpacing(spacing){this.current.wordSpacing=spacing}setHScale(scale){this.current.textHScale=scale/100}setLeading(leading){this.current.leading=-leading}setFont(fontRefName,size){var _fontObj$systemFontIn;const fontObj=this.commonObjs.get(fontRefName),current=this.current;if(!fontObj)throw new Error("Can't find font for ".concat(fontRefName));if(current.fontMatrix=fontObj.fontMatrix||_util.FONT_IDENTITY_MATRIX,0!==current.fontMatrix[0]&&0!==current.fontMatrix[3]||(0,_util.warn)("Invalid font matrix for font "+fontRefName),size<0?(size=-size,current.fontDirection=-1):current.fontDirection=1,this.current.font=fontObj,this.current.fontSize=size,fontObj.isType3Font)return;const name=fontObj.loadedName||"sans-serif",typeface=(null===(_fontObj$systemFontIn=fontObj.systemFontInfo)||void 0===_fontObj$systemFontIn?void 0:_fontObj$systemFontIn.css)||'"'.concat(name,'", ').concat(fontObj.fallbackName);let bold="normal";fontObj.black?bold="900":fontObj.bold&&(bold="bold");const italic=fontObj.italic?"italic":"normal";let browserFontSize=size;size<16?browserFontSize=16:size>100&&(browserFontSize=100),this.current.fontSizeScale=size/browserFontSize,this.ctx.font="".concat(italic," ").concat(bold," ").concat(browserFontSize,"px ").concat(typeface)}setTextRenderingMode(mode){this.current.textRenderingMode=mode}setTextRise(rise){this.current.textRise=rise}moveText(x,y){this.current.x=this.current.lineX+=x,this.current.y=this.current.lineY+=y}setLeadingMoveText(x,y){this.setLeading(-y),this.moveText(x,y)}setTextMatrix(a,b,c,d,e,f){this.current.textMatrix=[a,b,c,d,e,f],this.current.textMatrixScale=Math.hypot(a,b),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(character,x,y,patternTransform){const ctx=this.ctx,current=this.current,font=current.font,textRenderingMode=current.textRenderingMode,fontSize=current.fontSize/current.fontSizeScale,fillStrokeMode=textRenderingMode&_util.TextRenderingMode.FILL_STROKE_MASK,isAddToPathSet=!!(textRenderingMode&_util.TextRenderingMode.ADD_TO_PATH_FLAG),patternFill=current.patternFill&&!font.missingFile;let addToPath;(font.disableFontFace||isAddToPathSet||patternFill)&&(addToPath=font.getPathGenerator(this.commonObjs,character)),font.disableFontFace||patternFill?(ctx.save(),ctx.translate(x,y),ctx.beginPath(),addToPath(ctx,fontSize),patternTransform&&ctx.setTransform(...patternTransform),fillStrokeMode!==_util.TextRenderingMode.FILL&&fillStrokeMode!==_util.TextRenderingMode.FILL_STROKE||ctx.fill(),fillStrokeMode!==_util.TextRenderingMode.STROKE&&fillStrokeMode!==_util.TextRenderingMode.FILL_STROKE||ctx.stroke(),ctx.restore()):(fillStrokeMode!==_util.TextRenderingMode.FILL&&fillStrokeMode!==_util.TextRenderingMode.FILL_STROKE||ctx.fillText(character,x,y),fillStrokeMode!==_util.TextRenderingMode.STROKE&&fillStrokeMode!==_util.TextRenderingMode.FILL_STROKE||ctx.strokeText(character,x,y)),isAddToPathSet&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:(0,_display_utils.getCurrentTransform)(ctx),x:x,y:y,fontSize:fontSize,addToPath:addToPath})}get isFontSubpixelAAEnabled(){const{context:ctx}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);ctx.scale(1.5,1),ctx.fillText("I",0,10);const data=ctx.getImageData(0,0,10,10).data;let enabled=!1;for(let i=3;i0&&data[i]<255){enabled=!0;break}return(0,_util.shadow)(this,"isFontSubpixelAAEnabled",enabled)}showText(glyphs){const current=this.current,font=current.font;if(font.isType3Font)return this.showType3Text(glyphs);const fontSize=current.fontSize;if(0===fontSize)return;const ctx=this.ctx,fontSizeScale=current.fontSizeScale,charSpacing=current.charSpacing,wordSpacing=current.wordSpacing,fontDirection=current.fontDirection,textHScale=current.textHScale*fontDirection,glyphsLength=glyphs.length,vertical=font.vertical,spacingDir=vertical?1:-1,defaultVMetrics=font.defaultVMetrics,widthAdvanceScale=fontSize*current.fontMatrix[0],simpleFillText=current.textRenderingMode===_util.TextRenderingMode.FILL&&!font.disableFontFace&&!current.patternFill;let patternTransform;if(ctx.save(),ctx.transform(...current.textMatrix),ctx.translate(current.x,current.y+current.textRise),fontDirection>0?ctx.scale(textHScale,-1):ctx.scale(textHScale,1),current.patternFill){ctx.save();const pattern=current.fillColor.getPattern(ctx,this,(0,_display_utils.getCurrentTransformInverse)(ctx),_pattern_helper.PathType.FILL);patternTransform=(0,_display_utils.getCurrentTransform)(ctx),ctx.restore(),ctx.fillStyle=pattern}let lineWidth=current.lineWidth;const scale=current.textMatrixScale;if(0===scale||0===lineWidth){const fillStrokeMode=current.textRenderingMode&_util.TextRenderingMode.FILL_STROKE_MASK;fillStrokeMode!==_util.TextRenderingMode.STROKE&&fillStrokeMode!==_util.TextRenderingMode.FILL_STROKE||(lineWidth=this.getSinglePixelWidth())}else lineWidth/=scale;if(1!==fontSizeScale&&(ctx.scale(fontSizeScale,fontSizeScale),lineWidth/=fontSizeScale),ctx.lineWidth=lineWidth,font.isInvalidPDFjsFont){const chars=[];let width=0;for(const glyph of glyphs)chars.push(glyph.unicode),width+=glyph.width;return ctx.fillText(chars.join(""),0,0),current.x+=width*widthAdvanceScale*textHScale,ctx.restore(),void this.compose()}let i,x=0;for(i=0;i0){const measuredWidth=1e3*ctx.measureText(character).width/fontSize*fontSizeScale;if(widthnew CanvasGraphics(ctx,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};pattern=new _pattern_helper.TilingPattern(IR,color,this.ctx,canvasGraphicsFactory,baseTransform)}else pattern=this._getPattern(IR[1],IR[2]);return pattern}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(r,g,b){const color=_util.Util.makeHexColor(r,g,b);this.ctx.strokeStyle=color,this.current.strokeColor=color}setFillRGBColor(r,g,b){const color=_util.Util.makeHexColor(r,g,b);this.ctx.fillStyle=color,this.current.fillColor=color,this.current.patternFill=!1}_getPattern(objId){let pattern,matrix=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.cachedPatterns.has(objId)?pattern=this.cachedPatterns.get(objId):(pattern=(0,_pattern_helper.getShadingPattern)(this.getObject(objId)),this.cachedPatterns.set(objId,pattern)),matrix&&(pattern.matrix=matrix),pattern}shadingFill(objId){if(!this.contentVisible)return;const ctx=this.ctx;this.save();const pattern=this._getPattern(objId);ctx.fillStyle=pattern.getPattern(ctx,this,(0,_display_utils.getCurrentTransformInverse)(ctx),_pattern_helper.PathType.SHADING);const inv=(0,_display_utils.getCurrentTransformInverse)(ctx);if(inv){const{width:width,height:height}=ctx.canvas,[x0,y0,x1,y1]=_util.Util.getAxialAlignedBoundingBox([0,0,width,height],inv);this.ctx.fillRect(x0,y0,x1-x0,y1-y0)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){(0,_util.unreachable)("Should not call beginInlineImage")}beginImageData(){(0,_util.unreachable)("Should not call beginImageData")}paintFormXObjectBegin(matrix,bbox){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),Array.isArray(matrix)&&6===matrix.length&&this.transform(...matrix),this.baseTransform=(0,_display_utils.getCurrentTransform)(this.ctx),bbox)){const width=bbox[2]-bbox[0],height=bbox[3]-bbox[1];this.ctx.rect(bbox[0],bbox[1],width,height),this.current.updateRectMinMax((0,_display_utils.getCurrentTransform)(this.ctx),bbox),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(group){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const currentCtx=this.ctx;group.isolated||(0,_util.info)("TODO: Support non-isolated groups."),group.knockout&&(0,_util.warn)("Knockout groups not supported.");const currentTransform=(0,_display_utils.getCurrentTransform)(currentCtx);if(group.matrix&¤tCtx.transform(...group.matrix),!group.bbox)throw new Error("Bounding box is required.");let bounds=_util.Util.getAxialAlignedBoundingBox(group.bbox,(0,_display_utils.getCurrentTransform)(currentCtx));const canvasBounds=[0,0,currentCtx.canvas.width,currentCtx.canvas.height];bounds=_util.Util.intersect(bounds,canvasBounds)||[0,0,0,0];const offsetX=Math.floor(bounds[0]),offsetY=Math.floor(bounds[1]);let drawnWidth=Math.max(Math.ceil(bounds[2])-offsetX,1),drawnHeight=Math.max(Math.ceil(bounds[3])-offsetY,1),scaleX=1,scaleY=1;drawnWidth>4096&&(scaleX=drawnWidth/4096,drawnWidth=4096),drawnHeight>4096&&(scaleY=drawnHeight/4096,drawnHeight=4096),this.current.startNewPathAndClipBox([0,0,drawnWidth,drawnHeight]);let cacheId="groupAt"+this.groupLevel;group.smask&&(cacheId+="_smask_"+this.smaskCounter++%2);const scratchCanvas=this.cachedCanvases.getCanvas(cacheId,drawnWidth,drawnHeight),groupCtx=scratchCanvas.context;groupCtx.scale(1/scaleX,1/scaleY),groupCtx.translate(-offsetX,-offsetY),groupCtx.transform(...currentTransform),group.smask?this.smaskStack.push({canvas:scratchCanvas.canvas,context:groupCtx,offsetX:offsetX,offsetY:offsetY,scaleX:scaleX,scaleY:scaleY,subtype:group.smask.subtype,backdrop:group.smask.backdrop,transferMap:group.smask.transferMap||null,startTransformInverse:null}):(currentCtx.setTransform(1,0,0,1,0,0),currentCtx.translate(offsetX,offsetY),currentCtx.scale(scaleX,scaleY),currentCtx.save()),copyCtxState(currentCtx,groupCtx),this.ctx=groupCtx,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(currentCtx),this.groupLevel++}endGroup(group){if(!this.contentVisible)return;this.groupLevel--;const groupCtx=this.ctx,ctx=this.groupStack.pop();if(this.ctx=ctx,this.ctx.imageSmoothingEnabled=!1,group.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const currentMtx=(0,_display_utils.getCurrentTransform)(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...currentMtx);const dirtyBox=_util.Util.getAxialAlignedBoundingBox([0,0,groupCtx.canvas.width,groupCtx.canvas.height],currentMtx);this.ctx.drawImage(groupCtx.canvas,0,0),this.ctx.restore(),this.compose(dirtyBox)}}beginAnnotation(id,rect,transform,matrix,hasOwnCanvas){if(_classPrivateMethodGet(this,_restoreInitialState,_restoreInitialState2).call(this),resetCtxToDefault(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),Array.isArray(rect)&&4===rect.length){const width=rect[2]-rect[0],height=rect[3]-rect[1];if(hasOwnCanvas&&this.annotationCanvasMap){(transform=transform.slice())[4]-=rect[0],transform[5]-=rect[1],(rect=rect.slice())[0]=rect[1]=0,rect[2]=width,rect[3]=height;const[scaleX,scaleY]=_util.Util.singularValueDecompose2dScale((0,_display_utils.getCurrentTransform)(this.ctx)),{viewportScale:viewportScale}=this,canvasWidth=Math.ceil(width*this.outputScaleX*viewportScale),canvasHeight=Math.ceil(height*this.outputScaleY*viewportScale);this.annotationCanvas=this.canvasFactory.create(canvasWidth,canvasHeight);const{canvas:canvas,context:context}=this.annotationCanvas;this.annotationCanvasMap.set(id,canvas),this.annotationCanvas.savedCtx=this.ctx,this.ctx=context,this.ctx.save(),this.ctx.setTransform(scaleX,0,0,-scaleY,0,height*scaleY),resetCtxToDefault(this.ctx)}else resetCtxToDefault(this.ctx),this.ctx.rect(rect[0],rect[1],width,height),this.ctx.clip(),this.endPath()}this.current=new CanvasExtraState(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...transform),this.transform(...matrix)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),_classPrivateMethodGet(this,_drawFilter,_drawFilter2).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(img){if(!this.contentVisible)return;const count=img.count;(img=this.getObject(img.data,img)).count=count;const ctx=this.ctx,glyph=this.processingType3;if(glyph&&(void 0===glyph.compiled&&(glyph.compiled=function(imgData){const{width:width,height:height}=imgData;if(width>1e3||height>1e3)return null;const POINT_TYPES=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),width1=width+1;let i,j,j0,points=new Uint8Array(width1*(height+1));const lineSize=width+7&-8;let data=new Uint8Array(lineSize*height),pos=0;for(const elem of imgData.data){let mask=128;for(;mask>0;)data[pos++]=elem&mask?0:255,mask>>=1}let count=0;for(pos=0,0!==data[pos]&&(points[0]=1,++count),j=1;j>2)+(data[pos+1]?4:0)+(data[pos-lineSize+1]?8:0),POINT_TYPES[sum]&&(points[j0+j]=POINT_TYPES[sum],++count),pos++;if(data[pos-lineSize]!==data[pos]&&(points[j0+j]=data[pos]?2:4,++count),count>1e3)return null}for(pos=lineSize*(height-1),j0=i*width1,0!==data[pos]&&(points[j0]=8,++count),j=1;j1e3)return null;const steps=new Int32Array([0,width1,-1,0,-width1,0,0,0,1]),path=new Path2D;for(i=0;count&&i<=height;i++){let p=i*width1;const end=p+width;for(;p>4,points[p]&=type>>2|type<<2),path.lineTo(p%width1,p/width1|0),points[p]||--count}while(p0!==p);--i}return data=null,points=null,function(c){c.save(),c.scale(1/width,-1/height),c.translate(0,-height),c.fill(path),c.beginPath(),c.restore()}}(img)),glyph.compiled))return void glyph.compiled(ctx);const mask=this._createMaskCanvas(img),maskCanvas=mask.canvas;ctx.save(),ctx.setTransform(1,0,0,1,0,0),ctx.drawImage(maskCanvas,mask.offsetX,mask.offsetY),ctx.restore(),this.compose()}paintImageMaskXObjectRepeat(img,scaleX){let skewX=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,skewY=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,scaleY=arguments.length>4?arguments[4]:void 0,positions=arguments.length>5?arguments[5]:void 0;if(!this.contentVisible)return;img=this.getObject(img.data,img);const ctx=this.ctx;ctx.save();const currentTransform=(0,_display_utils.getCurrentTransform)(ctx);ctx.transform(scaleX,skewX,skewY,scaleY,0,0);const mask=this._createMaskCanvas(img);ctx.setTransform(1,0,0,1,mask.offsetX-currentTransform[4],mask.offsetY-currentTransform[5]);for(let i=0,ii=positions.length;ibaseArea?normY/baseArea:1,scaleY=normX>baseArea?normX/baseArea:1}}this._cachedScaleForStroking[0]=scaleX,this._cachedScaleForStroking[1]=scaleY}return this._cachedScaleForStroking}rescaleAndStroke(saveRestore){const{ctx:ctx}=this,{lineWidth:lineWidth}=this.current,[scaleX,scaleY]=this.getScaleForStroking();if(ctx.lineWidth=lineWidth||1,1===scaleX&&1===scaleY)return void ctx.stroke();const dashes=ctx.getLineDash();if(saveRestore&&ctx.save(),ctx.scale(scaleX,scaleY),dashes.length>0){const scale=Math.max(scaleX,scaleY);ctx.setLineDash(dashes.map((x=>x/scale))),ctx.lineDashOffset/=scale}ctx.stroke(),saveRestore&&ctx.restore()}isContentVisible(){for(let i=this.markedContentStack.length-1;i>=0;i--)if(!this.markedContentStack[i].visible)return!1;return!0}}function _restoreInitialState2(){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)}function _drawFilter2(){if(this.pageColors){const hcmFilterId=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if("none"!==hcmFilterId){const savedFilter=this.ctx.filter;this.ctx.filter=hcmFilterId,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=savedFilter}}}exports.CanvasGraphics=CanvasGraphics;for(const op in _util.OPS)void 0!==CanvasGraphics.prototype[op]&&(CanvasGraphics.prototype[_util.OPS[op]]=CanvasGraphics.prototype[op])},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.TilingPattern=exports.PathType=void 0,exports.getShadingPattern=function(IR){switch(IR[0]){case"RadialAxial":return new RadialAxialShadingPattern(IR);case"Mesh":return new MeshShadingPattern(IR);case"Dummy":return new DummyShadingPattern}throw new Error("Unknown IR type: ".concat(IR[0]))};var _util=__w_pdfjs_require__(1),_display_utils=__w_pdfjs_require__(6);const PathType={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function applyBoundingBox(ctx,bbox){if(!bbox)return;const width=bbox[2]-bbox[0],height=bbox[3]-bbox[1],region=new Path2D;region.rect(bbox[0],bbox[1],width,height),ctx.clip(region)}exports.PathType=PathType;class BaseShadingPattern{constructor(){this.constructor===BaseShadingPattern&&(0,_util.unreachable)("Cannot initialize BaseShadingPattern.")}getPattern(){(0,_util.unreachable)("Abstract method `getPattern` called.")}}class RadialAxialShadingPattern extends BaseShadingPattern{constructor(IR){super(),this._type=IR[1],this._bbox=IR[2],this._colorStops=IR[3],this._p0=IR[4],this._p1=IR[5],this._r0=IR[6],this._r1=IR[7],this.matrix=null}_createGradient(ctx){let grad;"axial"===this._type?grad=ctx.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):"radial"===this._type&&(grad=ctx.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const colorStop of this._colorStops)grad.addColorStop(colorStop[0],colorStop[1]);return grad}getPattern(ctx,owner,inverse,pathType){let pattern;if(pathType===PathType.STROKE||pathType===PathType.FILL){const ownerBBox=owner.current.getClippedPathBoundingBox(pathType,(0,_display_utils.getCurrentTransform)(ctx))||[0,0,0,0],width=Math.ceil(ownerBBox[2]-ownerBBox[0])||1,height=Math.ceil(ownerBBox[3]-ownerBBox[1])||1,tmpCanvas=owner.cachedCanvases.getCanvas("pattern",width,height,!0),tmpCtx=tmpCanvas.context;tmpCtx.clearRect(0,0,tmpCtx.canvas.width,tmpCtx.canvas.height),tmpCtx.beginPath(),tmpCtx.rect(0,0,tmpCtx.canvas.width,tmpCtx.canvas.height),tmpCtx.translate(-ownerBBox[0],-ownerBBox[1]),inverse=_util.Util.transform(inverse,[1,0,0,1,ownerBBox[0],ownerBBox[1]]),tmpCtx.transform(...owner.baseTransform),this.matrix&&tmpCtx.transform(...this.matrix),applyBoundingBox(tmpCtx,this._bbox),tmpCtx.fillStyle=this._createGradient(tmpCtx),tmpCtx.fill(),pattern=ctx.createPattern(tmpCanvas.canvas,"no-repeat");const domMatrix=new DOMMatrix(inverse);pattern.setTransform(domMatrix)}else applyBoundingBox(ctx,this._bbox),pattern=this._createGradient(ctx);return pattern}}function drawTriangle(data,context,p1,p2,p3,c1,c2,c3){const coords=context.coords,colors=context.colors,bytes=data.data,rowSize=4*data.width;let tmp;coords[p1+1]>coords[p2+1]&&(tmp=p1,p1=p2,p2=tmp,tmp=c1,c1=c2,c2=tmp),coords[p2+1]>coords[p3+1]&&(tmp=p2,p2=p3,p3=tmp,tmp=c2,c2=c3,c3=tmp),coords[p1+1]>coords[p2+1]&&(tmp=p1,p1=p2,p2=tmp,tmp=c1,c1=c2,c2=tmp);const x1=(coords[p1]+context.offsetX)*context.scaleX,y1=(coords[p1+1]+context.offsetY)*context.scaleY,x2=(coords[p2]+context.offsetX)*context.scaleX,y2=(coords[p2+1]+context.offsetY)*context.scaleY,x3=(coords[p3]+context.offsetX)*context.scaleX,y3=(coords[p3+1]+context.offsetY)*context.scaleY;if(y1>=y3)return;const c1r=colors[c1],c1g=colors[c1+1],c1b=colors[c1+2],c2r=colors[c2],c2g=colors[c2+1],c2b=colors[c2+2],c3r=colors[c3],c3g=colors[c3+1],c3b=colors[c3+2],minY=Math.round(y1),maxY=Math.round(y3);let xa,car,cag,cab,xb,cbr,cbg,cbb;for(let y=minY;y<=maxY;y++){if(yy3?1:y2===y3?0:(y2-y)/(y2-y3),xa=x2-(x2-x3)*k,car=c2r-(c2r-c3r)*k,cag=c2g-(c2g-c3g)*k,cab=c2b-(c2b-c3b)*k}let k;k=yy3?1:(y1-y)/(y1-y3),xb=x1-(x1-x3)*k,cbr=c1r-(c1r-c3r)*k,cbg=c1g-(c1g-c3g)*k,cbb=c1b-(c1b-c3b)*k;const x1_=Math.round(Math.min(xa,xb)),x2_=Math.round(Math.max(xa,xb));let j=rowSize*y+4*x1_;for(let x=x1_;x<=x2_;x++)k=(xa-x)/(xa-xb),k<0?k=0:k>1&&(k=1),bytes[j++]=car-(car-cbr)*k|0,bytes[j++]=cag-(cag-cbg)*k|0,bytes[j++]=cab-(cab-cbb)*k|0,bytes[j++]=255}}function drawFigure(data,figure,context){const ps=figure.coords,cs=figure.colors;let i,ii;switch(figure.type){case"lattice":const verticesPerRow=figure.verticesPerRow,rows=Math.floor(ps.length/verticesPerRow)-1,cols=verticesPerRow-1;for(i=0;i=maxSize?size=maxSize:scale=size/step,{scale:scale,size:size}}clipBbox(graphics,x0,y0,x1,y1){const bboxWidth=x1-x0,bboxHeight=y1-y0;graphics.ctx.rect(x0,y0,bboxWidth,bboxHeight),graphics.current.updateRectMinMax((0,_display_utils.getCurrentTransform)(graphics.ctx),[x0,y0,x1,y1]),graphics.clip(),graphics.endPath()}setFillAndStrokeStyleToContext(graphics,paintType,color){const context=graphics.ctx,current=graphics.current;switch(paintType){case PaintType_COLORED:const ctx=this.ctx;context.fillStyle=ctx.fillStyle,context.strokeStyle=ctx.strokeStyle,current.fillColor=ctx.fillStyle,current.strokeColor=ctx.strokeStyle;break;case PaintType_UNCOLORED:const cssColor=_util.Util.makeHexColor(color[0],color[1],color[2]);context.fillStyle=cssColor,context.strokeStyle=cssColor,current.fillColor=cssColor,current.strokeColor=cssColor;break;default:throw new _util.FormatError("Unsupported paint type: ".concat(paintType))}}getPattern(ctx,owner,inverse,pathType){let matrix=inverse;pathType!==PathType.SHADING&&(matrix=_util.Util.transform(matrix,owner.baseTransform),this.matrix&&(matrix=_util.Util.transform(matrix,this.matrix)));const temporaryPatternCanvas=this.createPatternCanvas(owner);let domMatrix=new DOMMatrix(matrix);domMatrix=domMatrix.translate(temporaryPatternCanvas.offsetX,temporaryPatternCanvas.offsetY),domMatrix=domMatrix.scale(1/temporaryPatternCanvas.scaleX,1/temporaryPatternCanvas.scaleY);const pattern=ctx.createPattern(temporaryPatternCanvas.canvas,"repeat");return pattern.setTransform(domMatrix),pattern}}_defineProperty(TilingPattern,"MAX_PATTERN_SIZE",3e3),exports.TilingPattern=TilingPattern},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertBlackAndWhiteToRGBA=convertBlackAndWhiteToRGBA,exports.convertToRGBA=function(params){switch(params.kind){case _util.ImageKind.GRAYSCALE_1BPP:return convertBlackAndWhiteToRGBA(params);case _util.ImageKind.RGB_24BPP:return function(_ref33){let{src:src,srcPos:srcPos=0,dest:dest,destPos:destPos=0,width:width,height:height}=_ref33,i=0;const len32=src.length>>2,src32=new Uint32Array(src.buffer,srcPos,len32);if(_util.FeatureTest.isLittleEndian){for(;i>>24|s2<<8|4278190080,dest[destPos+2]=s2>>>16|s3<<16|4278190080,dest[destPos+3]=s3>>>8|4278190080}for(let j=4*i,jj=src.length;j>>8|255,dest[destPos+2]=s2<<16|s3>>>16|255,dest[destPos+3]=s3<<8|255}for(let j=4*i,jj=src.length;j>3,widthRemainder=7&width,srcLength=src.length;dest=new Uint32Array(dest.buffer);let destPos=0;for(let i=0;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.GlobalWorkerOptions=void 0;const GlobalWorkerOptions=Object.create(null);exports.GlobalWorkerOptions=GlobalWorkerOptions,GlobalWorkerOptions.workerPort=null,GlobalWorkerOptions.workerSrc=""},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.MessageHandler=void 0;var _util=__w_pdfjs_require__(1);const CallbackKind_DATA=1,CallbackKind_ERROR=2,StreamKind_CANCEL=1,StreamKind_CANCEL_COMPLETE=2,StreamKind_CLOSE=3,StreamKind_ENQUEUE=4,StreamKind_ERROR=5,StreamKind_PULL=6,StreamKind_PULL_COMPLETE=7,StreamKind_START_COMPLETE=8;function wrapReason(reason){switch(reason instanceof Error||"object"==typeof reason&&null!==reason||(0,_util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),reason.name){case"AbortException":return new _util.AbortException(reason.message);case"MissingPDFException":return new _util.MissingPDFException(reason.message);case"PasswordException":return new _util.PasswordException(reason.message,reason.code);case"UnexpectedResponseException":return new _util.UnexpectedResponseException(reason.message,reason.status);case"UnknownErrorException":return new _util.UnknownErrorException(reason.message,reason.details);default:return new _util.UnknownErrorException(reason.message,reason.toString())}}var _createStreamSink=new WeakSet,_processStreamMessage=new WeakSet,_deleteStreamController=new WeakSet;function _createStreamSink2(data){const streamId=data.streamId,sourceName=this.sourceName,targetName=data.sourceName,comObj=this.comObj,self=this,action=this.actionHandler[data.action],streamSink={enqueue(chunk){let size=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,transfers=arguments.length>2?arguments[2]:void 0;if(this.isCancelled)return;const lastDesiredSize=this.desiredSize;this.desiredSize-=size,lastDesiredSize>0&&this.desiredSize<=0&&(this.sinkCapability=new _util.PromiseCapability,this.ready=this.sinkCapability.promise),comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_ENQUEUE,streamId:streamId,chunk:chunk},transfers)},close(){this.isCancelled||(this.isCancelled=!0,comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_CLOSE,streamId:streamId}),delete self.streamSinks[streamId])},error(reason){(0,_util.assert)(reason instanceof Error,"error must have a valid reason"),this.isCancelled||(this.isCancelled=!0,comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_ERROR,streamId:streamId,reason:wrapReason(reason)}))},sinkCapability:new _util.PromiseCapability,onPull:null,onCancel:null,isCancelled:!1,desiredSize:data.desiredSize,ready:null};streamSink.sinkCapability.resolve(),streamSink.ready=streamSink.sinkCapability.promise,this.streamSinks[streamId]=streamSink,new Promise((function(resolve){resolve(action(data.data,streamSink))})).then((function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_START_COMPLETE,streamId:streamId,success:!0})}),(function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_START_COMPLETE,streamId:streamId,reason:wrapReason(reason)})}))}function _processStreamMessage2(data){const streamId=data.streamId,sourceName=this.sourceName,targetName=data.sourceName,comObj=this.comObj,streamController=this.streamControllers[streamId],streamSink=this.streamSinks[streamId];switch(data.stream){case StreamKind_START_COMPLETE:data.success?streamController.startCall.resolve():streamController.startCall.reject(wrapReason(data.reason));break;case StreamKind_PULL_COMPLETE:data.success?streamController.pullCall.resolve():streamController.pullCall.reject(wrapReason(data.reason));break;case StreamKind_PULL:if(!streamSink){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_PULL_COMPLETE,streamId:streamId,success:!0});break}streamSink.desiredSize<=0&&data.desiredSize>0&&streamSink.sinkCapability.resolve(),streamSink.desiredSize=data.desiredSize,new Promise((function(resolve){var _streamSink$onPull;resolve(null===(_streamSink$onPull=streamSink.onPull)||void 0===_streamSink$onPull?void 0:_streamSink$onPull.call(streamSink))})).then((function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_PULL_COMPLETE,streamId:streamId,success:!0})}),(function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_PULL_COMPLETE,streamId:streamId,reason:wrapReason(reason)})}));break;case StreamKind_ENQUEUE:if((0,_util.assert)(streamController,"enqueue should have stream controller"),streamController.isClosed)break;streamController.controller.enqueue(data.chunk);break;case StreamKind_CLOSE:if((0,_util.assert)(streamController,"close should have stream controller"),streamController.isClosed)break;streamController.isClosed=!0,streamController.controller.close(),_classPrivateMethodGet(this,_deleteStreamController,_deleteStreamController2).call(this,streamController,streamId);break;case StreamKind_ERROR:(0,_util.assert)(streamController,"error should have stream controller"),streamController.controller.error(wrapReason(data.reason)),_classPrivateMethodGet(this,_deleteStreamController,_deleteStreamController2).call(this,streamController,streamId);break;case StreamKind_CANCEL_COMPLETE:data.success?streamController.cancelCall.resolve():streamController.cancelCall.reject(wrapReason(data.reason)),_classPrivateMethodGet(this,_deleteStreamController,_deleteStreamController2).call(this,streamController,streamId);break;case StreamKind_CANCEL:if(!streamSink)break;new Promise((function(resolve){var _streamSink$onCancel;resolve(null===(_streamSink$onCancel=streamSink.onCancel)||void 0===_streamSink$onCancel?void 0:_streamSink$onCancel.call(streamSink,wrapReason(data.reason)))})).then((function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_CANCEL_COMPLETE,streamId:streamId,success:!0})}),(function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_CANCEL_COMPLETE,streamId:streamId,reason:wrapReason(reason)})})),streamSink.sinkCapability.reject(wrapReason(data.reason)),streamSink.isCancelled=!0,delete this.streamSinks[streamId];break;default:throw new Error("Unexpected stream case")}}async function _deleteStreamController2(streamController,streamId){var _streamController$sta,_streamController$pul,_streamController$can;await Promise.allSettled([null===(_streamController$sta=streamController.startCall)||void 0===_streamController$sta?void 0:_streamController$sta.promise,null===(_streamController$pul=streamController.pullCall)||void 0===_streamController$pul?void 0:_streamController$pul.promise,null===(_streamController$can=streamController.cancelCall)||void 0===_streamController$can?void 0:_streamController$can.promise]),delete this.streamControllers[streamId]}exports.MessageHandler=class{constructor(_sourceName,_targetName,_comObj){_classPrivateMethodInitSpec(this,_deleteStreamController),_classPrivateMethodInitSpec(this,_processStreamMessage),_classPrivateMethodInitSpec(this,_createStreamSink),this.sourceName=_sourceName,this.targetName=_targetName,this.comObj=_comObj,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=event=>{const data=event.data;if(data.targetName!==this.sourceName)return;if(data.stream)return void _classPrivateMethodGet(this,_processStreamMessage,_processStreamMessage2).call(this,data);if(data.callback){const callbackId=data.callbackId,capability=this.callbackCapabilities[callbackId];if(!capability)throw new Error("Cannot resolve callback ".concat(callbackId));if(delete this.callbackCapabilities[callbackId],data.callback===CallbackKind_DATA)capability.resolve(data.data);else{if(data.callback!==CallbackKind_ERROR)throw new Error("Unexpected callback case");capability.reject(wrapReason(data.reason))}return}const action=this.actionHandler[data.action];if(!action)throw new Error("Unknown action from worker: ".concat(data.action));if(data.callbackId){const cbSourceName=this.sourceName,cbTargetName=data.sourceName;new Promise((function(resolve){resolve(action(data.data))})).then((function(result){_comObj.postMessage({sourceName:cbSourceName,targetName:cbTargetName,callback:CallbackKind_DATA,callbackId:data.callbackId,data:result})}),(function(reason){_comObj.postMessage({sourceName:cbSourceName,targetName:cbTargetName,callback:CallbackKind_ERROR,callbackId:data.callbackId,reason:wrapReason(reason)})}))}else data.streamId?_classPrivateMethodGet(this,_createStreamSink,_createStreamSink2).call(this,data):action(data.data)},_comObj.addEventListener("message",this._onComObjOnMessage)}on(actionName,handler){const ah=this.actionHandler;if(ah[actionName])throw new Error('There is already an actionName called "'.concat(actionName,'"'));ah[actionName]=handler}send(actionName,data,transfers){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:actionName,data:data},transfers)}sendWithPromise(actionName,data,transfers){const callbackId=this.callbackId++,capability=new _util.PromiseCapability;this.callbackCapabilities[callbackId]=capability;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:actionName,callbackId:callbackId,data:data},transfers)}catch(ex){capability.reject(ex)}return capability.promise}sendWithStream(actionName,data,queueingStrategy,transfers){const streamId=this.streamId++,sourceName=this.sourceName,targetName=this.targetName,comObj=this.comObj;return new ReadableStream({start:controller=>{const startCapability=new _util.PromiseCapability;return this.streamControllers[streamId]={controller:controller,startCall:startCapability,pullCall:null,cancelCall:null,isClosed:!1},comObj.postMessage({sourceName:sourceName,targetName:targetName,action:actionName,streamId:streamId,data:data,desiredSize:controller.desiredSize},transfers),startCapability.promise},pull:controller=>{const pullCapability=new _util.PromiseCapability;return this.streamControllers[streamId].pullCall=pullCapability,comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_PULL,streamId:streamId,desiredSize:controller.desiredSize}),pullCapability.promise},cancel:reason=>{(0,_util.assert)(reason instanceof Error,"cancel must have a valid reason");const cancelCapability=new _util.PromiseCapability;return this.streamControllers[streamId].cancelCall=cancelCapability,this.streamControllers[streamId].isClosed=!0,comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_CANCEL,streamId:streamId,reason:wrapReason(reason)}),cancelCapability.promise}},queueingStrategy)}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Metadata=void 0;var _util=__w_pdfjs_require__(1),_metadataMap=new WeakMap,_data2=new WeakMap;exports.Metadata=class{constructor(_ref34){let{parsedData:parsedData,rawData:rawData}=_ref34;_classPrivateFieldInitSpec(this,_metadataMap,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_data2,{writable:!0,value:void 0}),_classPrivateFieldSet(this,_metadataMap,parsedData),_classPrivateFieldSet(this,_data2,rawData)}getRaw(){return _classPrivateFieldGet(this,_data2)}get(name){var _classPrivateFieldGet15;return null!==(_classPrivateFieldGet15=_classPrivateFieldGet(this,_metadataMap).get(name))&&void 0!==_classPrivateFieldGet15?_classPrivateFieldGet15:null}getAll(){return(0,_util.objectFromMap)(_classPrivateFieldGet(this,_metadataMap))}has(name){return _classPrivateFieldGet(this,_metadataMap).has(name)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.OptionalContentConfig=void 0;var _util=__w_pdfjs_require__(1),_murmurhash=__w_pdfjs_require__(8);const INTERNAL=Symbol("INTERNAL");var _visible=new WeakMap;class OptionalContentGroup{constructor(name,intent){_classPrivateFieldInitSpec(this,_visible,{writable:!0,value:!0}),this.name=name,this.intent=intent}get visible(){return _classPrivateFieldGet(this,_visible)}_setVisible(internal,visible){internal!==INTERNAL&&(0,_util.unreachable)("Internal method `_setVisible` called."),_classPrivateFieldSet(this,_visible,visible)}}var _cachedGetHash=new WeakMap,_groups=new WeakMap,_initialHash=new WeakMap,_order=new WeakMap,_evaluateVisibilityExpression=new WeakSet;function _evaluateVisibilityExpression2(array){const length=array.length;if(length<2)return!0;const operator=array[0];for(let i=1;i1&&void 0!==arguments[1])||arguments[1];_classPrivateFieldGet(this,_groups).has(id)?(_classPrivateFieldGet(this,_groups).get(id)._setVisible(INTERNAL,!!visible),_classPrivateFieldSet(this,_cachedGetHash,null)):(0,_util.warn)("Optional content group not found: ".concat(id))}get hasInitialVisibility(){return null===_classPrivateFieldGet(this,_initialHash)||this.getHash()===_classPrivateFieldGet(this,_initialHash)}getOrder(){return _classPrivateFieldGet(this,_groups).size?_classPrivateFieldGet(this,_order)?_classPrivateFieldGet(this,_order).slice():[..._classPrivateFieldGet(this,_groups).keys()]:null}getGroups(){return _classPrivateFieldGet(this,_groups).size>0?(0,_util.objectFromMap)(_classPrivateFieldGet(this,_groups)):null}getGroup(id){return _classPrivateFieldGet(this,_groups).get(id)||null}getHash(){if(null!==_classPrivateFieldGet(this,_cachedGetHash))return _classPrivateFieldGet(this,_cachedGetHash);const hash=new _murmurhash.MurmurHash3_64;for(const[id,group]of _classPrivateFieldGet(this,_groups))hash.update("".concat(id,":").concat(group.visible));return _classPrivateFieldSet(this,_cachedGetHash,hash.hexdigest())}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PDFDataTransportStream=void 0;var _util=__w_pdfjs_require__(1),_display_utils=__w_pdfjs_require__(6);exports.PDFDataTransportStream=class{constructor(_ref35,pdfDataRangeTransport){let{length:length,initialData:initialData,progressiveDone:progressiveDone=!1,contentDispositionFilename:contentDispositionFilename=null,disableRange:disableRange=!1,disableStream:disableStream=!1}=_ref35;if((0,_util.assert)(pdfDataRangeTransport,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'),this._queuedChunks=[],this._progressiveDone=progressiveDone,this._contentDispositionFilename=contentDispositionFilename,(null==initialData?void 0:initialData.length)>0){const buffer=initialData instanceof Uint8Array&&initialData.byteLength===initialData.buffer.byteLength?initialData.buffer:new Uint8Array(initialData).buffer;this._queuedChunks.push(buffer)}this._pdfDataRangeTransport=pdfDataRangeTransport,this._isStreamingSupported=!disableStream,this._isRangeSupported=!disableRange,this._contentLength=length,this._fullRequestReader=null,this._rangeReaders=[],this._pdfDataRangeTransport.addRangeListener(((begin,chunk)=>{this._onReceiveData({begin:begin,chunk:chunk})})),this._pdfDataRangeTransport.addProgressListener(((loaded,total)=>{this._onProgress({loaded:loaded,total:total})})),this._pdfDataRangeTransport.addProgressiveReadListener((chunk=>{this._onReceiveData({chunk:chunk})})),this._pdfDataRangeTransport.addProgressiveDoneListener((()=>{this._onProgressiveDone()})),this._pdfDataRangeTransport.transportReady()}_onReceiveData(_ref36){let{begin:begin,chunk:chunk}=_ref36;const buffer=chunk instanceof Uint8Array&&chunk.byteLength===chunk.buffer.byteLength?chunk.buffer:new Uint8Array(chunk).buffer;if(void 0===begin)this._fullRequestReader?this._fullRequestReader._enqueue(buffer):this._queuedChunks.push(buffer);else{const found=this._rangeReaders.some((function(rangeReader){return rangeReader._begin===begin&&(rangeReader._enqueue(buffer),!0)}));(0,_util.assert)(found,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var _this$_fullRequestRea,_this$_fullRequestRea2;return null!==(_this$_fullRequestRea=null===(_this$_fullRequestRea2=this._fullRequestReader)||void 0===_this$_fullRequestRea2?void 0:_this$_fullRequestRea2._loaded)&&void 0!==_this$_fullRequestRea?_this$_fullRequestRea:0}_onProgress(evt){var _this$_rangeReaders$,_this$_rangeReaders$$,_this$_fullRequestRea3,_this$_fullRequestRea4;void 0===evt.total?null===(_this$_rangeReaders$=this._rangeReaders[0])||void 0===_this$_rangeReaders$||null===(_this$_rangeReaders$$=_this$_rangeReaders$.onProgress)||void 0===_this$_rangeReaders$$||_this$_rangeReaders$$.call(_this$_rangeReaders$,{loaded:evt.loaded}):null===(_this$_fullRequestRea3=this._fullRequestReader)||void 0===_this$_fullRequestRea3||null===(_this$_fullRequestRea4=_this$_fullRequestRea3.onProgress)||void 0===_this$_fullRequestRea4||_this$_fullRequestRea4.call(_this$_fullRequestRea3,{loaded:evt.loaded,total:evt.total})}_onProgressiveDone(){var _this$_fullRequestRea5;null===(_this$_fullRequestRea5=this._fullRequestReader)||void 0===_this$_fullRequestRea5||_this$_fullRequestRea5.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(reader){const i=this._rangeReaders.indexOf(reader);i>=0&&this._rangeReaders.splice(i,1)}getFullReader(){(0,_util.assert)(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const queuedChunks=this._queuedChunks;return this._queuedChunks=null,new PDFDataTransportStreamReader(this,queuedChunks,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(begin,end){if(end<=this._progressiveDataLength)return null;const reader=new PDFDataTransportStreamRangeReader(this,begin,end);return this._pdfDataRangeTransport.requestDataRange(begin,end),this._rangeReaders.push(reader),reader}cancelAllRequests(reason){var _this$_fullRequestRea6;null===(_this$_fullRequestRea6=this._fullRequestReader)||void 0===_this$_fullRequestRea6||_this$_fullRequestRea6.cancel(reason);for(const reader of this._rangeReaders.slice(0))reader.cancel(reason);this._pdfDataRangeTransport.abort()}};class PDFDataTransportStreamReader{constructor(stream,queuedChunks){let progressiveDone=arguments.length>2&&void 0!==arguments[2]&&arguments[2],contentDispositionFilename=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;this._stream=stream,this._done=progressiveDone||!1,this._filename=(0,_display_utils.isPdfFile)(contentDispositionFilename)?contentDispositionFilename:null,this._queuedChunks=queuedChunks||[],this._loaded=0;for(const chunk of this._queuedChunks)this._loaded+=chunk.byteLength;this._requests=[],this._headersReady=Promise.resolve(),stream._fullRequestReader=this,this.onProgress=null}_enqueue(chunk){this._done||(this._requests.length>0?this._requests.shift().resolve({value:chunk,done:!1}):this._queuedChunks.push(chunk),this._loaded+=chunk.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 requestCapability=new _util.PromiseCapability;return this._requests.push(requestCapability),requestCapability.promise}cancel(reason){this._done=!0;for(const requestCapability of this._requests)requestCapability.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class PDFDataTransportStreamRangeReader{constructor(stream,begin,end){this._stream=stream,this._begin=begin,this._end=end,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(chunk){if(!this._done){if(0===this._requests.length)this._queuedChunk=chunk;else{this._requests.shift().resolve({value:chunk,done:!1});for(const requestCapability of this._requests)requestCapability.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 chunk=this._queuedChunk;return this._queuedChunk=null,{value:chunk,done:!1}}if(this._done)return{value:void 0,done:!0};const requestCapability=new _util.PromiseCapability;return this._requests.push(requestCapability),requestCapability.promise}cancel(reason){this._done=!0;for(const requestCapability of this._requests)requestCapability.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PDFFetchStream=void 0;var _util=__w_pdfjs_require__(1),_network_utils=__w_pdfjs_require__(20);function createFetchOptions(headers,withCredentials,abortController){return{method:"GET",headers:headers,signal:abortController.signal,mode:"cors",credentials:withCredentials?"include":"same-origin",redirect:"follow"}}function createHeaders(httpHeaders){const headers=new Headers;for(const property in httpHeaders){const value=httpHeaders[property];void 0!==value&&headers.append(property,value)}return headers}function getArrayBuffer(val){return val instanceof Uint8Array?val.buffer:val instanceof ArrayBuffer?val:((0,_util.warn)("getArrayBuffer - unexpected data format: ".concat(val)),new Uint8Array(val).buffer)}exports.PDFFetchStream=class{constructor(source){this.source=source,this.isHttp=/^https?:/i.test(source.url),this.httpHeaders=this.isHttp&&source.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var _this$_fullRequestRea7,_this$_fullRequestRea8;return null!==(_this$_fullRequestRea7=null===(_this$_fullRequestRea8=this._fullRequestReader)||void 0===_this$_fullRequestRea8?void 0:_this$_fullRequestRea8._loaded)&&void 0!==_this$_fullRequestRea7?_this$_fullRequestRea7:0}getFullReader(){return(0,_util.assert)(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new PDFFetchStreamReader(this),this._fullRequestReader}getRangeReader(begin,end){if(end<=this._progressiveDataLength)return null;const reader=new PDFFetchStreamRangeReader(this,begin,end);return this._rangeRequestReaders.push(reader),reader}cancelAllRequests(reason){var _this$_fullRequestRea9;null===(_this$_fullRequestRea9=this._fullRequestReader)||void 0===_this$_fullRequestRea9||_this$_fullRequestRea9.cancel(reason);for(const reader of this._rangeRequestReaders.slice(0))reader.cancel(reason)}};class PDFFetchStreamReader{constructor(stream){this._stream=stream,this._reader=null,this._loaded=0,this._filename=null;const source=stream.source;this._withCredentials=source.withCredentials||!1,this._contentLength=source.length,this._headersCapability=new _util.PromiseCapability,this._disableRange=source.disableRange||!1,this._rangeChunkSize=source.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!source.disableStream,this._isRangeSupported=!source.disableRange,this._headers=createHeaders(this._stream.httpHeaders);const url=source.url;fetch(url,createFetchOptions(this._headers,this._withCredentials,this._abortController)).then((response=>{if(!(0,_network_utils.validateResponseStatus)(response.status))throw(0,_network_utils.createResponseStatusError)(response.status,url);this._reader=response.body.getReader(),this._headersCapability.resolve();const getResponseHeader=name=>response.headers.get(name),{allowRangeRequests:allowRangeRequests,suggestedLength:suggestedLength}=(0,_network_utils.validateRangeRequestCapabilities)({getResponseHeader:getResponseHeader,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=allowRangeRequests,this._contentLength=suggestedLength||this._contentLength,this._filename=(0,_network_utils.extractFilenameFromHeader)(getResponseHeader),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new _util.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(){var _this$onProgress;await this._headersCapability.promise;const{value:value,done:done}=await this._reader.read();return done?{value:value,done:done}:(this._loaded+=value.byteLength,null===(_this$onProgress=this.onProgress)||void 0===_this$onProgress||_this$onProgress.call(this,{loaded:this._loaded,total:this._contentLength}),{value:getArrayBuffer(value),done:!1})}cancel(reason){var _this$_reader;null===(_this$_reader=this._reader)||void 0===_this$_reader||_this$_reader.cancel(reason),this._abortController.abort()}}class PDFFetchStreamRangeReader{constructor(stream,begin,end){this._stream=stream,this._reader=null,this._loaded=0;const source=stream.source;this._withCredentials=source.withCredentials||!1,this._readCapability=new _util.PromiseCapability,this._isStreamingSupported=!source.disableStream,this._abortController=new AbortController,this._headers=createHeaders(this._stream.httpHeaders),this._headers.append("Range","bytes=".concat(begin,"-").concat(end-1));const url=source.url;fetch(url,createFetchOptions(this._headers,this._withCredentials,this._abortController)).then((response=>{if(!(0,_network_utils.validateResponseStatus)(response.status))throw(0,_network_utils.createResponseStatusError)(response.status,url);this._readCapability.resolve(),this._reader=response.body.getReader()})).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var _this$onProgress2;await this._readCapability.promise;const{value:value,done:done}=await this._reader.read();return done?{value:value,done:done}:(this._loaded+=value.byteLength,null===(_this$onProgress2=this.onProgress)||void 0===_this$onProgress2||_this$onProgress2.call(this,{loaded:this._loaded}),{value:getArrayBuffer(value),done:!1})}cancel(reason){var _this$_reader2;null===(_this$_reader2=this._reader)||void 0===_this$_reader2||_this$_reader2.cancel(reason),this._abortController.abort()}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createResponseStatusError=function(status,url){return 404===status||0===status&&url.startsWith("file:")?new _util.MissingPDFException('Missing PDF "'+url+'".'):new _util.UnexpectedResponseException("Unexpected server response (".concat(status,') while retrieving PDF "').concat(url,'".'),status)},exports.extractFilenameFromHeader=function(getResponseHeader){const contentDisposition=getResponseHeader("Content-Disposition");if(contentDisposition){let filename=(0,_content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);if(filename.includes("%"))try{filename=decodeURIComponent(filename)}catch{}if((0,_display_utils.isPdfFile)(filename))return filename}return null},exports.validateRangeRequestCapabilities=function(_ref37){let{getResponseHeader:getResponseHeader,isHttp:isHttp,rangeChunkSize:rangeChunkSize,disableRange:disableRange}=_ref37;const returnValues={allowRangeRequests:!1,suggestedLength:void 0},length=parseInt(getResponseHeader("Content-Length"),10);return Number.isInteger(length)?(returnValues.suggestedLength=length,length<=2*rangeChunkSize||disableRange||!isHttp||"bytes"!==getResponseHeader("Accept-Ranges")||"identity"!==(getResponseHeader("Content-Encoding")||"identity")||(returnValues.allowRangeRequests=!0),returnValues):returnValues},exports.validateResponseStatus=function(status){return 200===status||206===status};var _util=__w_pdfjs_require__(1),_content_disposition=__w_pdfjs_require__(21),_display_utils=__w_pdfjs_require__(6)},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFilenameFromContentDispositionHeader=function(contentDisposition){let needsEncodingFixup=!0,tmp=toParamRegExp("filename\\*","i").exec(contentDisposition);if(tmp){tmp=tmp[1];let filename=rfc2616unquote(tmp);return filename=unescape(filename),filename=rfc5987decode(filename),filename=rfc2047decode(filename),fixupEncoding(filename)}if(tmp=function(contentDispositionStr){const matches=[];let match;const iter=toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(match=iter.exec(contentDispositionStr));){let[,n,quot,part]=match;if(n=parseInt(n,10),n in matches){if(0===n)break}else matches[n]=[quot,part]}const parts=[];for(let n=0;n{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PDFNetworkStream=void 0;var _util=__w_pdfjs_require__(1),_network_utils=__w_pdfjs_require__(20);class NetworkManager{constructor(url){let args=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.url=url,this.isHttp=/^https?:/i.test(url),this.httpHeaders=this.isHttp&&args.httpHeaders||Object.create(null),this.withCredentials=args.withCredentials||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(begin,end,listeners){const args={begin:begin,end:end};for(const prop in listeners)args[prop]=listeners[prop];return this.request(args)}requestFull(listeners){return this.request(listeners)}request(args){const xhr=new XMLHttpRequest,xhrId=this.currXhrId++,pendingRequest=this.pendingRequests[xhrId]={xhr:xhr};xhr.open("GET",this.url),xhr.withCredentials=this.withCredentials;for(const property in this.httpHeaders){const value=this.httpHeaders[property];void 0!==value&&xhr.setRequestHeader(property,value)}return this.isHttp&&"begin"in args&&"end"in args?(xhr.setRequestHeader("Range","bytes=".concat(args.begin,"-").concat(args.end-1)),pendingRequest.expectedStatus=206):pendingRequest.expectedStatus=200,xhr.responseType="arraybuffer",args.onError&&(xhr.onerror=function(evt){args.onError(xhr.status)}),xhr.onreadystatechange=this.onStateChange.bind(this,xhrId),xhr.onprogress=this.onProgress.bind(this,xhrId),pendingRequest.onHeadersReceived=args.onHeadersReceived,pendingRequest.onDone=args.onDone,pendingRequest.onError=args.onError,pendingRequest.onProgress=args.onProgress,xhr.send(null),xhrId}onProgress(xhrId,evt){var _pendingRequest$onPro;const pendingRequest=this.pendingRequests[xhrId];pendingRequest&&(null===(_pendingRequest$onPro=pendingRequest.onProgress)||void 0===_pendingRequest$onPro||_pendingRequest$onPro.call(pendingRequest,evt))}onStateChange(xhrId,evt){const pendingRequest=this.pendingRequests[xhrId];if(!pendingRequest)return;const xhr=pendingRequest.xhr;if(xhr.readyState>=2&&pendingRequest.onHeadersReceived&&(pendingRequest.onHeadersReceived(),delete pendingRequest.onHeadersReceived),4!==xhr.readyState)return;if(!(xhrId in this.pendingRequests))return;var _pendingRequest$onErr;if(delete this.pendingRequests[xhrId],0===xhr.status&&this.isHttp)return void(null===(_pendingRequest$onErr=pendingRequest.onError)||void 0===_pendingRequest$onErr||_pendingRequest$onErr.call(pendingRequest,xhr.status));const xhrStatus=xhr.status||200;var _pendingRequest$onErr2;if((200!==xhrStatus||206!==pendingRequest.expectedStatus)&&xhrStatus!==pendingRequest.expectedStatus)return void(null===(_pendingRequest$onErr2=pendingRequest.onError)||void 0===_pendingRequest$onErr2||_pendingRequest$onErr2.call(pendingRequest,xhr.status));const chunk=function(xhr){const data=xhr.response;return"string"!=typeof data?data:(0,_util.stringToBytes)(data).buffer}(xhr);if(206===xhrStatus){const rangeHeader=xhr.getResponseHeader("Content-Range"),matches=/bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);pendingRequest.onDone({begin:parseInt(matches[1],10),chunk:chunk})}else if(chunk)pendingRequest.onDone({begin:0,chunk:chunk});else{var _pendingRequest$onErr3;null===(_pendingRequest$onErr3=pendingRequest.onError)||void 0===_pendingRequest$onErr3||_pendingRequest$onErr3.call(pendingRequest,xhr.status)}}getRequestXhr(xhrId){return this.pendingRequests[xhrId].xhr}isPendingRequest(xhrId){return xhrId in this.pendingRequests}abortRequest(xhrId){const xhr=this.pendingRequests[xhrId].xhr;delete this.pendingRequests[xhrId],xhr.abort()}}exports.PDFNetworkStream=class{constructor(source){this._source=source,this._manager=new NetworkManager(source.url,{httpHeaders:source.httpHeaders,withCredentials:source.withCredentials}),this._rangeChunkSize=source.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(reader){const i=this._rangeRequestReaders.indexOf(reader);i>=0&&this._rangeRequestReaders.splice(i,1)}getFullReader(){return(0,_util.assert)(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new PDFNetworkStreamFullRequestReader(this._manager,this._source),this._fullRequestReader}getRangeReader(begin,end){const reader=new PDFNetworkStreamRangeRequestReader(this._manager,begin,end);return reader.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(reader),reader}cancelAllRequests(reason){var _this$_fullRequestRea10;null===(_this$_fullRequestRea10=this._fullRequestReader)||void 0===_this$_fullRequestRea10||_this$_fullRequestRea10.cancel(reason);for(const reader of this._rangeRequestReaders.slice(0))reader.cancel(reason)}};class PDFNetworkStreamFullRequestReader{constructor(manager,source){this._manager=manager;const args={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=source.url,this._fullRequestId=manager.requestFull(args),this._headersReceivedCapability=new _util.PromiseCapability,this._disableRange=source.disableRange||!1,this._contentLength=source.length,this._rangeChunkSize=source.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 fullRequestXhrId=this._fullRequestId,fullRequestXhr=this._manager.getRequestXhr(fullRequestXhrId),getResponseHeader=name=>fullRequestXhr.getResponseHeader(name),{allowRangeRequests:allowRangeRequests,suggestedLength:suggestedLength}=(0,_network_utils.validateRangeRequestCapabilities)({getResponseHeader:getResponseHeader,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});allowRangeRequests&&(this._isRangeSupported=!0),this._contentLength=suggestedLength||this._contentLength,this._filename=(0,_network_utils.extractFilenameFromHeader)(getResponseHeader),this._isRangeSupported&&this._manager.abortRequest(fullRequestXhrId),this._headersReceivedCapability.resolve()}_onDone(data){if(data&&(this._requests.length>0?this._requests.shift().resolve({value:data.chunk,done:!1}):this._cachedChunks.push(data.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const requestCapability of this._requests)requestCapability.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(status){this._storedError=(0,_network_utils.createResponseStatusError)(status,this._url),this._headersReceivedCapability.reject(this._storedError);for(const requestCapability of this._requests)requestCapability.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(evt){var _this$onProgress3;null===(_this$onProgress3=this.onProgress)||void 0===_this$onProgress3||_this$onProgress3.call(this,{loaded:evt.loaded,total:evt.lengthComputable?evt.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 requestCapability=new _util.PromiseCapability;return this._requests.push(requestCapability),requestCapability.promise}cancel(reason){this._done=!0,this._headersReceivedCapability.reject(reason);for(const requestCapability of this._requests)requestCapability.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class PDFNetworkStreamRangeRequestReader{constructor(manager,begin,end){this._manager=manager;const args={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=manager.url,this._requestId=manager.requestRange(begin,end,args),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){var _this$onClosed;null===(_this$onClosed=this.onClosed)||void 0===_this$onClosed||_this$onClosed.call(this,this)}_onDone(data){const chunk=data.chunk;this._requests.length>0?this._requests.shift().resolve({value:chunk,done:!1}):this._queuedChunk=chunk,this._done=!0;for(const requestCapability of this._requests)requestCapability.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(status){this._storedError=(0,_network_utils.createResponseStatusError)(status,this._url);for(const requestCapability of this._requests)requestCapability.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(evt){var _this$onProgress4;this.isStreamingSupported||null===(_this$onProgress4=this.onProgress)||void 0===_this$onProgress4||_this$onProgress4.call(this,{loaded:evt.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){const chunk=this._queuedChunk;return this._queuedChunk=null,{value:chunk,done:!1}}if(this._done)return{value:void 0,done:!0};const requestCapability=new _util.PromiseCapability;return this._requests.push(requestCapability),requestCapability.promise}cancel(reason){this._done=!0;for(const requestCapability of this._requests)requestCapability.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PDFNodeStream=void 0;var _util=__w_pdfjs_require__(1),_network_utils=__w_pdfjs_require__(20);const fileUriRegex=/^file:\/\/\/[a-zA-Z]:\//;exports.PDFNodeStream=class{constructor(source){this.source=source,this.url=function(sourceUrl){const url=require("url"),parsedUrl=url.parse(sourceUrl);return"file:"===parsedUrl.protocol||parsedUrl.host?parsedUrl:/^[a-z]:[/\\]/i.test(sourceUrl)?url.parse("file:///".concat(sourceUrl)):(parsedUrl.host||(parsedUrl.protocol="file:"),parsedUrl)}(source.url),this.isHttp="http:"===this.url.protocol||"https:"===this.url.protocol,this.isFsUrl="file:"===this.url.protocol,this.httpHeaders=this.isHttp&&source.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var _this$_fullRequestRea11,_this$_fullRequestRea12;return null!==(_this$_fullRequestRea11=null===(_this$_fullRequestRea12=this._fullRequestReader)||void 0===_this$_fullRequestRea12?void 0:_this$_fullRequestRea12._loaded)&&void 0!==_this$_fullRequestRea11?_this$_fullRequestRea11:0}getFullReader(){return(0,_util.assert)(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new PDFNodeStreamFsFullReader(this):new PDFNodeStreamFullReader(this),this._fullRequestReader}getRangeReader(start,end){if(end<=this._progressiveDataLength)return null;const rangeReader=this.isFsUrl?new PDFNodeStreamFsRangeReader(this,start,end):new PDFNodeStreamRangeReader(this,start,end);return this._rangeRequestReaders.push(rangeReader),rangeReader}cancelAllRequests(reason){var _this$_fullRequestRea13;null===(_this$_fullRequestRea13=this._fullRequestReader)||void 0===_this$_fullRequestRea13||_this$_fullRequestRea13.cancel(reason);for(const reader of this._rangeRequestReaders.slice(0))reader.cancel(reason)}};class BaseFullReader{constructor(stream){this._url=stream.url,this._done=!1,this._storedError=null,this.onProgress=null;const source=stream.source;this._contentLength=source.length,this._loaded=0,this._filename=null,this._disableRange=source.disableRange||!1,this._rangeChunkSize=source.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!source.disableStream,this._isRangeSupported=!source.disableRange,this._readableStream=null,this._readCapability=new _util.PromiseCapability,this._headersCapability=new _util.PromiseCapability}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(){var _this$onProgress5;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const chunk=this._readableStream.read();return null===chunk?(this._readCapability=new _util.PromiseCapability,this.read()):(this._loaded+=chunk.length,null===(_this$onProgress5=this.onProgress)||void 0===_this$onProgress5||_this$onProgress5.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(chunk).buffer,done:!1})}cancel(reason){this._readableStream?this._readableStream.destroy(reason):this._error(reason)}_error(reason){this._storedError=reason,this._readCapability.resolve()}_setReadableStream(readableStream){this._readableStream=readableStream,readableStream.on("readable",(()=>{this._readCapability.resolve()})),readableStream.on("end",(()=>{readableStream.destroy(),this._done=!0,this._readCapability.resolve()})),readableStream.on("error",(reason=>{this._error(reason)})),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new _util.AbortException("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class BaseRangeReader{constructor(stream){this._url=stream.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=new _util.PromiseCapability;const source=stream.source;this._isStreamingSupported=!source.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var _this$onProgress6;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const chunk=this._readableStream.read();return null===chunk?(this._readCapability=new _util.PromiseCapability,this.read()):(this._loaded+=chunk.length,null===(_this$onProgress6=this.onProgress)||void 0===_this$onProgress6||_this$onProgress6.call(this,{loaded:this._loaded}),{value:new Uint8Array(chunk).buffer,done:!1})}cancel(reason){this._readableStream?this._readableStream.destroy(reason):this._error(reason)}_error(reason){this._storedError=reason,this._readCapability.resolve()}_setReadableStream(readableStream){this._readableStream=readableStream,readableStream.on("readable",(()=>{this._readCapability.resolve()})),readableStream.on("end",(()=>{readableStream.destroy(),this._done=!0,this._readCapability.resolve()})),readableStream.on("error",(reason=>{this._error(reason)})),this._storedError&&this._readableStream.destroy(this._storedError)}}function createRequestOptions(parsedUrl,headers){return{protocol:parsedUrl.protocol,auth:parsedUrl.auth,host:parsedUrl.hostname,port:parsedUrl.port,path:parsedUrl.path,method:"GET",headers:headers}}class PDFNodeStreamFullReader extends BaseFullReader{constructor(stream){super(stream);const handleResponse=response=>{if(404===response.statusCode){const error=new _util.MissingPDFException('Missing PDF "'.concat(this._url,'".'));return this._storedError=error,void this._headersCapability.reject(error)}this._headersCapability.resolve(),this._setReadableStream(response);const getResponseHeader=name=>this._readableStream.headers[name.toLowerCase()],{allowRangeRequests:allowRangeRequests,suggestedLength:suggestedLength}=(0,_network_utils.validateRangeRequestCapabilities)({getResponseHeader:getResponseHeader,isHttp:stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=allowRangeRequests,this._contentLength=suggestedLength||this._contentLength,this._filename=(0,_network_utils.extractFilenameFromHeader)(getResponseHeader)};if(this._request=null,"http:"===this._url.protocol){const http=require("http");this._request=http.request(createRequestOptions(this._url,stream.httpHeaders),handleResponse)}else{const https=require("https");this._request=https.request(createRequestOptions(this._url,stream.httpHeaders),handleResponse)}this._request.on("error",(reason=>{this._storedError=reason,this._headersCapability.reject(reason)})),this._request.end()}}class PDFNodeStreamRangeReader extends BaseRangeReader{constructor(stream,start,end){super(stream),this._httpHeaders={};for(const property in stream.httpHeaders){const value=stream.httpHeaders[property];void 0!==value&&(this._httpHeaders[property]=value)}this._httpHeaders.Range="bytes=".concat(start,"-").concat(end-1);const handleResponse=response=>{if(404!==response.statusCode)this._setReadableStream(response);else{const error=new _util.MissingPDFException('Missing PDF "'.concat(this._url,'".'));this._storedError=error}};if(this._request=null,"http:"===this._url.protocol){const http=require("http");this._request=http.request(createRequestOptions(this._url,this._httpHeaders),handleResponse)}else{const https=require("https");this._request=https.request(createRequestOptions(this._url,this._httpHeaders),handleResponse)}this._request.on("error",(reason=>{this._storedError=reason})),this._request.end()}}class PDFNodeStreamFsFullReader extends BaseFullReader{constructor(stream){super(stream);let path=decodeURIComponent(this._url.path);fileUriRegex.test(this._url.href)&&(path=path.replace(/^\//,""));const fs=require("fs");fs.lstat(path,((error,stat)=>{if(error)return"ENOENT"===error.code&&(error=new _util.MissingPDFException('Missing PDF "'.concat(path,'".'))),this._storedError=error,void this._headersCapability.reject(error);this._contentLength=stat.size,this._setReadableStream(fs.createReadStream(path)),this._headersCapability.resolve()}))}}class PDFNodeStreamFsRangeReader extends BaseRangeReader{constructor(stream,start,end){super(stream);let path=decodeURIComponent(this._url.path);fileUriRegex.test(this._url.href)&&(path=path.replace(/^\//,""));const fs=require("fs");this._setReadableStream(fs.createReadStream(path,{start:start,end:end-1}))}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.SVGGraphics=void 0;var _display_utils=__w_pdfjs_require__(6),_util=__w_pdfjs_require__(1);const SVG_DEFAULTS_fontStyle="normal",SVG_DEFAULTS_fontWeight="normal",SVG_DEFAULTS_fillColor="#000000",LINE_CAP_STYLES=["butt","round","square"],LINE_JOIN_STYLES=["miter","round","bevel"],createObjectURL=function(data){let contentType=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",forceDataSchema=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(URL.createObjectURL&&"undefined"!=typeof Blob&&!forceDataSchema)return URL.createObjectURL(new Blob([data],{type:contentType}));const digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let buffer="data:".concat(contentType,";base64,");for(let i=0,ii=data.length;i>4,d3=i+1>6:64,d4=i+2>2]+digits[d2]+digits[d3]+digits[d4]}return buffer},convertImgDataToPng=function(){const PNG_HEADER=new Uint8Array([137,80,78,71,13,10,26,10]),crcTable=new Int32Array(256);for(let i=0;i<256;i++){let c=i;for(let h=0;h<8;h++)c=1&c?3988292384^c>>1&2147483647:c>>1&2147483647;crcTable[i]=c}function writePngChunk(type,body,data,offset){let p=offset;const len=body.length;data[p]=len>>24&255,data[p+1]=len>>16&255,data[p+2]=len>>8&255,data[p+3]=255&len,p+=4,data[p]=255&type.charCodeAt(0),data[p+1]=255&type.charCodeAt(1),data[p+2]=255&type.charCodeAt(2),data[p+3]=255&type.charCodeAt(3),p+=4,data.set(body,p),p+=body.length;const crc=function(data,start,end){let crc=-1;for(let i=start;i>>8^crcTable[a]}return-1^crc}(data,offset+4,p);data[p]=crc>>24&255,data[p+1]=crc>>16&255,data[p+2]=crc>>8&255,data[p+3]=255&crc}function deflateSyncUncompressed(literals){let len=literals.length;const deflateBlocks=Math.ceil(len/65535),idat=new Uint8Array(2+len+5*deflateBlocks+4);let pi=0;idat[pi++]=120,idat[pi++]=156;let pos=0;for(;len>65535;)idat[pi++]=0,idat[pi++]=255,idat[pi++]=255,idat[pi++]=0,idat[pi++]=0,idat.set(literals.subarray(pos,pos+65535),pi),pi+=65535,pos+=65535,len-=65535;idat[pi++]=1,idat[pi++]=255&len,idat[pi++]=len>>8&255,idat[pi++]=255&~len,idat[pi++]=(65535&~len)>>8&255,idat.set(literals.subarray(pos),pi),pi+=literals.length-pos;const adler=function(data,start,end){let a=1,b=0;for(let i=start;i>24&255,idat[pi++]=adler>>16&255,idat[pi++]=adler>>8&255,idat[pi++]=255&adler,idat}function encode(imgData,kind,forceDataSchema,isMask){const width=imgData.width,height=imgData.height;let bitDepth,colorType,lineSize;const bytes=imgData.data;switch(kind){case _util.ImageKind.GRAYSCALE_1BPP:colorType=0,bitDepth=1,lineSize=width+7>>3;break;case _util.ImageKind.RGB_24BPP:colorType=2,bitDepth=8,lineSize=3*width;break;case _util.ImageKind.RGBA_32BPP:colorType=6,bitDepth=8,lineSize=4*width;break;default:throw new Error("invalid format")}const literals=new Uint8Array((1+lineSize)*height);let offsetLiterals=0,offsetBytes=0;for(let y=0;y>24&255,width>>16&255,width>>8&255,255&width,height>>24&255,height>>16&255,height>>8&255,255&height,bitDepth,colorType,0,0,0]),idat=function(literals){if(!_util.isNodeJS)return deflateSyncUncompressed(literals);try{const input=parseInt(process.versions.node)>=8?literals:Buffer.from(literals),output=require("zlib").deflateSync(input,{level:9});return output instanceof Uint8Array?output:new Uint8Array(output)}catch(e){(0,_util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: "+e)}return deflateSyncUncompressed(literals)}(literals),pngLength=PNG_HEADER.length+36+ihdr.length+idat.length,data=new Uint8Array(pngLength);let offset=0;return data.set(PNG_HEADER,offset),offset+=PNG_HEADER.length,writePngChunk("IHDR",ihdr,data,offset),offset+=12+ihdr.length,writePngChunk("IDATA",idat,data,offset),offset+=12+idat.length,writePngChunk("IEND",new Uint8Array(0),data,offset),createObjectURL(data,"image/png",forceDataSchema)}return function(imgData,forceDataSchema,isMask){return encode(imgData,void 0===imgData.kind?_util.ImageKind.GRAYSCALE_1BPP:imgData.kind,forceDataSchema,isMask)}}();class SVGExtraState{constructor(){this.fontSizeScale=1,this.fontWeight=SVG_DEFAULTS_fontWeight,this.fontSize=0,this.textMatrix=_util.IDENTITY_MATRIX,this.fontMatrix=_util.FONT_IDENTITY_MATRIX,this.leading=0,this.textRenderingMode=_util.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=SVG_DEFAULTS_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(x,y){this.x=x,this.y=y}}function pf(value){if(Number.isInteger(value))return value.toString();const s=value.toFixed(10);let i=s.length-1;if("0"!==s[i])return s;do{i--}while("0"===s[i]);return s.substring(0,"."===s[i]?i:i+1)}function pm(m){if(0===m[4]&&0===m[5]){if(0===m[1]&&0===m[2])return 1===m[0]&&1===m[3]?"":"scale(".concat(pf(m[0])," ").concat(pf(m[3]),")");if(m[0]===m[3]&&m[1]===-m[2]){const a=180*Math.acos(m[0])/Math.PI;return"rotate(".concat(pf(a),")")}}else if(1===m[0]&&0===m[1]&&0===m[2]&&1===m[3])return"translate(".concat(pf(m[4])," ").concat(pf(m[5]),")");return"matrix(".concat(pf(m[0])," ").concat(pf(m[1])," ").concat(pf(m[2])," ").concat(pf(m[3])," ").concat(pf(m[4])," ")+"".concat(pf(m[5]),")")}let clipCount=0,maskCount=0,shadingCount=0;exports.SVGGraphics=class{constructor(commonObjs,objs){let forceDataSchema=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,_display_utils.deprecated)("The SVG back-end is no longer maintained and *may* be removed in the future."),this.svgFactory=new _display_utils.DOMSVGFactory,this.current=new SVGExtraState,this.transformMatrix=_util.IDENTITY_MATRIX,this.transformStack=[],this.extraStack=[],this.commonObjs=commonObjs,this.objs=objs,this.pendingClip=null,this.pendingEOFill=!1,this.embedFonts=!1,this.embeddedFonts=Object.create(null),this.cssStyle=null,this.forceDataSchema=!!forceDataSchema,this._operatorIdMapping=[];for(const op in _util.OPS)this._operatorIdMapping[_util.OPS[op]]=op}getObject(data){let fallback=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return"string"==typeof data?data.startsWith("g_")?this.commonObjs.get(data):this.objs.get(data):fallback}save(){this.transformStack.push(this.transformMatrix);const old=this.current;this.extraStack.push(old),this.current=old.clone()}restore(){this.transformMatrix=this.transformStack.pop(),this.current=this.extraStack.pop(),this.pendingClip=null,this.tgrp=null}group(items){this.save(),this.executeOpTree(items),this.restore()}loadDependencies(operatorList){const fnArray=operatorList.fnArray,argsArray=operatorList.argsArray;for(let i=0,ii=fnArray.length;i{objsPool.get(obj,resolve)}));this.current.dependencies.push(promise)}return Promise.all(this.current.dependencies)}transform(a,b,c,d,e,f){const transformMatrix=[a,b,c,d,e,f];this.transformMatrix=_util.Util.transform(this.transformMatrix,transformMatrix),this.tgrp=null}getSVG(operatorList,viewport){this.viewport=viewport;const svgElement=this._initialize(viewport);return this.loadDependencies(operatorList).then((()=>(this.transformMatrix=_util.IDENTITY_MATRIX,this.executeOpTree(this.convertOpList(operatorList)),svgElement)))}convertOpList(operatorList){const operatorIdMapping=this._operatorIdMapping,argsArray=operatorList.argsArray,fnArray=operatorList.fnArray,opList=[];for(let i=0,ii=fnArray.length;i0&&(this.current.lineWidth=width)}setLineCap(style){this.current.lineCap=LINE_CAP_STYLES[style]}setLineJoin(style){this.current.lineJoin=LINE_JOIN_STYLES[style]}setMiterLimit(limit){this.current.miterLimit=limit}setStrokeAlpha(strokeAlpha){this.current.strokeAlpha=strokeAlpha}setStrokeRGBColor(r,g,b){this.current.strokeColor=_util.Util.makeHexColor(r,g,b)}setFillAlpha(fillAlpha){this.current.fillAlpha=fillAlpha}setFillRGBColor(r,g,b){this.current.fillColor=_util.Util.makeHexColor(r,g,b),this.current.tspan=this.svgFactory.createElement("svg:tspan"),this.current.xcoords=[],this.current.ycoords=[]}setStrokeColorN(args){this.current.strokeColor=this._makeColorN_Pattern(args)}setFillColorN(args){this.current.fillColor=this._makeColorN_Pattern(args)}shadingFill(args){const{width:width,height:height}=this.viewport,inv=_util.Util.inverseTransform(this.transformMatrix),[x0,y0,x1,y1]=_util.Util.getAxialAlignedBoundingBox([0,0,width,height],inv),rect=this.svgFactory.createElement("svg:rect");rect.setAttributeNS(null,"x",x0),rect.setAttributeNS(null,"y",y0),rect.setAttributeNS(null,"width",x1-x0),rect.setAttributeNS(null,"height",y1-y0),rect.setAttributeNS(null,"fill",this._makeShadingPattern(args)),this.current.fillAlpha<1&&rect.setAttributeNS(null,"fill-opacity",this.current.fillAlpha),this._ensureTransformGroup().append(rect)}_makeColorN_Pattern(args){return"TilingPattern"===args[0]?this._makeTilingPattern(args):this._makeShadingPattern(args)}_makeTilingPattern(args){const color=args[1],operatorList=args[2],matrix=args[3]||_util.IDENTITY_MATRIX,[x0,y0,x1,y1]=args[4],xstep=args[5],ystep=args[6],paintType=args[7],tilingId="shading".concat(shadingCount++),[tx0,ty0,tx1,ty1]=_util.Util.normalizeRect([..._util.Util.applyTransform([x0,y0],matrix),..._util.Util.applyTransform([x1,y1],matrix)]),[xscale,yscale]=_util.Util.singularValueDecompose2dScale(matrix),txstep=xstep*xscale,tystep=ystep*yscale,tiling=this.svgFactory.createElement("svg:pattern");tiling.setAttributeNS(null,"id",tilingId),tiling.setAttributeNS(null,"patternUnits","userSpaceOnUse"),tiling.setAttributeNS(null,"width",txstep),tiling.setAttributeNS(null,"height",tystep),tiling.setAttributeNS(null,"x","".concat(tx0)),tiling.setAttributeNS(null,"y","".concat(ty0));const svg=this.svg,transformMatrix=this.transformMatrix,fillColor=this.current.fillColor,strokeColor=this.current.strokeColor,bbox=this.svgFactory.create(tx1-tx0,ty1-ty0);if(this.svg=bbox,this.transformMatrix=matrix,2===paintType){const cssColor=_util.Util.makeHexColor(...color);this.current.fillColor=cssColor,this.current.strokeColor=cssColor}return this.executeOpTree(this.convertOpList(operatorList)),this.svg=svg,this.transformMatrix=transformMatrix,this.current.fillColor=fillColor,this.current.strokeColor=strokeColor,tiling.append(bbox.childNodes[0]),this.defs.append(tiling),"url(#".concat(tilingId,")")}_makeShadingPattern(args){switch("string"==typeof args&&(args=this.objs.get(args)),args[0]){case"RadialAxial":const shadingId="shading".concat(shadingCount++),colorStops=args[3];let gradient;switch(args[1]){case"axial":const point0=args[4],point1=args[5];gradient=this.svgFactory.createElement("svg:linearGradient"),gradient.setAttributeNS(null,"id",shadingId),gradient.setAttributeNS(null,"gradientUnits","userSpaceOnUse"),gradient.setAttributeNS(null,"x1",point0[0]),gradient.setAttributeNS(null,"y1",point0[1]),gradient.setAttributeNS(null,"x2",point1[0]),gradient.setAttributeNS(null,"y2",point1[1]);break;case"radial":const focalPoint=args[4],circlePoint=args[5],focalRadius=args[6],circleRadius=args[7];gradient=this.svgFactory.createElement("svg:radialGradient"),gradient.setAttributeNS(null,"id",shadingId),gradient.setAttributeNS(null,"gradientUnits","userSpaceOnUse"),gradient.setAttributeNS(null,"cx",circlePoint[0]),gradient.setAttributeNS(null,"cy",circlePoint[1]),gradient.setAttributeNS(null,"r",circleRadius),gradient.setAttributeNS(null,"fx",focalPoint[0]),gradient.setAttributeNS(null,"fy",focalPoint[1]),gradient.setAttributeNS(null,"fr",focalRadius);break;default:throw new Error("Unknown RadialAxial type: ".concat(args[1]))}for(const colorStop of colorStops){const stop=this.svgFactory.createElement("svg:stop");stop.setAttributeNS(null,"offset",colorStop[0]),stop.setAttributeNS(null,"stop-color",colorStop[1]),gradient.append(stop)}return this.defs.append(gradient),"url(#".concat(shadingId,")");case"Mesh":return(0,_util.warn)("Unimplemented pattern Mesh"),null;case"Dummy":return"hotpink";default:throw new Error("Unknown IR type: ".concat(args[0]))}}setDash(dashArray,dashPhase){this.current.dashArray=dashArray,this.current.dashPhase=dashPhase}constructPath(ops,args){const current=this.current;let x=current.x,y=current.y,d=[],j=0;for(const op of ops)switch(0|op){case _util.OPS.rectangle:x=args[j++],y=args[j++];const xw=x+args[j++],yh=y+args[j++];d.push("M",pf(x),pf(y),"L",pf(xw),pf(y),"L",pf(xw),pf(yh),"L",pf(x),pf(yh),"Z");break;case _util.OPS.moveTo:x=args[j++],y=args[j++],d.push("M",pf(x),pf(y));break;case _util.OPS.lineTo:x=args[j++],y=args[j++],d.push("L",pf(x),pf(y));break;case _util.OPS.curveTo:x=args[j+4],y=args[j+5],d.push("C",pf(args[j]),pf(args[j+1]),pf(args[j+2]),pf(args[j+3]),pf(x),pf(y)),j+=6;break;case _util.OPS.curveTo2:d.push("C",pf(x),pf(y),pf(args[j]),pf(args[j+1]),pf(args[j+2]),pf(args[j+3])),x=args[j+2],y=args[j+3],j+=4;break;case _util.OPS.curveTo3:x=args[j+2],y=args[j+3],d.push("C",pf(args[j]),pf(args[j+1]),pf(x),pf(y),pf(x),pf(y)),j+=4;break;case _util.OPS.closePath:d.push("Z")}d=d.join(" "),current.path&&ops.length>0&&ops[0]!==_util.OPS.rectangle&&ops[0]!==_util.OPS.moveTo?d=current.path.getAttributeNS(null,"d")+d:(current.path=this.svgFactory.createElement("svg:path"),this._ensureTransformGroup().append(current.path)),current.path.setAttributeNS(null,"d",d),current.path.setAttributeNS(null,"fill","none"),current.element=current.path,current.setCurrentPoint(x,y)}endPath(){const current=this.current;if(current.path=null,!this.pendingClip)return;if(!current.element)return void(this.pendingClip=null);const clipId="clippath".concat(clipCount++),clipPath=this.svgFactory.createElement("svg:clipPath");clipPath.setAttributeNS(null,"id",clipId),clipPath.setAttributeNS(null,"transform",pm(this.transformMatrix));const clipElement=current.element.cloneNode(!0);if("evenodd"===this.pendingClip?clipElement.setAttributeNS(null,"clip-rule","evenodd"):clipElement.setAttributeNS(null,"clip-rule","nonzero"),this.pendingClip=null,clipPath.append(clipElement),this.defs.append(clipPath),current.activeClipUrl){current.clipGroup=null;for(const prev of this.extraStack)prev.clipGroup=null;clipPath.setAttributeNS(null,"clip-path",current.activeClipUrl)}current.activeClipUrl="url(#".concat(clipId,")"),this.tgrp=null}clip(type){this.pendingClip=type}closePath(){const current=this.current;if(current.path){const d="".concat(current.path.getAttributeNS(null,"d"),"Z");current.path.setAttributeNS(null,"d",d)}}setLeading(leading){this.current.leading=-leading}setTextRise(textRise){this.current.textRise=textRise}setTextRenderingMode(textRenderingMode){this.current.textRenderingMode=textRenderingMode}setHScale(scale){this.current.textHScale=scale/100}setRenderingIntent(intent){}setFlatness(flatness){}setGState(states){for(const[key,value]of states)switch(key){case"LW":this.setLineWidth(value);break;case"LC":this.setLineCap(value);break;case"LJ":this.setLineJoin(value);break;case"ML":this.setMiterLimit(value);break;case"D":this.setDash(value[0],value[1]);break;case"RI":this.setRenderingIntent(value);break;case"FL":this.setFlatness(value);break;case"Font":this.setFont(value);break;case"CA":this.setStrokeAlpha(value);break;case"ca":this.setFillAlpha(value);break;default:(0,_util.warn)("Unimplemented graphic state operator ".concat(key))}}fill(){const current=this.current;current.element&&(current.element.setAttributeNS(null,"fill",current.fillColor),current.element.setAttributeNS(null,"fill-opacity",current.fillAlpha),this.endPath())}stroke(){const current=this.current;current.element&&(this._setStrokeAttributes(current.element),current.element.setAttributeNS(null,"fill","none"),this.endPath())}_setStrokeAttributes(element){let lineWidthScale=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const current=this.current;let dashArray=current.dashArray;1!==lineWidthScale&&dashArray.length>0&&(dashArray=dashArray.map((function(value){return lineWidthScale*value}))),element.setAttributeNS(null,"stroke",current.strokeColor),element.setAttributeNS(null,"stroke-opacity",current.strokeAlpha),element.setAttributeNS(null,"stroke-miterlimit",pf(current.miterLimit)),element.setAttributeNS(null,"stroke-linecap",current.lineCap),element.setAttributeNS(null,"stroke-linejoin",current.lineJoin),element.setAttributeNS(null,"stroke-width",pf(lineWidthScale*current.lineWidth)+"px"),element.setAttributeNS(null,"stroke-dasharray",dashArray.map(pf).join(" ")),element.setAttributeNS(null,"stroke-dashoffset",pf(lineWidthScale*current.dashPhase)+"px")}eoFill(){var _this$current$element;null===(_this$current$element=this.current.element)||void 0===_this$current$element||_this$current$element.setAttributeNS(null,"fill-rule","evenodd"),this.fill()}fillStroke(){this.stroke(),this.fill()}eoFillStroke(){var _this$current$element2;null===(_this$current$element2=this.current.element)||void 0===_this$current$element2||_this$current$element2.setAttributeNS(null,"fill-rule","evenodd"),this.fillStroke()}closeStroke(){this.closePath(),this.stroke()}closeFillStroke(){this.closePath(),this.fillStroke()}closeEOFillStroke(){this.closePath(),this.eoFillStroke()}paintSolidColorImageMask(){const rect=this.svgFactory.createElement("svg:rect");rect.setAttributeNS(null,"x","0"),rect.setAttributeNS(null,"y","0"),rect.setAttributeNS(null,"width","1px"),rect.setAttributeNS(null,"height","1px"),rect.setAttributeNS(null,"fill",this.current.fillColor),this._ensureTransformGroup().append(rect)}paintImageXObject(objId){const imgData=this.getObject(objId);imgData?this.paintInlineImageXObject(imgData):(0,_util.warn)("Dependent image with object ID ".concat(objId," is not ready yet"))}paintInlineImageXObject(imgData,mask){const width=imgData.width,height=imgData.height,imgSrc=convertImgDataToPng(imgData,this.forceDataSchema,!!mask),cliprect=this.svgFactory.createElement("svg:rect");cliprect.setAttributeNS(null,"x","0"),cliprect.setAttributeNS(null,"y","0"),cliprect.setAttributeNS(null,"width",pf(width)),cliprect.setAttributeNS(null,"height",pf(height)),this.current.element=cliprect,this.clip("nonzero");const imgEl=this.svgFactory.createElement("svg:image");imgEl.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",imgSrc),imgEl.setAttributeNS(null,"x","0"),imgEl.setAttributeNS(null,"y",pf(-height)),imgEl.setAttributeNS(null,"width",pf(width)+"px"),imgEl.setAttributeNS(null,"height",pf(height)+"px"),imgEl.setAttributeNS(null,"transform","scale(".concat(pf(1/width)," ").concat(pf(-1/height),")")),mask?mask.append(imgEl):this._ensureTransformGroup().append(imgEl)}paintImageMaskXObject(img){const imgData=this.getObject(img.data,img);if(imgData.bitmap)return void(0,_util.warn)("paintImageMaskXObject: ImageBitmap support is not implemented, ensure that the `isOffscreenCanvasSupported` API parameter is disabled.");const current=this.current,width=imgData.width,height=imgData.height,fillColor=current.fillColor;current.maskId="mask".concat(maskCount++);const mask=this.svgFactory.createElement("svg:mask");mask.setAttributeNS(null,"id",current.maskId);const rect=this.svgFactory.createElement("svg:rect");rect.setAttributeNS(null,"x","0"),rect.setAttributeNS(null,"y","0"),rect.setAttributeNS(null,"width",pf(width)),rect.setAttributeNS(null,"height",pf(height)),rect.setAttributeNS(null,"fill",fillColor),rect.setAttributeNS(null,"mask","url(#".concat(current.maskId,")")),this.defs.append(mask),this._ensureTransformGroup().append(rect),this.paintInlineImageXObject(imgData,mask)}paintFormXObjectBegin(matrix,bbox){if(Array.isArray(matrix)&&6===matrix.length&&this.transform(matrix[0],matrix[1],matrix[2],matrix[3],matrix[4],matrix[5]),bbox){const width=bbox[2]-bbox[0],height=bbox[3]-bbox[1],cliprect=this.svgFactory.createElement("svg:rect");cliprect.setAttributeNS(null,"x",bbox[0]),cliprect.setAttributeNS(null,"y",bbox[1]),cliprect.setAttributeNS(null,"width",pf(width)),cliprect.setAttributeNS(null,"height",pf(height)),this.current.element=cliprect,this.clip("nonzero"),this.endPath()}}paintFormXObjectEnd(){}_initialize(viewport){const svg=this.svgFactory.create(viewport.width,viewport.height),definitions=this.svgFactory.createElement("svg:defs");svg.append(definitions),this.defs=definitions;const rootGroup=this.svgFactory.createElement("svg:g");return rootGroup.setAttributeNS(null,"transform",pm(viewport.transform)),svg.append(rootGroup),this.svg=rootGroup,svg}_ensureClipGroup(){if(!this.current.clipGroup){const clipGroup=this.svgFactory.createElement("svg:g");clipGroup.setAttributeNS(null,"clip-path",this.current.activeClipUrl),this.svg.append(clipGroup),this.current.clipGroup=clipGroup}return this.current.clipGroup}_ensureTransformGroup(){return this.tgrp||(this.tgrp=this.svgFactory.createElement("svg:g"),this.tgrp.setAttributeNS(null,"transform",pm(this.transformMatrix)),this.current.activeClipUrl?this._ensureClipGroup().append(this.tgrp):this.svg.append(this.tgrp)),this.tgrp}}},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XfaText=void 0;class XfaText{static textContent(xfa){const items=[],output={items:items,styles:Object.create(null)};return function walk(node){var _node$attributes;if(!node)return;let str=null;const name=node.name;if("#text"===name)str=node.value;else{if(!XfaText.shouldBuildText(name))return;null!=node&&null!==(_node$attributes=node.attributes)&&void 0!==_node$attributes&&_node$attributes.textContent?str=node.attributes.textContent:node.value&&(str=node.value)}if(null!==str&&items.push({str:str}),node.children)for(const child of node.children)walk(child)}(xfa),output}static shouldBuildText(name){return!("textarea"===name||"input"===name||"option"===name||"select"===name)}}exports.XfaText=XfaText},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.TextLayerRenderTask=void 0,exports.renderTextLayer=function(params){params.textContentSource||!params.textContent&&!params.textContentStream||((0,_display_utils.deprecated)("The TextLayerRender `textContent`/`textContentStream` parameters will be removed in the future, please use `textContentSource` instead."),params.textContentSource=params.textContent||params.textContentStream);const{container:container,viewport:viewport}=params,style=getComputedStyle(container),visibility=style.getPropertyValue("visibility"),scaleFactor=parseFloat(style.getPropertyValue("--scale-factor"));"visible"===visibility&&(!scaleFactor||Math.abs(scaleFactor-viewport.scale)>1e-5)&&console.error("The `--scale-factor` CSS-variable must be set, to the same value as `viewport.scale`, either on the `container`-element itself or higher up in the DOM.");const task=new TextLayerRenderTask(params);return task._render(),task},exports.updateTextLayer=function(_ref40){let{container:container,viewport:viewport,textDivs:textDivs,textDivProperties:textDivProperties,isOffscreenCanvasSupported:isOffscreenCanvasSupported,mustRotate:mustRotate=!0,mustRescale:mustRescale=!0}=_ref40;if(mustRotate&&(0,_display_utils.setLayerDimensions)(container,{rotation:viewport.rotation}),mustRescale){const ctx=getCtx(0,isOffscreenCanvasSupported),params={prevFontSize:null,prevFontFamily:null,div:null,scale:viewport.scale*(globalThis.devicePixelRatio||1),properties:null,ctx:ctx};for(const div of textDivs)params.properties=textDivProperties.get(div),params.div=div,layout(params)}};var _util=__w_pdfjs_require__(1),_display_utils=__w_pdfjs_require__(6);const ascentCache=new Map;function getCtx(size,isOffscreenCanvasSupported){let ctx;if(isOffscreenCanvasSupported&&_util.FeatureTest.isOffscreenCanvasSupported)ctx=new OffscreenCanvas(size,size).getContext("2d",{alpha:!1});else{const canvas=document.createElement("canvas");canvas.width=canvas.height=size,ctx=canvas.getContext("2d",{alpha:!1})}return ctx}function appendText(task,geom,styles){const textDiv=document.createElement("span"),textDivProperties={angle:0,canvasWidth:0,hasText:""!==geom.str,hasEOL:geom.hasEOL,fontSize:0};task._textDivs.push(textDiv);const tx=_util.Util.transform(task._transform,geom.transform);let angle=Math.atan2(tx[1],tx[0]);const style=styles[geom.fontName];style.vertical&&(angle+=Math.PI/2);const fontHeight=Math.hypot(tx[2],tx[3]),fontAscent=fontHeight*function(fontFamily,isOffscreenCanvasSupported){const cachedAscent=ascentCache.get(fontFamily);if(cachedAscent)return cachedAscent;const ctx=getCtx(30,isOffscreenCanvasSupported);ctx.font="".concat(30,"px ").concat(fontFamily);const metrics=ctx.measureText("");let ascent=metrics.fontBoundingBoxAscent,descent=Math.abs(metrics.fontBoundingBoxDescent);if(ascent){const ratio=ascent/(ascent+descent);return ascentCache.set(fontFamily,ratio),ctx.canvas.width=ctx.canvas.height=0,ratio}ctx.strokeStyle="red",ctx.clearRect(0,0,30,30),ctx.strokeText("g",0,0);let pixels=ctx.getImageData(0,0,30,30).data;descent=0;for(let i=pixels.length-1-3;i>=0;i-=4)if(pixels[i]>0){descent=Math.ceil(i/4/30);break}ctx.clearRect(0,0,30,30),ctx.strokeText("A",0,30),pixels=ctx.getImageData(0,0,30,30).data,ascent=0;for(let i=0,ii=pixels.length;i0){ascent=30-Math.floor(i/4/30);break}if(ctx.canvas.width=ctx.canvas.height=0,ascent){const ratio=ascent/(ascent+descent);return ascentCache.set(fontFamily,ratio),ratio}return ascentCache.set(fontFamily,.8),.8}(style.fontFamily,task._isOffscreenCanvasSupported);let left,top;0===angle?(left=tx[4],top=tx[5]-fontAscent):(left=tx[4]+fontAscent*Math.sin(angle),top=tx[5]-fontAscent*Math.cos(angle));const divStyle=textDiv.style;task._container===task._rootContainer?(divStyle.left="".concat((100*left/task._pageWidth).toFixed(2),"%"),divStyle.top="".concat((100*top/task._pageHeight).toFixed(2),"%")):(divStyle.left="".concat("calc(var(--scale-factor)*").concat(left.toFixed(2),"px)"),divStyle.top="".concat("calc(var(--scale-factor)*").concat(top.toFixed(2),"px)")),divStyle.fontSize="".concat("calc(var(--scale-factor)*").concat(fontHeight.toFixed(2),"px)"),divStyle.fontFamily=style.fontFamily,textDivProperties.fontSize=fontHeight,textDiv.setAttribute("role","presentation"),textDiv.textContent=geom.str,textDiv.dir=geom.dir,task._fontInspectorEnabled&&(textDiv.dataset.fontName=geom.fontName),0!==angle&&(textDivProperties.angle=angle*(180/Math.PI));let shouldScaleText=!1;if(geom.str.length>1)shouldScaleText=!0;else if(" "!==geom.str&&geom.transform[0]!==geom.transform[3]){const absScaleX=Math.abs(geom.transform[0]),absScaleY=Math.abs(geom.transform[3]);absScaleX!==absScaleY&&Math.max(absScaleX,absScaleY)/Math.min(absScaleX,absScaleY)>1.5&&(shouldScaleText=!0)}shouldScaleText&&(textDivProperties.canvasWidth=style.vertical?geom.height:geom.width),task._textDivProperties.set(textDiv,textDivProperties),task._isReadableStream&&task._layoutText(textDiv)}function layout(params){const{div:div,scale:scale,properties:properties,ctx:ctx,prevFontSize:prevFontSize,prevFontFamily:prevFontFamily}=params,{style:style}=div;let transform="";if(0!==properties.canvasWidth&&properties.hasText){const{fontFamily:fontFamily}=style,{canvasWidth:canvasWidth,fontSize:fontSize}=properties;prevFontSize===fontSize&&prevFontFamily===fontFamily||(ctx.font="".concat(fontSize*scale,"px ").concat(fontFamily),params.prevFontSize=fontSize,params.prevFontFamily=fontFamily);const{width:width}=ctx.measureText(div.textContent);width>0&&(transform="scaleX(".concat(canvasWidth*scale/width,")"))}0!==properties.angle&&(transform="rotate(".concat(properties.angle,"deg) ").concat(transform)),transform.length>0&&(style.transform=transform)}class TextLayerRenderTask{constructor(_ref38){var _globalThis$FontInspe2;let{textContentSource:textContentSource,container:container,viewport:viewport,textDivs:textDivs,textDivProperties:textDivProperties,textContentItemsStr:textContentItemsStr,isOffscreenCanvasSupported:isOffscreenCanvasSupported}=_ref38;this._textContentSource=textContentSource,this._isReadableStream=textContentSource instanceof ReadableStream,this._container=this._rootContainer=container,this._textDivs=textDivs||[],this._textContentItemsStr=textContentItemsStr||[],this._isOffscreenCanvasSupported=isOffscreenCanvasSupported,this._fontInspectorEnabled=!(null===(_globalThis$FontInspe2=globalThis.FontInspector)||void 0===_globalThis$FontInspe2||!_globalThis$FontInspe2.enabled),this._reader=null,this._textDivProperties=textDivProperties||new WeakMap,this._canceled=!1,this._capability=new _util.PromiseCapability,this._layoutTextParams={prevFontSize:null,prevFontFamily:null,div:null,scale:viewport.scale*(globalThis.devicePixelRatio||1),properties:null,ctx:getCtx(0,isOffscreenCanvasSupported)};const{pageWidth:pageWidth,pageHeight:pageHeight,pageX:pageX,pageY:pageY}=viewport.rawDims;this._transform=[1,0,0,-1,-pageX,pageY+pageHeight],this._pageWidth=pageWidth,this._pageHeight=pageHeight,(0,_display_utils.setLayerDimensions)(container,viewport),this._capability.promise.finally((()=>{this._layoutTextParams=null})).catch((()=>{}))}get promise(){return this._capability.promise}cancel(){this._canceled=!0,this._reader&&(this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")).catch((()=>{})),this._reader=null),this._capability.reject(new _util.AbortException("TextLayer task cancelled."))}_processItems(items,styleCache){for(const item of items)if(void 0!==item.str)this._textContentItemsStr.push(item.str),appendText(this,item,styleCache);else if("beginMarkedContentProps"===item.type||"beginMarkedContent"===item.type){const parent=this._container;this._container=document.createElement("span"),this._container.classList.add("markedContent"),null!==item.id&&this._container.setAttribute("id","".concat(item.id)),parent.append(this._container)}else"endMarkedContent"===item.type&&(this._container=this._container.parentNode)}_layoutText(textDiv){const textDivProperties=this._layoutTextParams.properties=this._textDivProperties.get(textDiv);if(this._layoutTextParams.div=textDiv,layout(this._layoutTextParams),textDivProperties.hasText&&this._container.append(textDiv),textDivProperties.hasEOL){const br=document.createElement("br");br.setAttribute("role","presentation"),this._container.append(br)}}_render(){const capability=new _util.PromiseCapability;let styleCache=Object.create(null);if(this._isReadableStream){const pump=()=>{this._reader.read().then((_ref39=>{let{value:value,done:done}=_ref39;done?capability.resolve():(Object.assign(styleCache,value.styles),this._processItems(value.items,styleCache),pump())}),capability.reject)};this._reader=this._textContentSource.getReader(),pump()}else{if(!this._textContentSource)throw new Error('No "textContentSource" parameter specified.');{const{items:items,styles:styles}=this._textContentSource;this._processItems(items,styles),capability.resolve()}}capability.promise.then((()=>{styleCache=null,function(task){if(task._canceled)return;const textDivs=task._textDivs,capability=task._capability;if(textDivs.length>1e5)capability.resolve();else{if(!task._isReadableStream)for(const textDiv of textDivs)task._layoutText(textDiv);capability.resolve()}}(this)}),this._capability.reject)}}exports.TextLayerRenderTask=TextLayerRenderTask},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnnotationEditorLayer=void 0;var _util=__w_pdfjs_require__(1),_editor=__w_pdfjs_require__(4),_freetext=__w_pdfjs_require__(28),_ink=__w_pdfjs_require__(33),_display_utils=__w_pdfjs_require__(6),_stamp=__w_pdfjs_require__(34),_accessibilityManager=new WeakMap,_allowClick=new WeakMap,_annotationLayer=new WeakMap,_boundPointerup=new WeakMap,_boundPointerdown=new WeakMap,_editors=new WeakMap,_hadPointerDown=new WeakMap,_isCleaningUp=new WeakMap,_isDisabling=new WeakMap,_uiManager=new WeakMap,_createNewEditor=new WeakSet,_createAndAddNewEditor=new WeakSet,_getCenterPoint=new WeakSet,_cleanup=new WeakSet;class AnnotationEditorLayer{constructor(_ref41){let{uiManager:uiManager,pageIndex:pageIndex,div:div,accessibilityManager:accessibilityManager,annotationLayer:annotationLayer,viewport:viewport,l10n:l10n}=_ref41;_classPrivateMethodInitSpec(this,_cleanup),_classPrivateMethodInitSpec(this,_getCenterPoint),_classPrivateMethodInitSpec(this,_createAndAddNewEditor),_classPrivateMethodInitSpec(this,_createNewEditor),_classPrivateFieldInitSpec(this,_accessibilityManager,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_allowClick,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_annotationLayer,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_boundPointerup,{writable:!0,value:this.pointerup.bind(this)}),_classPrivateFieldInitSpec(this,_boundPointerdown,{writable:!0,value:this.pointerdown.bind(this)}),_classPrivateFieldInitSpec(this,_editors,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_hadPointerDown,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_isCleaningUp,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_isDisabling,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_uiManager,{writable:!0,value:void 0});const editorTypes=[_freetext.FreeTextEditor,_ink.InkEditor,_stamp.StampEditor];if(!AnnotationEditorLayer._initialized){AnnotationEditorLayer._initialized=!0;for(const editorType of editorTypes)editorType.initialize(l10n)}uiManager.registerEditorTypes(editorTypes),_classPrivateFieldSet(this,_uiManager,uiManager),this.pageIndex=pageIndex,this.div=div,_classPrivateFieldSet(this,_accessibilityManager,accessibilityManager),_classPrivateFieldSet(this,_annotationLayer,annotationLayer),this.viewport=viewport,_classPrivateFieldGet(this,_uiManager).addLayer(this)}get isEmpty(){return 0===_classPrivateFieldGet(this,_editors).size}updateToolbar(mode){_classPrivateFieldGet(this,_uiManager).updateToolbar(mode)}updateMode(){let mode=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_classPrivateFieldGet(this,_uiManager).getMode();_classPrivateMethodGet(this,_cleanup,_cleanup2).call(this),mode===_util.AnnotationEditorType.INK?(this.addInkEditorIfNeeded(!1),this.disableClick()):this.enableClick(),mode!==_util.AnnotationEditorType.NONE&&(this.div.classList.toggle("freeTextEditing",mode===_util.AnnotationEditorType.FREETEXT),this.div.classList.toggle("inkEditing",mode===_util.AnnotationEditorType.INK),this.div.classList.toggle("stampEditing",mode===_util.AnnotationEditorType.STAMP),this.div.hidden=!1)}addInkEditorIfNeeded(isCommitting){if(isCommitting||_classPrivateFieldGet(this,_uiManager).getMode()===_util.AnnotationEditorType.INK){if(!isCommitting)for(const editor of _classPrivateFieldGet(this,_editors).values())if(editor.isEmpty())return void editor.setInBackground();_classPrivateMethodGet(this,_createAndAddNewEditor,_createAndAddNewEditor2).call(this,{offsetX:0,offsetY:0},!1).setInBackground()}}setEditingState(isEditing){_classPrivateFieldGet(this,_uiManager).setEditingState(isEditing)}addCommands(params){_classPrivateFieldGet(this,_uiManager).addCommands(params)}enable(){this.div.style.pointerEvents="auto";const annotationElementIds=new Set;for(const editor of _classPrivateFieldGet(this,_editors).values())editor.enableEditing(),editor.annotationElementId&&annotationElementIds.add(editor.annotationElementId);if(!_classPrivateFieldGet(this,_annotationLayer))return;const editables=_classPrivateFieldGet(this,_annotationLayer).getEditableAnnotations();for(const editable of editables){if(editable.hide(),_classPrivateFieldGet(this,_uiManager).isDeletedAnnotationElement(editable.data.id))continue;if(annotationElementIds.has(editable.data.id))continue;const editor=this.deserialize(editable);editor&&(this.addOrRebuild(editor),editor.enableEditing())}}disable(){_classPrivateFieldSet(this,_isDisabling,!0),this.div.style.pointerEvents="none";const hiddenAnnotationIds=new Set;for(const editor of _classPrivateFieldGet(this,_editors).values()){var _this$getEditableAnno;editor.disableEditing(),editor.annotationElementId&&null===editor.serialize()?(null===(_this$getEditableAnno=this.getEditableAnnotation(editor.annotationElementId))||void 0===_this$getEditableAnno||_this$getEditableAnno.show(),editor.remove()):hiddenAnnotationIds.add(editor.annotationElementId)}if(_classPrivateFieldGet(this,_annotationLayer)){const editables=_classPrivateFieldGet(this,_annotationLayer).getEditableAnnotations();for(const editable of editables){const{id:id}=editable.data;hiddenAnnotationIds.has(id)||_classPrivateFieldGet(this,_uiManager).isDeletedAnnotationElement(id)||editable.show()}}_classPrivateMethodGet(this,_cleanup,_cleanup2).call(this),this.isEmpty&&(this.div.hidden=!0),_classPrivateFieldSet(this,_isDisabling,!1)}getEditableAnnotation(id){var _classPrivateFieldGet16;return(null===(_classPrivateFieldGet16=_classPrivateFieldGet(this,_annotationLayer))||void 0===_classPrivateFieldGet16?void 0:_classPrivateFieldGet16.getEditableAnnotation(id))||null}setActiveEditor(editor){_classPrivateFieldGet(this,_uiManager).getActive()!==editor&&_classPrivateFieldGet(this,_uiManager).setActiveEditor(editor)}enableClick(){this.div.addEventListener("pointerdown",_classPrivateFieldGet(this,_boundPointerdown)),this.div.addEventListener("pointerup",_classPrivateFieldGet(this,_boundPointerup))}disableClick(){this.div.removeEventListener("pointerdown",_classPrivateFieldGet(this,_boundPointerdown)),this.div.removeEventListener("pointerup",_classPrivateFieldGet(this,_boundPointerup))}attach(editor){_classPrivateFieldGet(this,_editors).set(editor.id,editor);const{annotationElementId:annotationElementId}=editor;annotationElementId&&_classPrivateFieldGet(this,_uiManager).isDeletedAnnotationElement(annotationElementId)&&_classPrivateFieldGet(this,_uiManager).removeDeletedAnnotationElement(editor)}detach(editor){var _classPrivateFieldGet17;_classPrivateFieldGet(this,_editors).delete(editor.id),null===(_classPrivateFieldGet17=_classPrivateFieldGet(this,_accessibilityManager))||void 0===_classPrivateFieldGet17||_classPrivateFieldGet17.removePointerInTextLayer(editor.contentDiv),!_classPrivateFieldGet(this,_isDisabling)&&editor.annotationElementId&&_classPrivateFieldGet(this,_uiManager).addDeletedAnnotationElement(editor)}remove(editor){this.detach(editor),_classPrivateFieldGet(this,_uiManager).removeEditor(editor),editor.div.contains(document.activeElement)&&setTimeout((()=>{_classPrivateFieldGet(this,_uiManager).focusMainContainer()}),0),editor.div.remove(),editor.isAttachedToDOM=!1,_classPrivateFieldGet(this,_isCleaningUp)||this.addInkEditorIfNeeded(!1)}changeParent(editor){var _editor$parent;editor.parent!==this&&(editor.annotationElementId&&(_classPrivateFieldGet(this,_uiManager).addDeletedAnnotationElement(editor.annotationElementId),_editor.AnnotationEditor.deleteAnnotationElement(editor),editor.annotationElementId=null),this.attach(editor),null===(_editor$parent=editor.parent)||void 0===_editor$parent||_editor$parent.detach(editor),editor.setParent(this),editor.div&&editor.isAttachedToDOM&&(editor.div.remove(),this.div.append(editor.div)))}add(editor){if(this.changeParent(editor),_classPrivateFieldGet(this,_uiManager).addEditor(editor),this.attach(editor),!editor.isAttachedToDOM){const div=editor.render();this.div.append(div),editor.isAttachedToDOM=!0}editor.fixAndSetPosition(),editor.onceAdded(),_classPrivateFieldGet(this,_uiManager).addToAnnotationStorage(editor)}moveEditorInDOM(editor){var _classPrivateFieldGet18;if(!editor.isAttachedToDOM)return;const{activeElement:activeElement}=document;editor.div.contains(activeElement)&&(editor._focusEventsAllowed=!1,setTimeout((()=>{editor.div.contains(document.activeElement)?editor._focusEventsAllowed=!0:(editor.div.addEventListener("focusin",(()=>{editor._focusEventsAllowed=!0}),{once:!0}),activeElement.focus())}),0)),editor._structTreeParentId=null===(_classPrivateFieldGet18=_classPrivateFieldGet(this,_accessibilityManager))||void 0===_classPrivateFieldGet18?void 0:_classPrivateFieldGet18.moveElementInDOM(this.div,editor.div,editor.contentDiv,!0)}addOrRebuild(editor){editor.needsToBeRebuilt()?editor.rebuild():this.add(editor)}addUndoableEditor(editor){this.addCommands({cmd:()=>editor._uiManager.rebuild(editor),undo:()=>{editor.remove()},mustExec:!1})}getNextId(){return _classPrivateFieldGet(this,_uiManager).getId()}pasteEditor(mode,params){_classPrivateFieldGet(this,_uiManager).updateToolbar(mode),_classPrivateFieldGet(this,_uiManager).updateMode(mode);const{offsetX:offsetX,offsetY:offsetY}=_classPrivateMethodGet(this,_getCenterPoint,_getCenterPoint2).call(this),id=this.getNextId(),editor=_classPrivateMethodGet(this,_createNewEditor,_createNewEditor2).call(this,{parent:this,id:id,x:offsetX,y:offsetY,uiManager:_classPrivateFieldGet(this,_uiManager),isCentered:!0,...params});editor&&this.add(editor)}deserialize(data){var _data$annotationType;switch(null!==(_data$annotationType=data.annotationType)&&void 0!==_data$annotationType?_data$annotationType:data.annotationEditorType){case _util.AnnotationEditorType.FREETEXT:return _freetext.FreeTextEditor.deserialize(data,this,_classPrivateFieldGet(this,_uiManager));case _util.AnnotationEditorType.INK:return _ink.InkEditor.deserialize(data,this,_classPrivateFieldGet(this,_uiManager));case _util.AnnotationEditorType.STAMP:return _stamp.StampEditor.deserialize(data,this,_classPrivateFieldGet(this,_uiManager))}return null}addNewEditor(){_classPrivateMethodGet(this,_createAndAddNewEditor,_createAndAddNewEditor2).call(this,_classPrivateMethodGet(this,_getCenterPoint,_getCenterPoint2).call(this),!0)}setSelected(editor){_classPrivateFieldGet(this,_uiManager).setSelected(editor)}toggleSelected(editor){_classPrivateFieldGet(this,_uiManager).toggleSelected(editor)}isSelected(editor){return _classPrivateFieldGet(this,_uiManager).isSelected(editor)}unselect(editor){_classPrivateFieldGet(this,_uiManager).unselect(editor)}pointerup(event){const{isMac:isMac}=_util.FeatureTest.platform;0!==event.button||event.ctrlKey&&isMac||event.target===this.div&&_classPrivateFieldGet(this,_hadPointerDown)&&(_classPrivateFieldSet(this,_hadPointerDown,!1),_classPrivateFieldGet(this,_allowClick)?_classPrivateFieldGet(this,_uiManager).getMode()!==_util.AnnotationEditorType.STAMP?_classPrivateMethodGet(this,_createAndAddNewEditor,_createAndAddNewEditor2).call(this,event,!1):_classPrivateFieldGet(this,_uiManager).unselectAll():_classPrivateFieldSet(this,_allowClick,!0))}pointerdown(event){if(_classPrivateFieldGet(this,_hadPointerDown))return void _classPrivateFieldSet(this,_hadPointerDown,!1);const{isMac:isMac}=_util.FeatureTest.platform;if(0!==event.button||event.ctrlKey&&isMac)return;if(event.target!==this.div)return;_classPrivateFieldSet(this,_hadPointerDown,!0);const editor=_classPrivateFieldGet(this,_uiManager).getActive();_classPrivateFieldSet(this,_allowClick,!editor||editor.isEmpty())}findNewParent(editor,x,y){const layer=_classPrivateFieldGet(this,_uiManager).findParent(x,y);return null!==layer&&layer!==this&&(layer.changeParent(editor),!0)}destroy(){var _classPrivateFieldGet19;(null===(_classPrivateFieldGet19=_classPrivateFieldGet(this,_uiManager).getActive())||void 0===_classPrivateFieldGet19?void 0:_classPrivateFieldGet19.parent)===this&&(_classPrivateFieldGet(this,_uiManager).commitOrRemove(),_classPrivateFieldGet(this,_uiManager).setActiveEditor(null));for(const editor of _classPrivateFieldGet(this,_editors).values()){var _classPrivateFieldGet20;null===(_classPrivateFieldGet20=_classPrivateFieldGet(this,_accessibilityManager))||void 0===_classPrivateFieldGet20||_classPrivateFieldGet20.removePointerInTextLayer(editor.contentDiv),editor.setParent(null),editor.isAttachedToDOM=!1,editor.div.remove()}this.div=null,_classPrivateFieldGet(this,_editors).clear(),_classPrivateFieldGet(this,_uiManager).removeLayer(this)}render(_ref42){let{viewport:viewport}=_ref42;this.viewport=viewport,(0,_display_utils.setLayerDimensions)(this.div,viewport);for(const editor of _classPrivateFieldGet(this,_uiManager).getEditors(this.pageIndex))this.add(editor);this.updateMode()}update(_ref43){let{viewport:viewport}=_ref43;_classPrivateFieldGet(this,_uiManager).commitOrRemove(),this.viewport=viewport,(0,_display_utils.setLayerDimensions)(this.div,{rotation:viewport.rotation}),this.updateMode()}get pageDimensions(){const{pageWidth:pageWidth,pageHeight:pageHeight}=this.viewport.rawDims;return[pageWidth,pageHeight]}}function _createNewEditor2(params){switch(_classPrivateFieldGet(this,_uiManager).getMode()){case _util.AnnotationEditorType.FREETEXT:return new _freetext.FreeTextEditor(params);case _util.AnnotationEditorType.INK:return new _ink.InkEditor(params);case _util.AnnotationEditorType.STAMP:return new _stamp.StampEditor(params)}return null}function _createAndAddNewEditor2(event,isCentered){const id=this.getNextId(),editor=_classPrivateMethodGet(this,_createNewEditor,_createNewEditor2).call(this,{parent:this,id:id,x:event.offsetX,y:event.offsetY,uiManager:_classPrivateFieldGet(this,_uiManager),isCentered:isCentered});return editor&&this.add(editor),editor}function _getCenterPoint2(){const{x:x,y:y,width:width,height:height}=this.div.getBoundingClientRect(),tlX=Math.max(0,x),tlY=Math.max(0,y),centerX=(tlX+Math.min(window.innerWidth,x+width))/2-x,centerY=(tlY+Math.min(window.innerHeight,y+height))/2-y,[offsetX,offsetY]=this.viewport.rotation%180==0?[centerX,centerY]:[centerY,centerX];return{offsetX:offsetX,offsetY:offsetY}}function _cleanup2(){_classPrivateFieldSet(this,_isCleaningUp,!0);for(const editor of _classPrivateFieldGet(this,_editors).values())editor.isEmpty()&&editor.remove();_classPrivateFieldSet(this,_isCleaningUp,!1)}_defineProperty(AnnotationEditorLayer,"_initialized",!1),exports.AnnotationEditorLayer=AnnotationEditorLayer},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FreeTextEditor=void 0;var _util=__w_pdfjs_require__(1),_tools=__w_pdfjs_require__(5),_editor=__w_pdfjs_require__(4),_annotation_layer=__w_pdfjs_require__(29),_boundEditorDivBlur=new WeakMap,_boundEditorDivFocus=new WeakMap,_boundEditorDivInput=new WeakMap,_boundEditorDivKeydown=new WeakMap,_color=new WeakMap,_content=new WeakMap,_editorDivId=new WeakMap,_fontSize=new WeakMap,_initialData=new WeakMap,_updateFontSize=new WeakSet,_updateColor=new WeakSet,_extractText=new WeakSet,_setEditorDimensions=new WeakSet,_setContent=new WeakSet,_hasElementChanged=new WeakSet,_cheatInitialRect=new WeakSet;class FreeTextEditor extends _editor.AnnotationEditor{static get _keyboardManager(){const proto=FreeTextEditor.prototype,arrowChecker=self=>self.isEmpty(),small=_tools.AnnotationEditorUIManager.TRANSLATE_SMALL,big=_tools.AnnotationEditorUIManager.TRANSLATE_BIG;return(0,_util.shadow)(this,"_keyboardManager",new _tools.KeyboardManager([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],proto.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],proto.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],proto._translateEmpty,{args:[-small,0],checker:arrowChecker}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],proto._translateEmpty,{args:[-big,0],checker:arrowChecker}],[["ArrowRight","mac+ArrowRight"],proto._translateEmpty,{args:[small,0],checker:arrowChecker}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],proto._translateEmpty,{args:[big,0],checker:arrowChecker}],[["ArrowUp","mac+ArrowUp"],proto._translateEmpty,{args:[0,-small],checker:arrowChecker}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],proto._translateEmpty,{args:[0,-big],checker:arrowChecker}],[["ArrowDown","mac+ArrowDown"],proto._translateEmpty,{args:[0,small],checker:arrowChecker}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],proto._translateEmpty,{args:[0,big],checker:arrowChecker}]]))}constructor(params){super({...params,name:"freeTextEditor"}),_classPrivateMethodInitSpec(this,_cheatInitialRect),_classPrivateMethodInitSpec(this,_hasElementChanged),_classPrivateMethodInitSpec(this,_setContent),_classPrivateMethodInitSpec(this,_setEditorDimensions),_classPrivateMethodInitSpec(this,_extractText),_classPrivateMethodInitSpec(this,_updateColor),_classPrivateMethodInitSpec(this,_updateFontSize),_classPrivateFieldInitSpec(this,_boundEditorDivBlur,{writable:!0,value:this.editorDivBlur.bind(this)}),_classPrivateFieldInitSpec(this,_boundEditorDivFocus,{writable:!0,value:this.editorDivFocus.bind(this)}),_classPrivateFieldInitSpec(this,_boundEditorDivInput,{writable:!0,value:this.editorDivInput.bind(this)}),_classPrivateFieldInitSpec(this,_boundEditorDivKeydown,{writable:!0,value:this.editorDivKeydown.bind(this)}),_classPrivateFieldInitSpec(this,_color,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_content,{writable:!0,value:""}),_classPrivateFieldInitSpec(this,_editorDivId,{writable:!0,value:"".concat(this.id,"-editor")}),_classPrivateFieldInitSpec(this,_fontSize,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_initialData,{writable:!0,value:null}),_classPrivateFieldSet(this,_color,params.color||FreeTextEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor),_classPrivateFieldSet(this,_fontSize,params.fontSize||FreeTextEditor._defaultFontSize)}static initialize(l10n){_editor.AnnotationEditor.initialize(l10n,{strings:["free_text2_default_content","editor_free_text2_aria_label"]});const style=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(style.getPropertyValue("--freetext-padding"))}static updateDefaultParams(type,value){switch(type){case _util.AnnotationEditorParamsType.FREETEXT_SIZE:FreeTextEditor._defaultFontSize=value;break;case _util.AnnotationEditorParamsType.FREETEXT_COLOR:FreeTextEditor._defaultColor=value}}updateParams(type,value){switch(type){case _util.AnnotationEditorParamsType.FREETEXT_SIZE:_classPrivateMethodGet(this,_updateFontSize,_updateFontSize2).call(this,value);break;case _util.AnnotationEditorParamsType.FREETEXT_COLOR:_classPrivateMethodGet(this,_updateColor,_updateColor2).call(this,value)}}static get defaultPropertiesToUpdate(){return[[_util.AnnotationEditorParamsType.FREETEXT_SIZE,FreeTextEditor._defaultFontSize],[_util.AnnotationEditorParamsType.FREETEXT_COLOR,FreeTextEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor]]}get propertiesToUpdate(){return[[_util.AnnotationEditorParamsType.FREETEXT_SIZE,_classPrivateFieldGet(this,_fontSize)],[_util.AnnotationEditorParamsType.FREETEXT_COLOR,_classPrivateFieldGet(this,_color)]]}_translateEmpty(x,y){this._uiManager.translateSelectedEditors(x,y,!0)}getInitialTranslation(){const scale=this.parentScale;return[-FreeTextEditor._internalPadding*scale,-(FreeTextEditor._internalPadding+_classPrivateFieldGet(this,_fontSize))*scale]}rebuild(){this.parent&&(super.rebuild(),null!==this.div&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){this.isInEditMode()||(this.parent.setEditingState(!1),this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),this.editorDiv.addEventListener("keydown",_classPrivateFieldGet(this,_boundEditorDivKeydown)),this.editorDiv.addEventListener("focus",_classPrivateFieldGet(this,_boundEditorDivFocus)),this.editorDiv.addEventListener("blur",_classPrivateFieldGet(this,_boundEditorDivBlur)),this.editorDiv.addEventListener("input",_classPrivateFieldGet(this,_boundEditorDivInput)))}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",_classPrivateFieldGet(this,_editorDivId)),this._isDraggable=!0,this.editorDiv.removeEventListener("keydown",_classPrivateFieldGet(this,_boundEditorDivKeydown)),this.editorDiv.removeEventListener("focus",_classPrivateFieldGet(this,_boundEditorDivFocus)),this.editorDiv.removeEventListener("blur",_classPrivateFieldGet(this,_boundEditorDivBlur)),this.editorDiv.removeEventListener("input",_classPrivateFieldGet(this,_boundEditorDivInput)),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freeTextEditing"))}focusin(event){this._focusEventsAllowed&&(super.focusin(event),event.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(){var _this$_initialOptions;this.width?_classPrivateMethodGet(this,_cheatInitialRect,_cheatInitialRect2).call(this):(this.enableEditMode(),this.editorDiv.focus(),null!==(_this$_initialOptions=this._initialOptions)&&void 0!==_this$_initialOptions&&_this$_initialOptions.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freeTextEditing")),super.remove()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const savedText=_classPrivateFieldGet(this,_content),newText=_classPrivateFieldSet(this,_content,_classPrivateMethodGet(this,_extractText,_extractText2).call(this).trimEnd());if(savedText===newText)return;const setText=text=>{_classPrivateFieldSet(this,_content,text),text?(_classPrivateMethodGet(this,_setContent,_setContent2).call(this),this._uiManager.rebuild(this),_classPrivateMethodGet(this,_setEditorDimensions,_setEditorDimensions2).call(this)):this.remove()};this.addCommands({cmd:()=>{setText(newText)},undo:()=>{setText(savedText)},mustExec:!1}),_classPrivateMethodGet(this,_setEditorDimensions,_setEditorDimensions2).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}dblclick(event){this.enterInEditMode()}keydown(event){event.target===this.div&&"Enter"===event.key&&(this.enterInEditMode(),event.preventDefault())}editorDivKeydown(event){FreeTextEditor._keyboardManager.exec(this,event)}editorDivFocus(event){this.isEditing=!0}editorDivBlur(event){this.isEditing=!1}editorDivInput(event){this.parent.div.classList.toggle("freeTextEditing",this.isEmpty())}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 baseX,baseY;this.width&&(baseX=this.x,baseY=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",_classPrivateFieldGet(this,_editorDivId)),this.enableEditing(),_editor.AnnotationEditor._l10nPromise.get("editor_free_text2_aria_label").then((msg=>{var _this$editorDiv;return null===(_this$editorDiv=this.editorDiv)||void 0===_this$editorDiv?void 0:_this$editorDiv.setAttribute("aria-label",msg)})),_editor.AnnotationEditor._l10nPromise.get("free_text2_default_content").then((msg=>{var _this$editorDiv2;return null===(_this$editorDiv2=this.editorDiv)||void 0===_this$editorDiv2?void 0:_this$editorDiv2.setAttribute("default-content",msg)})),this.editorDiv.contentEditable=!0;const{style:style}=this.editorDiv;if(style.fontSize="calc(".concat(_classPrivateFieldGet(this,_fontSize),"px * var(--scale-factor))"),style.color=_classPrivateFieldGet(this,_color),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),(0,_tools.bindEvents)(this,this.div,["dblclick","keydown"]),this.width){const[parentWidth,parentHeight]=this.parentDimensions;if(this.annotationElementId){const{position:position}=_classPrivateFieldGet(this,_initialData);let[tx,ty]=this.getInitialTranslation();[tx,ty]=this.pageTranslationToScreen(tx,ty);const[pageWidth,pageHeight]=this.pageDimensions,[pageX,pageY]=this.pageTranslation;let posX,posY;switch(this.rotation){case 0:posX=baseX+(position[0]-pageX)/pageWidth,posY=baseY+this.height-(position[1]-pageY)/pageHeight;break;case 90:posX=baseX+(position[0]-pageX)/pageWidth,posY=baseY-(position[1]-pageY)/pageHeight,[tx,ty]=[ty,-tx];break;case 180:posX=baseX-this.width+(position[0]-pageX)/pageWidth,posY=baseY-(position[1]-pageY)/pageHeight,[tx,ty]=[-tx,-ty];break;case 270:posX=baseX+(position[0]-pageX-this.height*pageHeight)/pageWidth,posY=baseY+(position[1]-pageY-this.width*pageWidth)/pageHeight,[tx,ty]=[-ty,tx]}this.setAt(posX*parentWidth,posY*parentHeight,tx,ty)}else this.setAt(baseX*parentWidth,baseY*parentHeight,this.width*parentWidth,this.height*parentHeight);_classPrivateMethodGet(this,_setContent,_setContent2).call(this),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}get contentDiv(){return this.editorDiv}static deserialize(data,parent,uiManager){let initialData=null;if(data instanceof _annotation_layer.FreeTextAnnotationElement){const{data:{defaultAppearanceData:{fontSize:fontSize,fontColor:fontColor},rect:rect,rotation:rotation,id:id},textContent:textContent,textPosition:textPosition,parent:{page:{pageNumber:pageNumber}}}=data;if(!textContent||0===textContent.length)return null;initialData=data={annotationType:_util.AnnotationEditorType.FREETEXT,color:Array.from(fontColor),fontSize:fontSize,value:textContent.join("\n"),position:textPosition,pageIndex:pageNumber-1,rect:rect,rotation:rotation,id:id,deleted:!1}}const editor=super.deserialize(data,parent,uiManager);return _classPrivateFieldSet(editor,_fontSize,data.fontSize),_classPrivateFieldSet(editor,_color,_util.Util.makeHexColor(...data.color)),_classPrivateFieldSet(editor,_content,data.value),editor.annotationElementId=data.id||null,_classPrivateFieldSet(editor,_initialData,initialData),editor}serialize(){let isForCopying=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isEmpty())return null;if(this.deleted)return{pageIndex:this.pageIndex,id:this.annotationElementId,deleted:!0};const padding=FreeTextEditor._internalPadding*this.parentScale,rect=this.getRect(padding,padding),color=_editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:_classPrivateFieldGet(this,_color)),serialized={annotationType:_util.AnnotationEditorType.FREETEXT,color:color,fontSize:_classPrivateFieldGet(this,_fontSize),value:_classPrivateFieldGet(this,_content),pageIndex:this.pageIndex,rect:rect,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return isForCopying?serialized:this.annotationElementId&&!_classPrivateMethodGet(this,_hasElementChanged,_hasElementChanged2).call(this,serialized)?null:(serialized.id=this.annotationElementId,serialized)}}function _updateFontSize2(fontSize){const setFontsize=size=>{this.editorDiv.style.fontSize="calc(".concat(size,"px * var(--scale-factor))"),this.translate(0,-(size-_classPrivateFieldGet(this,_fontSize))*this.parentScale),_classPrivateFieldSet(this,_fontSize,size),_classPrivateMethodGet(this,_setEditorDimensions,_setEditorDimensions2).call(this)},savedFontsize=_classPrivateFieldGet(this,_fontSize);this.addCommands({cmd:()=>{setFontsize(fontSize)},undo:()=>{setFontsize(savedFontsize)},mustExec:!0,type:_util.AnnotationEditorParamsType.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}function _updateColor2(color){const savedColor=_classPrivateFieldGet(this,_color);this.addCommands({cmd:()=>{_classPrivateFieldSet(this,_color,this.editorDiv.style.color=color)},undo:()=>{_classPrivateFieldSet(this,_color,this.editorDiv.style.color=savedColor)},mustExec:!0,type:_util.AnnotationEditorParamsType.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}function _extractText2(){const divs=this.editorDiv.getElementsByTagName("div");if(0===divs.length)return this.editorDiv.innerText;const buffer=[];for(const div of divs)buffer.push(div.innerText.replace(/\r\n?|\n/,""));return buffer.join("\n")}function _setEditorDimensions2(){const[parentWidth,parentHeight]=this.parentDimensions;let rect;if(this.isAttachedToDOM)rect=this.div.getBoundingClientRect();else{const{currentLayer:currentLayer,div:div}=this,savedDisplay=div.style.display;div.style.display="hidden",currentLayer.div.append(this.div),rect=div.getBoundingClientRect(),div.remove(),div.style.display=savedDisplay}this.rotation%180==this.parentRotation%180?(this.width=rect.width/parentWidth,this.height=rect.height/parentHeight):(this.width=rect.height/parentWidth,this.height=rect.width/parentHeight),this.fixAndSetPosition()}function _setContent2(){if(this.editorDiv.replaceChildren(),_classPrivateFieldGet(this,_content))for(const line of _classPrivateFieldGet(this,_content).split("\n")){const div=document.createElement("div");div.append(line?document.createTextNode(line):document.createElement("br")),this.editorDiv.append(div)}}function _hasElementChanged2(serialized){const{value:value,fontSize:fontSize,color:color,rect:rect,pageIndex:pageIndex}=_classPrivateFieldGet(this,_initialData);return serialized.value!==value||serialized.fontSize!==fontSize||serialized.rect.some(((x,i)=>Math.abs(x-rect[i])>=1))||serialized.color.some(((c,i)=>c!==color[i]))||serialized.pageIndex!==pageIndex}function _cheatInitialRect2(){let delayed=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.annotationElementId)return;if(_classPrivateMethodGet(this,_setEditorDimensions,_setEditorDimensions2).call(this),!delayed&&(0===this.width||0===this.height))return void setTimeout((()=>_classPrivateMethodGet(this,_cheatInitialRect,_cheatInitialRect2).call(this,!0)),0);const padding=FreeTextEditor._internalPadding*this.parentScale;_classPrivateFieldGet(this,_initialData).rect=this.getRect(padding,padding)}_defineProperty(FreeTextEditor,"_freeTextDefaultContent",""),_defineProperty(FreeTextEditor,"_internalPadding",0),_defineProperty(FreeTextEditor,"_defaultColor",null),_defineProperty(FreeTextEditor,"_defaultFontSize",10),_defineProperty(FreeTextEditor,"_type","freetext"),exports.FreeTextEditor=FreeTextEditor},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.StampAnnotationElement=exports.InkAnnotationElement=exports.FreeTextAnnotationElement=exports.AnnotationLayer=void 0;var _util=__w_pdfjs_require__(1),_display_utils=__w_pdfjs_require__(6),_annotation_storage=__w_pdfjs_require__(3),_scripting_utils=__w_pdfjs_require__(30),_displayL10n_utils=__w_pdfjs_require__(31),_xfa_layer=__w_pdfjs_require__(32);const GetElementsByNameSet=new WeakSet;function getRectDims(rect){return{width:rect[2]-rect[0],height:rect[3]-rect[1]}}class AnnotationElementFactory{static create(parameters){switch(parameters.data.annotationType){case _util.AnnotationType.LINK:return new LinkAnnotationElement(parameters);case _util.AnnotationType.TEXT:return new TextAnnotationElement(parameters);case _util.AnnotationType.WIDGET:switch(parameters.data.fieldType){case"Tx":return new TextWidgetAnnotationElement(parameters);case"Btn":return parameters.data.radioButton?new RadioButtonWidgetAnnotationElement(parameters):parameters.data.checkBox?new CheckboxWidgetAnnotationElement(parameters):new PushButtonWidgetAnnotationElement(parameters);case"Ch":return new ChoiceWidgetAnnotationElement(parameters);case"Sig":return new SignatureWidgetAnnotationElement(parameters)}return new WidgetAnnotationElement(parameters);case _util.AnnotationType.POPUP:return new PopupAnnotationElement(parameters);case _util.AnnotationType.FREETEXT:return new FreeTextAnnotationElement(parameters);case _util.AnnotationType.LINE:return new LineAnnotationElement(parameters);case _util.AnnotationType.SQUARE:return new SquareAnnotationElement(parameters);case _util.AnnotationType.CIRCLE:return new CircleAnnotationElement(parameters);case _util.AnnotationType.POLYLINE:return new PolylineAnnotationElement(parameters);case _util.AnnotationType.CARET:return new CaretAnnotationElement(parameters);case _util.AnnotationType.INK:return new InkAnnotationElement(parameters);case _util.AnnotationType.POLYGON:return new PolygonAnnotationElement(parameters);case _util.AnnotationType.HIGHLIGHT:return new HighlightAnnotationElement(parameters);case _util.AnnotationType.UNDERLINE:return new UnderlineAnnotationElement(parameters);case _util.AnnotationType.SQUIGGLY:return new SquigglyAnnotationElement(parameters);case _util.AnnotationType.STRIKEOUT:return new StrikeOutAnnotationElement(parameters);case _util.AnnotationType.STAMP:return new StampAnnotationElement(parameters);case _util.AnnotationType.FILEATTACHMENT:return new FileAttachmentAnnotationElement(parameters);default:return new AnnotationElement(parameters)}}}var _hasBorder=new WeakMap;class AnnotationElement{constructor(parameters){let{isRenderable:isRenderable=!1,ignoreBorder:ignoreBorder=!1,createQuadrilaterals:createQuadrilaterals=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_classPrivateFieldInitSpec(this,_hasBorder,{writable:!0,value:!1}),this.isRenderable=isRenderable,this.data=parameters.data,this.layer=parameters.layer,this.linkService=parameters.linkService,this.downloadManager=parameters.downloadManager,this.imageResourcesPath=parameters.imageResourcesPath,this.renderForms=parameters.renderForms,this.svgFactory=parameters.svgFactory,this.annotationStorage=parameters.annotationStorage,this.enableScripting=parameters.enableScripting,this.hasJSActions=parameters.hasJSActions,this._fieldObjects=parameters.fieldObjects,this.parent=parameters.parent,isRenderable&&(this.container=this._createContainer(ignoreBorder)),createQuadrilaterals&&this._createQuadrilaterals()}static _hasPopupData(_ref44){let{titleObj:titleObj,contentsObj:contentsObj,richText:richText}=_ref44;return!!(null!=titleObj&&titleObj.str||null!=contentsObj&&contentsObj.str||null!=richText&&richText.str)}get hasPopupData(){return AnnotationElement._hasPopupData(this.data)}_createContainer(ignoreBorder){const{data:data,parent:{page:page,viewport:viewport}}=this,container=document.createElement("section");container.setAttribute("data-annotation-id",data.id),this instanceof WidgetAnnotationElement||(container.tabIndex=1e3),container.style.zIndex=this.parent.zIndex++,this.data.popupRef&&container.setAttribute("aria-haspopup","dialog"),data.noRotate&&container.classList.add("norotate");const{pageWidth:pageWidth,pageHeight:pageHeight,pageX:pageX,pageY:pageY}=viewport.rawDims;if(!data.rect||this instanceof PopupAnnotationElement){const{rotation:rotation}=data;return data.hasOwnCanvas||0===rotation||this.setRotation(rotation,container),container}const{width:width,height:height}=getRectDims(data.rect),rect=_util.Util.normalizeRect([data.rect[0],page.view[3]-data.rect[1]+page.view[1],data.rect[2],page.view[3]-data.rect[3]+page.view[1]]);if(!ignoreBorder&&data.borderStyle.width>0){container.style.borderWidth="".concat(data.borderStyle.width,"px");const horizontalRadius=data.borderStyle.horizontalCornerRadius,verticalRadius=data.borderStyle.verticalCornerRadius;if(horizontalRadius>0||verticalRadius>0){const radius="calc(".concat(horizontalRadius,"px * var(--scale-factor)) / calc(").concat(verticalRadius,"px * var(--scale-factor))");container.style.borderRadius=radius}else if(this instanceof RadioButtonWidgetAnnotationElement){const radius="calc(".concat(width,"px * var(--scale-factor)) / calc(").concat(height,"px * var(--scale-factor))");container.style.borderRadius=radius}switch(data.borderStyle.style){case _util.AnnotationBorderStyleType.SOLID:container.style.borderStyle="solid";break;case _util.AnnotationBorderStyleType.DASHED:container.style.borderStyle="dashed";break;case _util.AnnotationBorderStyleType.BEVELED:(0,_util.warn)("Unimplemented border style: beveled");break;case _util.AnnotationBorderStyleType.INSET:(0,_util.warn)("Unimplemented border style: inset");break;case _util.AnnotationBorderStyleType.UNDERLINE:container.style.borderBottomStyle="solid"}const borderColor=data.borderColor||null;borderColor?(_classPrivateFieldSet(this,_hasBorder,!0),container.style.borderColor=_util.Util.makeHexColor(0|borderColor[0],0|borderColor[1],0|borderColor[2])):container.style.borderWidth=0}container.style.left="".concat(100*(rect[0]-pageX)/pageWidth,"%"),container.style.top="".concat(100*(rect[1]-pageY)/pageHeight,"%");const{rotation:rotation}=data;return data.hasOwnCanvas||0===rotation?(container.style.width="".concat(100*width/pageWidth,"%"),container.style.height="".concat(100*height/pageHeight,"%")):this.setRotation(rotation,container),container}setRotation(angle){let container=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.container;if(!this.data.rect)return;const{pageWidth:pageWidth,pageHeight:pageHeight}=this.parent.viewport.rawDims,{width:width,height:height}=getRectDims(this.data.rect);let elementWidth,elementHeight;angle%180==0?(elementWidth=100*width/pageWidth,elementHeight=100*height/pageHeight):(elementWidth=100*height/pageWidth,elementHeight=100*width/pageHeight),container.style.width="".concat(elementWidth,"%"),container.style.height="".concat(elementHeight,"%"),container.setAttribute("data-main-rotation",(360-angle)%360)}get _commonActions(){const setColor=(jsName,styleName,event)=>{const color=event.detail[jsName],colorType=color[0],colorArray=color.slice(1);event.target.style[styleName]=_scripting_utils.ColorConverters["".concat(colorType,"_HTML")](colorArray),this.annotationStorage.setValue(this.data.id,{[styleName]:_scripting_utils.ColorConverters["".concat(colorType,"_rgb")](colorArray)})};return(0,_util.shadow)(this,"_commonActions",{display:event=>{const{display:display}=event.detail,hidden=display%2==1;this.container.style.visibility=hidden?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:hidden,noPrint:1===display||2===display})},print:event=>{this.annotationStorage.setValue(this.data.id,{noPrint:!event.detail.print})},hidden:event=>{const{hidden:hidden}=event.detail;this.container.style.visibility=hidden?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:hidden,noView:hidden})},focus:event=>{setTimeout((()=>event.target.focus({preventScroll:!1})),0)},userName:event=>{event.target.title=event.detail.userName},readonly:event=>{event.target.disabled=event.detail.readonly},required:event=>{this._setRequired(event.target,event.detail.required)},bgColor:event=>{setColor("bgColor","backgroundColor",event)},fillColor:event=>{setColor("fillColor","backgroundColor",event)},fgColor:event=>{setColor("fgColor","color",event)},textColor:event=>{setColor("textColor","color",event)},borderColor:event=>{setColor("borderColor","borderColor",event)},strokeColor:event=>{setColor("strokeColor","borderColor",event)},rotation:event=>{const angle=event.detail.rotation;this.setRotation(angle),this.annotationStorage.setValue(this.data.id,{rotation:angle})}})}_dispatchEventFromSandbox(actions,jsEvent){const commonActions=this._commonActions;for(const name of Object.keys(jsEvent.detail)){const action=actions[name]||commonActions[name];null==action||action(jsEvent)}}_setDefaultPropertiesFromJS(element){if(!this.enableScripting)return;const storedData=this.annotationStorage.getRawValue(this.data.id);if(!storedData)return;const commonActions=this._commonActions;for(const[actionName,detail]of Object.entries(storedData)){const action=commonActions[actionName];action&&(action({detail:{[actionName]:detail},target:element}),delete storedData[actionName])}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:quadPoints}=this.data;if(!quadPoints)return;const[rectBlX,rectBlY,rectTrX,rectTrY]=this.data.rect;if(1===quadPoints.length){const[,{x:trX,y:trY},{x:blX,y:blY}]=quadPoints[0];if(rectTrX===trX&&rectTrY===trY&&rectBlX===blX&&rectBlY===blY)return}const{style:style}=this.container;let svgBuffer;if(_classPrivateFieldGet(this,_hasBorder)){const{borderColor:borderColor,borderWidth:borderWidth}=style;style.borderWidth=0,svgBuffer=["url('data:image/svg+xml;utf8,",'','')],this.container.classList.add("hasBorder")}const width=rectTrX-rectBlX,height=rectTrY-rectBlY,{svgFactory:svgFactory}=this,svg=svgFactory.createElement("svg");svg.classList.add("quadrilateralsContainer"),svg.setAttribute("width",0),svg.setAttribute("height",0);const defs=svgFactory.createElement("defs");svg.append(defs);const clipPath=svgFactory.createElement("clipPath"),id="clippath_".concat(this.data.id);clipPath.setAttribute("id",id),clipPath.setAttribute("clipPathUnits","objectBoundingBox"),defs.append(clipPath);for(const[,{x:trX,y:trY},{x:blX,y:blY}]of quadPoints){var _svgBuffer;const rect=svgFactory.createElement("rect"),x=(blX-rectBlX)/width,y=(rectTrY-trY)/height,rectWidth=(trX-blX)/width,rectHeight=(trY-blY)/height;rect.setAttribute("x",x),rect.setAttribute("y",y),rect.setAttribute("width",rectWidth),rect.setAttribute("height",rectHeight),clipPath.append(rect),null===(_svgBuffer=svgBuffer)||void 0===_svgBuffer||_svgBuffer.push(''))}_classPrivateFieldGet(this,_hasBorder)&&(svgBuffer.push("')"),style.backgroundImage=svgBuffer.join("")),this.container.append(svg),this.container.style.clipPath="url(#".concat(id,")")}_createPopup(){const{container:container,data:data}=this;container.setAttribute("aria-haspopup","dialog");const popup=new PopupAnnotationElement({data:{color:data.color,titleObj:data.titleObj,modificationDate:data.modificationDate,contentsObj:data.contentsObj,richText:data.richText,parentRect:data.rect,borderStyle:0,id:"popup_".concat(data.id),rotation:data.rotation},parent:this.parent,elements:[this]});this.parent.div.append(popup.render())}render(){(0,_util.unreachable)("Abstract method `AnnotationElement.render` called")}_getElementsByName(name){let skipId=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const fields=[];if(this._fieldObjects){const fieldObj=this._fieldObjects[name];if(fieldObj)for(const{page:page,id:id,exportValues:exportValues}of fieldObj){if(-1===page)continue;if(id===skipId)continue;const exportValue="string"==typeof exportValues?exportValues:null,domElement=document.querySelector('[data-element-id="'.concat(id,'"]'));!domElement||GetElementsByNameSet.has(domElement)?fields.push({id:id,exportValue:exportValue,domElement:domElement}):(0,_util.warn)("_getElementsByName - element not allowed: ".concat(id))}return fields}for(const domElement of document.getElementsByName(name)){const{exportValue:exportValue}=domElement,id=domElement.getAttribute("data-element-id");id!==skipId&&GetElementsByNameSet.has(domElement)&&fields.push({id:id,exportValue:exportValue,domElement:domElement})}return fields}show(){var _this$popup;this.container&&(this.container.hidden=!1),null===(_this$popup=this.popup)||void 0===_this$popup||_this$popup.maybeShow()}hide(){var _this$popup2;this.container&&(this.container.hidden=!0),null===(_this$popup2=this.popup)||void 0===_this$popup2||_this$popup2.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const triggers=this.getElementsToTriggerPopup();if(Array.isArray(triggers))for(const element of triggers)element.classList.add("highlightArea");else triggers.classList.add("highlightArea")}_editOnDoubleClick(){const{annotationEditorType:mode,data:{id:editId}}=this;this.container.addEventListener("dblclick",(()=>{var _this$linkService$eve;null===(_this$linkService$eve=this.linkService.eventBus)||void 0===_this$linkService$eve||_this$linkService$eve.dispatch("switchannotationeditormode",{source:this,mode:mode,editId:editId})}))}}var _setInternalLink=new WeakSet,_bindSetOCGState=new WeakSet;class LinkAnnotationElement extends AnnotationElement{constructor(parameters){let options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;super(parameters,{isRenderable:!0,ignoreBorder:!(null==options||!options.ignoreBorder),createQuadrilaterals:!0}),_classPrivateMethodInitSpec(this,_bindSetOCGState),_classPrivateMethodInitSpec(this,_setInternalLink),this.isTooltipOnly=parameters.data.isTooltipOnly}render(){const{data:data,linkService:linkService}=this,link=document.createElement("a");link.setAttribute("data-element-id",data.id);let isBound=!1;return data.url?(linkService.addLinkAttributes(link,data.url,data.newWindow),isBound=!0):data.action?(this._bindNamedAction(link,data.action),isBound=!0):data.attachment?(this._bindAttachment(link,data.attachment),isBound=!0):data.setOCGState?(_classPrivateMethodGet(this,_bindSetOCGState,_bindSetOCGState2).call(this,link,data.setOCGState),isBound=!0):data.dest?(this._bindLink(link,data.dest),isBound=!0):(data.actions&&(data.actions.Action||data.actions["Mouse Up"]||data.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(link,data),isBound=!0),data.resetForm?(this._bindResetFormAction(link,data.resetForm),isBound=!0):this.isTooltipOnly&&!isBound&&(this._bindLink(link,""),isBound=!0)),this.container.classList.add("linkAnnotation"),isBound&&this.container.append(link),this.container}_bindLink(link,destination){link.href=this.linkService.getDestinationHash(destination),link.onclick=()=>(destination&&this.linkService.goToDestination(destination),!1),(destination||""===destination)&&_classPrivateMethodGet(this,_setInternalLink,_setInternalLink2).call(this)}_bindNamedAction(link,action){link.href=this.linkService.getAnchorUrl(""),link.onclick=()=>(this.linkService.executeNamedAction(action),!1),_classPrivateMethodGet(this,_setInternalLink,_setInternalLink2).call(this)}_bindAttachment(link,attachment){link.href=this.linkService.getAnchorUrl(""),link.onclick=()=>{var _this$downloadManager;return null===(_this$downloadManager=this.downloadManager)||void 0===_this$downloadManager||_this$downloadManager.openOrDownloadData(this.container,attachment.content,attachment.filename),!1},_classPrivateMethodGet(this,_setInternalLink,_setInternalLink2).call(this)}_bindJSAction(link,data){link.href=this.linkService.getAnchorUrl("");const map=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const name of Object.keys(data.actions)){const jsName=map.get(name);jsName&&(link[jsName]=()=>{var _this$linkService$eve2;return null===(_this$linkService$eve2=this.linkService.eventBus)||void 0===_this$linkService$eve2||_this$linkService$eve2.dispatch("dispatcheventinsandbox",{source:this,detail:{id:data.id,name:name}}),!1})}link.onclick||(link.onclick=()=>!1),_classPrivateMethodGet(this,_setInternalLink,_setInternalLink2).call(this)}_bindResetFormAction(link,resetForm){const otherClickAction=link.onclick;if(otherClickAction||(link.href=this.linkService.getAnchorUrl("")),_classPrivateMethodGet(this,_setInternalLink,_setInternalLink2).call(this),!this._fieldObjects)return(0,_util.warn)('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),void(otherClickAction||(link.onclick=()=>!1));link.onclick=()=>{null==otherClickAction||otherClickAction();const{fields:resetFormFields,refs:resetFormRefs,include:include}=resetForm,allFields=[];if(0!==resetFormFields.length||0!==resetFormRefs.length){const fieldIds=new Set(resetFormRefs);for(const fieldName of resetFormFields){const fields=this._fieldObjects[fieldName]||[];for(const{id:id}of fields)fieldIds.add(id)}for(const fields of Object.values(this._fieldObjects))for(const field of fields)fieldIds.has(field.id)===include&&allFields.push(field)}else for(const fields of Object.values(this._fieldObjects))allFields.push(...fields);const storage=this.annotationStorage,allIds=[];for(const field of allFields){const{id:id}=field;switch(allIds.push(id),field.type){case"text":{const value=field.defaultValue||"";storage.setValue(id,{value:value});break}case"checkbox":case"radiobutton":{const value=field.defaultValue===field.exportValues;storage.setValue(id,{value:value});break}case"combobox":case"listbox":{const value=field.defaultValue||"";storage.setValue(id,{value:value});break}default:continue}const domElement=document.querySelector('[data-element-id="'.concat(id,'"]'));domElement&&(GetElementsByNameSet.has(domElement)?domElement.dispatchEvent(new Event("resetform")):(0,_util.warn)("_bindResetFormAction - element not allowed: ".concat(id)))}var _this$linkService$eve3;return this.enableScripting&&(null===(_this$linkService$eve3=this.linkService.eventBus)||void 0===_this$linkService$eve3||_this$linkService$eve3.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:allIds,name:"ResetForm"}})),!1}}}function _setInternalLink2(){this.container.setAttribute("data-internal-link","")}function _bindSetOCGState2(link,action){link.href=this.linkService.getAnchorUrl(""),link.onclick=()=>(this.linkService.executeSetOCGState(action),!1),_classPrivateMethodGet(this,_setInternalLink,_setInternalLink2).call(this)}class TextAnnotationElement extends AnnotationElement{constructor(parameters){super(parameters,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const image=document.createElement("img");return image.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",image.alt="[{{type}} Annotation]",image.dataset.l10nId="text_annotation_type",image.dataset.l10nArgs=JSON.stringify({type:this.data.name}),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(image),this.container}}class WidgetAnnotationElement extends AnnotationElement{render(){return this.data.alternativeText&&(this.container.title=this.data.alternativeText),this.container}showElementAndHideCanvas(element){var _element$previousSibl;this.data.hasOwnCanvas&&("CANVAS"===(null===(_element$previousSibl=element.previousSibling)||void 0===_element$previousSibl?void 0:_element$previousSibl.nodeName)&&(element.previousSibling.hidden=!0),element.hidden=!1)}_getKeyModifier(event){const{isWin:isWin,isMac:isMac}=_util.FeatureTest.platform;return isWin&&event.ctrlKey||isMac&&event.metaKey}_setEventListener(element,elementData,baseName,eventName,valueGetter){baseName.includes("mouse")?element.addEventListener(baseName,(event=>{var _this$linkService$eve4;null===(_this$linkService$eve4=this.linkService.eventBus)||void 0===_this$linkService$eve4||_this$linkService$eve4.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:eventName,value:valueGetter(event),shift:event.shiftKey,modifier:this._getKeyModifier(event)}})})):element.addEventListener(baseName,(event=>{var _this$linkService$eve5;if("blur"===baseName){if(!elementData.focused||!event.relatedTarget)return;elementData.focused=!1}else if("focus"===baseName){if(elementData.focused)return;elementData.focused=!0}valueGetter&&(null===(_this$linkService$eve5=this.linkService.eventBus)||void 0===_this$linkService$eve5||_this$linkService$eve5.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:eventName,value:valueGetter(event)}}))}))}_setEventListeners(element,elementData,names,getter){for(const[baseName,eventName]of names){var _this$data$actions,_this$data$actions2,_this$data$actions3;("Action"===eventName||null!==(_this$data$actions=this.data.actions)&&void 0!==_this$data$actions&&_this$data$actions[eventName])&&("Focus"!==eventName&&"Blur"!==eventName||elementData||(elementData={focused:!1}),this._setEventListener(element,elementData,baseName,eventName,getter),"Focus"!==eventName||null!==(_this$data$actions2=this.data.actions)&&void 0!==_this$data$actions2&&_this$data$actions2.Blur?"Blur"!==eventName||null!==(_this$data$actions3=this.data.actions)&&void 0!==_this$data$actions3&&_this$data$actions3.Focus||this._setEventListener(element,elementData,"focus","Focus",null):this._setEventListener(element,elementData,"blur","Blur",null))}}_setBackgroundColor(element){const color=this.data.backgroundColor||null;element.style.backgroundColor=null===color?"transparent":_util.Util.makeHexColor(color[0],color[1],color[2])}_setTextStyle(element){const TEXT_ALIGNMENT=["left","center","right"],{fontColor:fontColor}=this.data.defaultAppearanceData,fontSize=this.data.defaultAppearanceData.fontSize||9,style=element.style;let computedFontSize;const roundToOneDecimal=x=>Math.round(10*x)/10;if(this.data.multiLine){const height=Math.abs(this.data.rect[3]-this.data.rect[1]-2),lineHeight=height/(Math.round(height/(_util.LINE_FACTOR*fontSize))||1);computedFontSize=Math.min(fontSize,roundToOneDecimal(lineHeight/_util.LINE_FACTOR))}else{const height=Math.abs(this.data.rect[3]-this.data.rect[1]-2);computedFontSize=Math.min(fontSize,roundToOneDecimal(height/_util.LINE_FACTOR))}style.fontSize="calc(".concat(computedFontSize,"px * var(--scale-factor))"),style.color=_util.Util.makeHexColor(fontColor[0],fontColor[1],fontColor[2]),null!==this.data.textAlignment&&(style.textAlign=TEXT_ALIGNMENT[this.data.textAlignment])}_setRequired(element,isRequired){isRequired?element.setAttribute("required",!0):element.removeAttribute("required"),element.setAttribute("aria-required",isRequired)}}class TextWidgetAnnotationElement extends WidgetAnnotationElement{constructor(parameters){super(parameters,{isRenderable:parameters.renderForms||!parameters.data.hasAppearance&&!!parameters.data.fieldValue})}setPropertyOnSiblings(base,key,value,keyInStorage){const storage=this.annotationStorage;for(const element of this._getElementsByName(base.name,base.id))element.domElement&&(element.domElement[key]=value),storage.setValue(element.id,{[keyInStorage]:value})}render(){const storage=this.annotationStorage,id=this.data.id;this.container.classList.add("textWidgetAnnotation");let element=null;if(this.renderForms){var _this$data$textConten;const storedData=storage.getValue(id,{value:this.data.fieldValue});let textContent=storedData.value||"";const maxLen=storage.getValue(id,{charLimit:this.data.maxLen}).charLimit;maxLen&&textContent.length>maxLen&&(textContent=textContent.slice(0,maxLen));let fieldFormattedValues=storedData.formattedValue||(null===(_this$data$textConten=this.data.textContent)||void 0===_this$data$textConten?void 0:_this$data$textConten.join("\n"))||null;fieldFormattedValues&&this.data.comb&&(fieldFormattedValues=fieldFormattedValues.replaceAll(/\s+/g,""));const elementData={userValue:textContent,formattedValue:fieldFormattedValues,lastCommittedValue:null,commitKey:1,focused:!1};var _fieldFormattedValues,_fieldFormattedValues2;this.data.multiLine?(element=document.createElement("textarea"),element.textContent=null!==(_fieldFormattedValues=fieldFormattedValues)&&void 0!==_fieldFormattedValues?_fieldFormattedValues:textContent,this.data.doNotScroll&&(element.style.overflowY="hidden")):(element=document.createElement("input"),element.type="text",element.setAttribute("value",null!==(_fieldFormattedValues2=fieldFormattedValues)&&void 0!==_fieldFormattedValues2?_fieldFormattedValues2:textContent),this.data.doNotScroll&&(element.style.overflowX="hidden")),this.data.hasOwnCanvas&&(element.hidden=!0),GetElementsByNameSet.add(element),element.setAttribute("data-element-id",id),element.disabled=this.data.readOnly,element.name=this.data.fieldName,element.tabIndex=1e3,this._setRequired(element,this.data.required),maxLen&&(element.maxLength=maxLen),element.addEventListener("input",(event=>{storage.setValue(id,{value:event.target.value}),this.setPropertyOnSiblings(element,"value",event.target.value,"value"),elementData.formattedValue=null})),element.addEventListener("resetform",(event=>{var _this$data$defaultFie;const defaultValue=null!==(_this$data$defaultFie=this.data.defaultFieldValue)&&void 0!==_this$data$defaultFie?_this$data$defaultFie:"";element.value=elementData.userValue=defaultValue,elementData.formattedValue=null}));let blurListener=event=>{const{formattedValue:formattedValue}=elementData;null!=formattedValue&&(event.target.value=formattedValue),event.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){var _this$data$actions4;element.addEventListener("focus",(event=>{if(elementData.focused)return;const{target:target}=event;elementData.userValue&&(target.value=elementData.userValue),elementData.lastCommittedValue=target.value,elementData.commitKey=1,elementData.focused=!0})),element.addEventListener("updatefromsandbox",(jsEvent=>{this.showElementAndHideCanvas(jsEvent.target);const actions={value(event){var _event$detail$value;elementData.userValue=null!==(_event$detail$value=event.detail.value)&&void 0!==_event$detail$value?_event$detail$value:"",storage.setValue(id,{value:elementData.userValue.toString()}),event.target.value=elementData.userValue},formattedValue(event){const{formattedValue:formattedValue}=event.detail;elementData.formattedValue=formattedValue,null!=formattedValue&&event.target!==document.activeElement&&(event.target.value=formattedValue),storage.setValue(id,{formattedValue:formattedValue})},selRange(event){event.target.setSelectionRange(...event.detail.selRange)},charLimit:event=>{var _this$linkService$eve6;const{charLimit:charLimit}=event.detail,{target:target}=event;if(0===charLimit)return void target.removeAttribute("maxLength");target.setAttribute("maxLength",charLimit);let value=elementData.userValue;!value||value.length<=charLimit||(value=value.slice(0,charLimit),target.value=elementData.userValue=value,storage.setValue(id,{value:value}),null===(_this$linkService$eve6=this.linkService.eventBus)||void 0===_this$linkService$eve6||_this$linkService$eve6.dispatch("dispatcheventinsandbox",{source:this,detail:{id:id,name:"Keystroke",value:value,willCommit:!0,commitKey:1,selStart:target.selectionStart,selEnd:target.selectionEnd}}))}};this._dispatchEventFromSandbox(actions,jsEvent)})),element.addEventListener("keydown",(event=>{var _this$linkService$eve7;elementData.commitKey=1;let commitKey=-1;if("Escape"===event.key?commitKey=0:"Enter"!==event.key||this.data.multiLine?"Tab"===event.key&&(elementData.commitKey=3):commitKey=2,-1===commitKey)return;const{value:value}=event.target;elementData.lastCommittedValue!==value&&(elementData.lastCommittedValue=value,elementData.userValue=value,null===(_this$linkService$eve7=this.linkService.eventBus)||void 0===_this$linkService$eve7||_this$linkService$eve7.dispatch("dispatcheventinsandbox",{source:this,detail:{id:id,name:"Keystroke",value:value,willCommit:!0,commitKey:commitKey,selStart:event.target.selectionStart,selEnd:event.target.selectionEnd}}))}));const _blurListener=blurListener;blurListener=null,element.addEventListener("blur",(event=>{if(!elementData.focused||!event.relatedTarget)return;elementData.focused=!1;const{value:value}=event.target;var _this$linkService$eve8;elementData.userValue=value,elementData.lastCommittedValue!==value&&(null===(_this$linkService$eve8=this.linkService.eventBus)||void 0===_this$linkService$eve8||_this$linkService$eve8.dispatch("dispatcheventinsandbox",{source:this,detail:{id:id,name:"Keystroke",value:value,willCommit:!0,commitKey:elementData.commitKey,selStart:event.target.selectionStart,selEnd:event.target.selectionEnd}})),_blurListener(event)})),null!==(_this$data$actions4=this.data.actions)&&void 0!==_this$data$actions4&&_this$data$actions4.Keystroke&&element.addEventListener("beforeinput",(event=>{var _this$linkService$eve9;elementData.lastCommittedValue=null;const{data:data,target:target}=event,{value:value,selectionStart:selectionStart,selectionEnd:selectionEnd}=target;let selStart=selectionStart,selEnd=selectionEnd;switch(event.inputType){case"deleteWordBackward":{const match=value.substring(0,selectionStart).match(/\w*[^\w]*$/);match&&(selStart-=match[0].length);break}case"deleteWordForward":{const match=value.substring(selectionStart).match(/^[^\w]*\w*/);match&&(selEnd+=match[0].length);break}case"deleteContentBackward":selectionStart===selectionEnd&&(selStart-=1);break;case"deleteContentForward":selectionStart===selectionEnd&&(selEnd+=1)}event.preventDefault(),null===(_this$linkService$eve9=this.linkService.eventBus)||void 0===_this$linkService$eve9||_this$linkService$eve9.dispatch("dispatcheventinsandbox",{source:this,detail:{id:id,name:"Keystroke",value:value,change:data||"",willCommit:!1,selStart:selStart,selEnd:selEnd}})})),this._setEventListeners(element,elementData,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(event=>event.target.value))}if(blurListener&&element.addEventListener("blur",blurListener),this.data.comb){const combWidth=(this.data.rect[2]-this.data.rect[0])/maxLen;element.classList.add("comb"),element.style.letterSpacing="calc(".concat(combWidth,"px * var(--scale-factor) - 1ch)")}}else element=document.createElement("div"),element.textContent=this.data.fieldValue,element.style.verticalAlign="middle",element.style.display="table-cell";return this._setTextStyle(element),this._setBackgroundColor(element),this._setDefaultPropertiesFromJS(element),this.container.append(element),this.container}}class SignatureWidgetAnnotationElement extends WidgetAnnotationElement{constructor(parameters){super(parameters,{isRenderable:!!parameters.data.hasOwnCanvas})}}class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement{constructor(parameters){super(parameters,{isRenderable:parameters.renderForms})}render(){const storage=this.annotationStorage,data=this.data,id=data.id;let value=storage.getValue(id,{value:data.exportValue===data.fieldValue}).value;"string"==typeof value&&(value="Off"!==value,storage.setValue(id,{value:value})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const element=document.createElement("input");return GetElementsByNameSet.add(element),element.setAttribute("data-element-id",id),element.disabled=data.readOnly,this._setRequired(element,this.data.required),element.type="checkbox",element.name=data.fieldName,value&&element.setAttribute("checked",!0),element.setAttribute("exportValue",data.exportValue),element.tabIndex=1e3,element.addEventListener("change",(event=>{const{name:name,checked:checked}=event.target;for(const checkbox of this._getElementsByName(name,id)){const curChecked=checked&&checkbox.exportValue===data.exportValue;checkbox.domElement&&(checkbox.domElement.checked=curChecked),storage.setValue(checkbox.id,{value:curChecked})}storage.setValue(id,{value:checked})})),element.addEventListener("resetform",(event=>{const defaultValue=data.defaultFieldValue||"Off";event.target.checked=defaultValue===data.exportValue})),this.enableScripting&&this.hasJSActions&&(element.addEventListener("updatefromsandbox",(jsEvent=>{const actions={value(event){event.target.checked="Off"!==event.detail.value,storage.setValue(id,{value:event.target.checked})}};this._dispatchEventFromSandbox(actions,jsEvent)})),this._setEventListeners(element,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(event=>event.target.checked))),this._setBackgroundColor(element),this._setDefaultPropertiesFromJS(element),this.container.append(element),this.container}}class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement{constructor(parameters){super(parameters,{isRenderable:parameters.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const storage=this.annotationStorage,data=this.data,id=data.id;let value=storage.getValue(id,{value:data.fieldValue===data.buttonValue}).value;"string"==typeof value&&(value=value!==data.buttonValue,storage.setValue(id,{value:value}));const element=document.createElement("input");if(GetElementsByNameSet.add(element),element.setAttribute("data-element-id",id),element.disabled=data.readOnly,this._setRequired(element,this.data.required),element.type="radio",element.name=data.fieldName,value&&element.setAttribute("checked",!0),element.tabIndex=1e3,element.addEventListener("change",(event=>{const{name:name,checked:checked}=event.target;for(const radio of this._getElementsByName(name,id))storage.setValue(radio.id,{value:!1});storage.setValue(id,{value:checked})})),element.addEventListener("resetform",(event=>{const defaultValue=data.defaultFieldValue;event.target.checked=null!=defaultValue&&defaultValue===data.buttonValue})),this.enableScripting&&this.hasJSActions){const pdfButtonValue=data.buttonValue;element.addEventListener("updatefromsandbox",(jsEvent=>{const actions={value:event=>{const checked=pdfButtonValue===event.detail.value;for(const radio of this._getElementsByName(event.target.name)){const curChecked=checked&&radio.id===id;radio.domElement&&(radio.domElement.checked=curChecked),storage.setValue(radio.id,{value:curChecked})}}};this._dispatchEventFromSandbox(actions,jsEvent)})),this._setEventListeners(element,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(event=>event.target.checked))}return this._setBackgroundColor(element),this._setDefaultPropertiesFromJS(element),this.container.append(element),this.container}}class PushButtonWidgetAnnotationElement extends LinkAnnotationElement{constructor(parameters){super(parameters,{ignoreBorder:parameters.data.hasAppearance})}render(){const container=super.render();container.classList.add("buttonWidgetAnnotation","pushButton"),this.data.alternativeText&&(container.title=this.data.alternativeText);const linkElement=container.lastChild;return this.enableScripting&&this.hasJSActions&&linkElement&&(this._setDefaultPropertiesFromJS(linkElement),linkElement.addEventListener("updatefromsandbox",(jsEvent=>{this._dispatchEventFromSandbox({},jsEvent)}))),container}}class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement{constructor(parameters){super(parameters,{isRenderable:parameters.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const storage=this.annotationStorage,id=this.data.id,storedData=storage.getValue(id,{value:this.data.fieldValue}),selectElement=document.createElement("select");GetElementsByNameSet.add(selectElement),selectElement.setAttribute("data-element-id",id),selectElement.disabled=this.data.readOnly,this._setRequired(selectElement,this.data.required),selectElement.name=this.data.fieldName,selectElement.tabIndex=1e3;let addAnEmptyEntry=this.data.combo&&this.data.options.length>0;this.data.combo||(selectElement.size=this.data.options.length,this.data.multiSelect&&(selectElement.multiple=!0)),selectElement.addEventListener("resetform",(event=>{const defaultValue=this.data.defaultFieldValue;for(const option of selectElement.options)option.selected=option.value===defaultValue}));for(const option of this.data.options){const optionElement=document.createElement("option");optionElement.textContent=option.displayValue,optionElement.value=option.exportValue,storedData.value.includes(option.exportValue)&&(optionElement.setAttribute("selected",!0),addAnEmptyEntry=!1),selectElement.append(optionElement)}let removeEmptyEntry=null;if(addAnEmptyEntry){const noneOptionElement=document.createElement("option");noneOptionElement.value=" ",noneOptionElement.setAttribute("hidden",!0),noneOptionElement.setAttribute("selected",!0),selectElement.prepend(noneOptionElement),removeEmptyEntry=()=>{noneOptionElement.remove(),selectElement.removeEventListener("input",removeEmptyEntry),removeEmptyEntry=null},selectElement.addEventListener("input",removeEmptyEntry)}const getValue=isExport=>{const name=isExport?"value":"textContent",{options:options,multiple:multiple}=selectElement;return multiple?Array.prototype.filter.call(options,(option=>option.selected)).map((option=>option[name])):-1===options.selectedIndex?null:options[options.selectedIndex][name]};let selectedValues=getValue(!1);const getItems=event=>{const options=event.target.options;return Array.prototype.map.call(options,(option=>({displayValue:option.textContent,exportValue:option.value})))};return this.enableScripting&&this.hasJSActions?(selectElement.addEventListener("updatefromsandbox",(jsEvent=>{const actions={value(event){var _removeEmptyEntry;null===(_removeEmptyEntry=removeEmptyEntry)||void 0===_removeEmptyEntry||_removeEmptyEntry();const value=event.detail.value,values=new Set(Array.isArray(value)?value:[value]);for(const option of selectElement.options)option.selected=values.has(option.value);storage.setValue(id,{value:getValue(!0)}),selectedValues=getValue(!1)},multipleSelection(event){selectElement.multiple=!0},remove(event){const options=selectElement.options,index=event.detail.remove;options[index].selected=!1,selectElement.remove(index),options.length>0&&-1===Array.prototype.findIndex.call(options,(option=>option.selected))&&(options[0].selected=!0),storage.setValue(id,{value:getValue(!0),items:getItems(event)}),selectedValues=getValue(!1)},clear(event){for(;0!==selectElement.length;)selectElement.remove(0);storage.setValue(id,{value:null,items:[]}),selectedValues=getValue(!1)},insert(event){const{index:index,displayValue:displayValue,exportValue:exportValue}=event.detail.insert,selectChild=selectElement.children[index],optionElement=document.createElement("option");optionElement.textContent=displayValue,optionElement.value=exportValue,selectChild?selectChild.before(optionElement):selectElement.append(optionElement),storage.setValue(id,{value:getValue(!0),items:getItems(event)}),selectedValues=getValue(!1)},items(event){const{items:items}=event.detail;for(;0!==selectElement.length;)selectElement.remove(0);for(const item of items){const{displayValue:displayValue,exportValue:exportValue}=item,optionElement=document.createElement("option");optionElement.textContent=displayValue,optionElement.value=exportValue,selectElement.append(optionElement)}selectElement.options.length>0&&(selectElement.options[0].selected=!0),storage.setValue(id,{value:getValue(!0),items:getItems(event)}),selectedValues=getValue(!1)},indices(event){const indices=new Set(event.detail.indices);for(const option of event.target.options)option.selected=indices.has(option.index);storage.setValue(id,{value:getValue(!0)}),selectedValues=getValue(!1)},editable(event){event.target.disabled=!event.detail.editable}};this._dispatchEventFromSandbox(actions,jsEvent)})),selectElement.addEventListener("input",(event=>{var _this$linkService$eve10;const exportValue=getValue(!0);storage.setValue(id,{value:exportValue}),event.preventDefault(),null===(_this$linkService$eve10=this.linkService.eventBus)||void 0===_this$linkService$eve10||_this$linkService$eve10.dispatch("dispatcheventinsandbox",{source:this,detail:{id:id,name:"Keystroke",value:selectedValues,changeEx:exportValue,willCommit:!1,commitKey:1,keyDown:!1}})})),this._setEventListeners(selectElement,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],(event=>event.target.value))):selectElement.addEventListener("input",(function(event){storage.setValue(id,{value:getValue(!0)})})),this.data.combo&&this._setTextStyle(selectElement),this._setBackgroundColor(selectElement),this._setDefaultPropertiesFromJS(selectElement),this.container.append(selectElement),this.container}}class PopupAnnotationElement extends AnnotationElement{constructor(parameters){const{data:data,elements:elements}=parameters;super(parameters,{isRenderable:AnnotationElement._hasPopupData(data)}),this.elements=elements}render(){this.container.classList.add("popupAnnotation");const popup=new PopupElement({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),elementIds=[];for(const element of this.elements)element.popup=popup,elementIds.push(element.data.id),element.addHighlightArea();return this.container.setAttribute("aria-controls",elementIds.map((id=>"".concat(_util.AnnotationPrefix).concat(id))).join(",")),this.container}}var _dateTimePromise=new WeakMap,_boundKeyDown=new WeakMap,_boundHide=new WeakMap,_boundShow=new WeakMap,_boundToggle=new WeakMap,_color2=new WeakMap,_container2=new WeakMap,_contentsObj=new WeakMap,_elements=new WeakMap,_parent=new WeakMap,_parentRect=new WeakMap,_pinned=new WeakMap,_popup=new WeakMap,_rect=new WeakMap,_richText=new WeakMap,_titleObj=new WeakMap,_wasVisible=new WeakMap,_keyDown=new WeakSet,_toggle=new WeakSet,_show=new WeakSet,_hide=new WeakSet;class PopupElement{constructor(_ref45){let{container:container,color:color,elements:elements,titleObj:titleObj,modificationDate:modificationDate,contentsObj:contentsObj,richText:richText,parent:parent,rect:rect,parentRect:parentRect,open:open}=_ref45;_classPrivateMethodInitSpec(this,_hide),_classPrivateMethodInitSpec(this,_show),_classPrivateMethodInitSpec(this,_toggle),_classPrivateMethodInitSpec(this,_keyDown),_classPrivateFieldInitSpec(this,_dateTimePromise,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_boundKeyDown,{writable:!0,value:_classPrivateMethodGet(this,_keyDown,_keyDown2).bind(this)}),_classPrivateFieldInitSpec(this,_boundHide,{writable:!0,value:_classPrivateMethodGet(this,_hide,_hide2).bind(this)}),_classPrivateFieldInitSpec(this,_boundShow,{writable:!0,value:_classPrivateMethodGet(this,_show,_show2).bind(this)}),_classPrivateFieldInitSpec(this,_boundToggle,{writable:!0,value:_classPrivateMethodGet(this,_toggle,_toggle2).bind(this)}),_classPrivateFieldInitSpec(this,_color2,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_container2,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_contentsObj,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_elements,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_parent,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_parentRect,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_pinned,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_popup,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_rect,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_richText,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_titleObj,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_wasVisible,{writable:!0,value:!1}),_classPrivateFieldSet(this,_container2,container),_classPrivateFieldSet(this,_titleObj,titleObj),_classPrivateFieldSet(this,_contentsObj,contentsObj),_classPrivateFieldSet(this,_richText,richText),_classPrivateFieldSet(this,_parent,parent),_classPrivateFieldSet(this,_color2,color),_classPrivateFieldSet(this,_rect,rect),_classPrivateFieldSet(this,_parentRect,parentRect),_classPrivateFieldSet(this,_elements,elements);const dateObject=_display_utils.PDFDateString.toDateObject(modificationDate);dateObject&&_classPrivateFieldSet(this,_dateTimePromise,parent.l10n.get("annotation_date_string",{date:dateObject.toLocaleDateString(),time:dateObject.toLocaleTimeString()})),this.trigger=elements.flatMap((e=>e.getElementsToTriggerPopup()));for(const element of this.trigger)element.addEventListener("click",_classPrivateFieldGet(this,_boundToggle)),element.addEventListener("mouseenter",_classPrivateFieldGet(this,_boundShow)),element.addEventListener("mouseleave",_classPrivateFieldGet(this,_boundHide)),element.classList.add("popupTriggerArea");for(const element of elements){var _element$container;null===(_element$container=element.container)||void 0===_element$container||_element$container.addEventListener("keydown",_classPrivateFieldGet(this,_boundKeyDown))}_classPrivateFieldGet(this,_container2).hidden=!0,open&&_classPrivateMethodGet(this,_toggle,_toggle2).call(this)}render(){if(_classPrivateFieldGet(this,_popup))return;const{page:{view:view},viewport:{rawDims:{pageWidth:pageWidth,pageHeight:pageHeight,pageX:pageX,pageY:pageY}}}=_classPrivateFieldGet(this,_parent),popup=_classPrivateFieldSet(this,_popup,document.createElement("div"));if(popup.className="popup",_classPrivateFieldGet(this,_color2)){const baseColor=popup.style.outlineColor=_util.Util.makeHexColor(..._classPrivateFieldGet(this,_color2));if(CSS.supports("background-color","color-mix(in srgb, red 30%, white)"))popup.style.backgroundColor="color-mix(in srgb, ".concat(baseColor," 30%, white)");else{const BACKGROUND_ENLIGHT=.7;popup.style.backgroundColor=_util.Util.makeHexColor(..._classPrivateFieldGet(this,_color2).map((c=>Math.floor(BACKGROUND_ENLIGHT*(255-c)+c))))}}const header=document.createElement("span");header.className="header";const title=document.createElement("h1");if(header.append(title),({dir:title.dir,str:title.textContent}=_classPrivateFieldGet(this,_titleObj)),popup.append(header),_classPrivateFieldGet(this,_dateTimePromise)){const modificationDate=document.createElement("span");modificationDate.classList.add("popupDate"),_classPrivateFieldGet(this,_dateTimePromise).then((localized=>{modificationDate.textContent=localized})),header.append(modificationDate)}const contentsObj=_classPrivateFieldGet(this,_contentsObj),richText=_classPrivateFieldGet(this,_richText);if(null==richText||!richText.str||null!=contentsObj&&contentsObj.str&&contentsObj.str!==richText.str){const contents=this._formatContents(contentsObj);popup.append(contents)}else _xfa_layer.XfaLayer.render({xfaHtml:richText.html,intent:"richText",div:popup}),popup.lastChild.classList.add("richText","popupContent");let useParentRect=!!_classPrivateFieldGet(this,_parentRect),rect=_classPrivateFieldGet(this,useParentRect?_parentRect:_rect);for(const element of _classPrivateFieldGet(this,_elements))if(!rect||null!==_util.Util.intersect(element.data.rect,rect)){rect=element.data.rect,useParentRect=!0;break}const normalizedRect=_util.Util.normalizeRect([rect[0],view[3]-rect[1]+view[1],rect[2],view[3]-rect[3]+view[1]]),parentWidth=useParentRect?rect[2]-rect[0]+5:0,popupLeft=normalizedRect[0]+parentWidth,popupTop=normalizedRect[1],{style:style}=_classPrivateFieldGet(this,_container2);style.left="".concat(100*(popupLeft-pageX)/pageWidth,"%"),style.top="".concat(100*(popupTop-pageY)/pageHeight,"%"),_classPrivateFieldGet(this,_container2).append(popup)}_formatContents(_ref46){let{str:str,dir:dir}=_ref46;const p=document.createElement("p");p.classList.add("popupContent"),p.dir=dir;const lines=str.split(/(?:\r\n?|\n)/);for(let i=0,ii=lines.length;i{"Enter"===evt.key&&(isMac?evt.metaKey:evt.ctrlKey)&&_classPrivateMethodGet(this,_download,_download2).call(this)})),!data.popupRef&&this.hasPopupData?this._createPopup():trigger.classList.add("popupTriggerArea"),container.append(trigger),container}getElementsToTriggerPopup(){return _classPrivateFieldGet(this,_trigger)}addHighlightArea(){this.container.classList.add("highlightArea")}}function _download2(){var _this$downloadManager2;null===(_this$downloadManager2=this.downloadManager)||void 0===_this$downloadManager2||_this$downloadManager2.openOrDownloadData(this.container,this.content,this.filename)}var _accessibilityManager2=new WeakMap,_annotationCanvasMap=new WeakMap,_editableAnnotations=new WeakMap,_appendElement=new WeakSet,_setAnnotationCanvasMap=new WeakSet;function _appendElement2(element,id){var _classPrivateFieldGet21;const contentElement=element.firstChild||element;contentElement.id="".concat(_util.AnnotationPrefix).concat(id),this.div.append(element),null===(_classPrivateFieldGet21=_classPrivateFieldGet(this,_accessibilityManager2))||void 0===_classPrivateFieldGet21||_classPrivateFieldGet21.moveElementInDOM(this.div,element,contentElement,!1)}function _setAnnotationCanvasMap2(){if(!_classPrivateFieldGet(this,_annotationCanvasMap))return;const layer=this.div;for(const[id,canvas]of _classPrivateFieldGet(this,_annotationCanvasMap)){const element=layer.querySelector('[data-annotation-id="'.concat(id,'"]'));if(!element)continue;const{firstChild:firstChild}=element;firstChild?"CANVAS"===firstChild.nodeName?firstChild.replaceWith(canvas):firstChild.before(canvas):element.append(canvas)}_classPrivateFieldGet(this,_annotationCanvasMap).clear()}exports.AnnotationLayer=class{constructor(_ref47){let{div:div,accessibilityManager:accessibilityManager,annotationCanvasMap:annotationCanvasMap,l10n:l10n,page:page,viewport:viewport}=_ref47;_classPrivateMethodInitSpec(this,_setAnnotationCanvasMap),_classPrivateMethodInitSpec(this,_appendElement),_classPrivateFieldInitSpec(this,_accessibilityManager2,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_annotationCanvasMap,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_editableAnnotations,{writable:!0,value:new Map}),this.div=div,_classPrivateFieldSet(this,_accessibilityManager2,accessibilityManager),_classPrivateFieldSet(this,_annotationCanvasMap,annotationCanvasMap),this.l10n=l10n,this.page=page,this.viewport=viewport,this.zIndex=0,this.l10n||(this.l10n=_displayL10n_utils.NullL10n)}async render(params){const{annotations:annotations}=params,layer=this.div;(0,_display_utils.setLayerDimensions)(layer,this.viewport);const popupToElements=new Map,elementParams={data:null,layer:layer,linkService:params.linkService,downloadManager:params.downloadManager,imageResourcesPath:params.imageResourcesPath||"",renderForms:!1!==params.renderForms,svgFactory:new _display_utils.DOMSVGFactory,annotationStorage:params.annotationStorage||new _annotation_storage.AnnotationStorage,enableScripting:!0===params.enableScripting,hasJSActions:params.hasJSActions,fieldObjects:params.fieldObjects,parent:this,elements:null};for(const data of annotations){if(data.noHTML)continue;const isPopupAnnotation=data.annotationType===_util.AnnotationType.POPUP;if(isPopupAnnotation){const elements=popupToElements.get(data.id);if(!elements)continue;elementParams.elements=elements}else{const{width:width,height:height}=getRectDims(data.rect);if(width<=0||height<=0)continue}elementParams.data=data;const element=AnnotationElementFactory.create(elementParams);if(!element.isRenderable)continue;if(!isPopupAnnotation&&data.popupRef){const elements=popupToElements.get(data.popupRef);elements?elements.push(element):popupToElements.set(data.popupRef,[element])}element.annotationEditorType>0&&_classPrivateFieldGet(this,_editableAnnotations).set(element.data.id,element);const rendered=element.render();data.hidden&&(rendered.style.visibility="hidden"),_classPrivateMethodGet(this,_appendElement,_appendElement2).call(this,rendered,data.id)}_classPrivateMethodGet(this,_setAnnotationCanvasMap,_setAnnotationCanvasMap2).call(this),await this.l10n.translate(layer)}update(_ref48){let{viewport:viewport}=_ref48;const layer=this.div;this.viewport=viewport,(0,_display_utils.setLayerDimensions)(layer,{rotation:viewport.rotation}),_classPrivateMethodGet(this,_setAnnotationCanvasMap,_setAnnotationCanvasMap2).call(this),layer.hidden=!1}getEditableAnnotations(){return Array.from(_classPrivateFieldGet(this,_editableAnnotations).values())}getEditableAnnotation(id){return _classPrivateFieldGet(this,_editableAnnotations).get(id)}}},(__unused_webpack_module,exports)=>{function makeColorComp(n){return Math.floor(255*Math.max(0,Math.min(1,n))).toString(16).padStart(2,"0")}function scaleAndClamp(x){return Math.max(0,Math.min(255,255*x))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColorConverters=void 0,exports.ColorConverters=class{static CMYK_G(_ref49){let[c,y,m,k]=_ref49;return["G",1-Math.min(1,.3*c+.59*m+.11*y+k)]}static G_CMYK(_ref50){let[g]=_ref50;return["CMYK",0,0,0,1-g]}static G_RGB(_ref51){let[g]=_ref51;return["RGB",g,g,g]}static G_rgb(_ref52){let[g]=_ref52;return g=scaleAndClamp(g),[g,g,g]}static G_HTML(_ref53){let[g]=_ref53;const G=makeColorComp(g);return"#".concat(G).concat(G).concat(G)}static RGB_G(_ref54){let[r,g,b]=_ref54;return["G",.3*r+.59*g+.11*b]}static RGB_rgb(color){return color.map(scaleAndClamp)}static RGB_HTML(color){return"#".concat(color.map(makeColorComp).join(""))}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB(_ref55){let[c,y,m,k]=_ref55;return["RGB",1-Math.min(1,c+k),1-Math.min(1,m+k),1-Math.min(1,y+k)]}static CMYK_rgb(_ref56){let[c,y,m,k]=_ref56;return[scaleAndClamp(1-Math.min(1,c+k)),scaleAndClamp(1-Math.min(1,m+k)),scaleAndClamp(1-Math.min(1,y+k))]}static CMYK_HTML(components){const rgb=this.CMYK_RGB(components).slice(1);return this.RGB_HTML(rgb)}static RGB_CMYK(_ref57){let[r,g,b]=_ref57;const c=1-r,m=1-g,y=1-b;return["CMYK",c,m,y,Math.min(c,m,y)]}}},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.NullL10n=void 0,exports.getL10nFallback=getL10nFallback;const DEFAULT_L10N_STRINGS={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",annotation_date_string:"{{date}}, {{time}}",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image",editor_alt_text_button_label:"Alt text",editor_alt_text_edit_button_label:"Edit alt text",editor_alt_text_decorative_tooltip:"Marked as decorative"};function getL10nFallback(key,args){switch(key){case"find_match_count":key="find_match_count[".concat(1===args.total?"one":"other","]");break;case"find_match_count_limit":key="find_match_count_limit[".concat(1===args.limit?"one":"other","]")}return DEFAULT_L10N_STRINGS[key]||""}DEFAULT_L10N_STRINGS.print_progress_percent="{{progress}}%";const NullL10n={getLanguage:async()=>"en-us",getDirection:async()=>"ltr",async get(key){let args=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(text,args){return args?text.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,((all,name)=>name in args?args[name]:"{{"+name+"}}")):text}(arguments.length>2&&void 0!==arguments[2]?arguments[2]:getL10nFallback(key,args),args)},async translate(element){}};exports.NullL10n=NullL10n},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XfaLayer=void 0;var _xfa_text=__w_pdfjs_require__(25);exports.XfaLayer=class{static setupStorage(html,id,element,storage,intent){const storedData=storage.getValue(id,{value:null});switch(element.name){case"textarea":if(null!==storedData.value&&(html.textContent=storedData.value),"print"===intent)break;html.addEventListener("input",(event=>{storage.setValue(id,{value:event.target.value})}));break;case"input":if("radio"===element.attributes.type||"checkbox"===element.attributes.type){if(storedData.value===element.attributes.xfaOn?html.setAttribute("checked",!0):storedData.value===element.attributes.xfaOff&&html.removeAttribute("checked"),"print"===intent)break;html.addEventListener("change",(event=>{storage.setValue(id,{value:event.target.checked?event.target.getAttribute("xfaOn"):event.target.getAttribute("xfaOff")})}))}else{if(null!==storedData.value&&html.setAttribute("value",storedData.value),"print"===intent)break;html.addEventListener("input",(event=>{storage.setValue(id,{value:event.target.value})}))}break;case"select":if(null!==storedData.value){html.setAttribute("value",storedData.value);for(const option of element.children)option.attributes.value===storedData.value?option.attributes.selected=!0:option.attributes.hasOwnProperty("selected")&&delete option.attributes.selected}html.addEventListener("input",(event=>{const options=event.target.options,value=-1===options.selectedIndex?"":options[options.selectedIndex].value;storage.setValue(id,{value:value})}))}}static setAttributes(_ref58){let{html:html,element:element,storage:storage=null,intent:intent,linkService:linkService}=_ref58;const{attributes:attributes}=element,isHTMLAnchorElement=html instanceof HTMLAnchorElement;"radio"===attributes.type&&(attributes.name="".concat(attributes.name,"-").concat(intent));for(const[key,value]of Object.entries(attributes))if(null!=value)switch(key){case"class":value.length&&html.setAttribute(key,value.join(" "));break;case"dataId":break;case"id":html.setAttribute("data-element-id",value);break;case"style":Object.assign(html.style,value);break;case"textContent":html.textContent=value;break;default:(!isHTMLAnchorElement||"href"!==key&&"newWindow"!==key)&&html.setAttribute(key,value)}isHTMLAnchorElement&&linkService.addLinkAttributes(html,attributes.href,attributes.newWindow),storage&&attributes.dataId&&this.setupStorage(html,attributes.dataId,element,storage)}static render(parameters){const storage=parameters.annotationStorage,linkService=parameters.linkService,root=parameters.xfaHtml,intent=parameters.intent||"display",rootHtml=document.createElement(root.name);root.attributes&&this.setAttributes({html:rootHtml,element:root,intent:intent,linkService:linkService});const stack=[[root,-1,rootHtml]],rootDiv=parameters.div;if(rootDiv.append(rootHtml),parameters.viewport){const transform="matrix(".concat(parameters.viewport.transform.join(","),")");rootDiv.style.transform=transform}"richText"!==intent&&rootDiv.setAttribute("class","xfaLayer xfaFont");const textDivs=[];for(;stack.length>0;){var _child$attributes;const[parent,i,html]=stack.at(-1);if(i+1===parent.children.length){stack.pop();continue}const child=parent.children[++stack.at(-1)[1]];if(null===child)continue;const{name:name}=child;if("#text"===name){const node=document.createTextNode(child.value);textDivs.push(node),html.append(node);continue}const childHtml=null!=child&&null!==(_child$attributes=child.attributes)&&void 0!==_child$attributes&&_child$attributes.xmlns?document.createElementNS(child.attributes.xmlns,name):document.createElement(name);if(html.append(childHtml),child.attributes&&this.setAttributes({html:childHtml,element:child,storage:storage,intent:intent,linkService:linkService}),child.children&&child.children.length>0)stack.push([child,-1,childHtml]);else if(child.value){const node=document.createTextNode(child.value);_xfa_text.XfaText.shouldBuildText(name)&&textDivs.push(node),childHtml.append(node)}}for(const el of rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))el.setAttribute("readOnly",!0);return{textDivs:textDivs}}static update(parameters){const transform="matrix(".concat(parameters.viewport.transform.join(","),")");parameters.div.style.transform=transform,parameters.div.hidden=!1}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.InkEditor=void 0;var _util=__w_pdfjs_require__(1),_editor=__w_pdfjs_require__(4),_annotation_layer=__w_pdfjs_require__(29),_display_utils=__w_pdfjs_require__(6),_tools=__w_pdfjs_require__(5),_baseHeight=new WeakMap,_baseWidth=new WeakMap,_boundCanvasPointermove=new WeakMap,_boundCanvasPointerleave=new WeakMap,_boundCanvasPointerup=new WeakMap,_boundCanvasPointerdown=new WeakMap,_currentPath2D=new WeakMap,_disableEditing=new WeakMap,_hasSomethingToDraw=new WeakMap,_isCanvasInitialized=new WeakMap,_observer=new WeakMap,_realWidth=new WeakMap,_realHeight=new WeakMap,_requestFrameCallback=new WeakMap,_updateThickness=new WeakSet,_updateColor3=new WeakSet,_updateOpacity=new WeakSet,_getInitialBBox=new WeakSet,_setStroke=new WeakSet,_startDrawing=new WeakSet,_draw=new WeakSet,_endPath=new WeakSet,_stopDrawing=new WeakSet,_drawPoints=new WeakSet,_makeBezierCurve=new WeakSet,_generateBezierPoints=new WeakSet,_redraw=new WeakSet,_endDrawing=new WeakSet,_createCanvas=new WeakSet,_createObserver=new WeakSet,_setCanvasDims=new WeakSet,_setScaleFactor=new WeakSet,_updateTransform=new WeakSet,_serializePaths=new WeakSet,_getBbox=new WeakSet,_getPadding=new WeakSet,_fitToContent=new WeakSet;class InkEditor extends _editor.AnnotationEditor{constructor(params){super({...params,name:"inkEditor"}),_classPrivateMethodInitSpec(this,_fitToContent),_classPrivateMethodInitSpec(this,_getPadding),_classPrivateMethodInitSpec(this,_getBbox),_classPrivateMethodInitSpec(this,_serializePaths),_classPrivateMethodInitSpec(this,_updateTransform),_classPrivateMethodInitSpec(this,_setScaleFactor),_classPrivateMethodInitSpec(this,_setCanvasDims),_classPrivateMethodInitSpec(this,_createObserver),_classPrivateMethodInitSpec(this,_createCanvas),_classPrivateMethodInitSpec(this,_endDrawing),_classPrivateMethodInitSpec(this,_redraw),_classPrivateMethodInitSpec(this,_generateBezierPoints),_classPrivateMethodInitSpec(this,_makeBezierCurve),_classPrivateMethodInitSpec(this,_drawPoints),_classPrivateMethodInitSpec(this,_stopDrawing),_classPrivateMethodInitSpec(this,_endPath),_classPrivateMethodInitSpec(this,_draw),_classPrivateMethodInitSpec(this,_startDrawing),_classPrivateMethodInitSpec(this,_setStroke),_classPrivateMethodInitSpec(this,_getInitialBBox),_classPrivateMethodInitSpec(this,_updateOpacity),_classPrivateMethodInitSpec(this,_updateColor3),_classPrivateMethodInitSpec(this,_updateThickness),_classPrivateFieldInitSpec(this,_baseHeight,{writable:!0,value:0}),_classPrivateFieldInitSpec(this,_baseWidth,{writable:!0,value:0}),_classPrivateFieldInitSpec(this,_boundCanvasPointermove,{writable:!0,value:this.canvasPointermove.bind(this)}),_classPrivateFieldInitSpec(this,_boundCanvasPointerleave,{writable:!0,value:this.canvasPointerleave.bind(this)}),_classPrivateFieldInitSpec(this,_boundCanvasPointerup,{writable:!0,value:this.canvasPointerup.bind(this)}),_classPrivateFieldInitSpec(this,_boundCanvasPointerdown,{writable:!0,value:this.canvasPointerdown.bind(this)}),_classPrivateFieldInitSpec(this,_currentPath2D,{writable:!0,value:new Path2D}),_classPrivateFieldInitSpec(this,_disableEditing,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_hasSomethingToDraw,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_isCanvasInitialized,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_observer,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_realWidth,{writable:!0,value:0}),_classPrivateFieldInitSpec(this,_realHeight,{writable:!0,value:0}),_classPrivateFieldInitSpec(this,_requestFrameCallback,{writable:!0,value:null}),this.color=params.color||null,this.thickness=params.thickness||null,this.opacity=params.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(l10n){_editor.AnnotationEditor.initialize(l10n,{strings:["editor_ink_canvas_aria_label","editor_ink2_aria_label"]})}static updateDefaultParams(type,value){switch(type){case _util.AnnotationEditorParamsType.INK_THICKNESS:InkEditor._defaultThickness=value;break;case _util.AnnotationEditorParamsType.INK_COLOR:InkEditor._defaultColor=value;break;case _util.AnnotationEditorParamsType.INK_OPACITY:InkEditor._defaultOpacity=value/100}}updateParams(type,value){switch(type){case _util.AnnotationEditorParamsType.INK_THICKNESS:_classPrivateMethodGet(this,_updateThickness,_updateThickness2).call(this,value);break;case _util.AnnotationEditorParamsType.INK_COLOR:_classPrivateMethodGet(this,_updateColor3,_updateColor4).call(this,value);break;case _util.AnnotationEditorParamsType.INK_OPACITY:_classPrivateMethodGet(this,_updateOpacity,_updateOpacity2).call(this,value)}}static get defaultPropertiesToUpdate(){return[[_util.AnnotationEditorParamsType.INK_THICKNESS,InkEditor._defaultThickness],[_util.AnnotationEditorParamsType.INK_COLOR,InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor],[_util.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*InkEditor._defaultOpacity)]]}get propertiesToUpdate(){var _this$opacity;return[[_util.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||InkEditor._defaultThickness],[_util.AnnotationEditorParamsType.INK_COLOR,this.color||InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor],[_util.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(null!==(_this$opacity=this.opacity)&&void 0!==_this$opacity?_this$opacity:InkEditor._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),null!==this.div&&(this.canvas||(_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this),_classPrivateMethodGet(this,_createObserver,_createObserver2).call(this)),this.isAttachedToDOM||(this.parent.add(this),_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this)),_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this)))}remove(){null!==this.canvas&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,_classPrivateFieldGet(this,_observer).disconnect(),_classPrivateFieldSet(this,_observer,null),super.remove())}setParent(parent){!this.parent&&parent?this._uiManager.removeShouldRescale(this):this.parent&&null===parent&&this._uiManager.addShouldRescale(this),super.setParent(parent)}onScaleChanging(){const[parentWidth,parentHeight]=this.parentDimensions,width=this.width*parentWidth,height=this.height*parentHeight;this.setDimensions(width,height)}enableEditMode(){_classPrivateFieldGet(this,_disableEditing)||null===this.canvas||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",_classPrivateFieldGet(this,_boundCanvasPointerdown)))}disableEditMode(){this.isInEditMode()&&null!==this.canvas&&(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",_classPrivateFieldGet(this,_boundCanvasPointerdown)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return 0===this.paths.length||1===this.paths.length&&0===this.paths[0].length}commit(){_classPrivateFieldGet(this,_disableEditing)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),_classPrivateFieldSet(this,_disableEditing,!0),this.div.classList.add("disabled"),_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this,!0),this.makeResizable(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(event){this._focusEventsAllowed&&(super.focusin(event),this.enableEditMode())}canvasPointerdown(event){0===event.button&&this.isInEditMode()&&!_classPrivateFieldGet(this,_disableEditing)&&(this.setInForeground(),event.preventDefault(),"mouse"!==event.type&&this.div.focus(),_classPrivateMethodGet(this,_startDrawing,_startDrawing2).call(this,event.offsetX,event.offsetY))}canvasPointermove(event){event.preventDefault(),_classPrivateMethodGet(this,_draw,_draw2).call(this,event.offsetX,event.offsetY)}canvasPointerup(event){event.preventDefault(),_classPrivateMethodGet(this,_endDrawing,_endDrawing2).call(this,event)}canvasPointerleave(event){_classPrivateMethodGet(this,_endDrawing,_endDrawing2).call(this,event)}get isResizable(){return!this.isEmpty()&&_classPrivateFieldGet(this,_disableEditing)}render(){if(this.div)return this.div;let baseX,baseY;this.width&&(baseX=this.x,baseY=this.y),super.render(),_editor.AnnotationEditor._l10nPromise.get("editor_ink2_aria_label").then((msg=>{var _this$div7;return null===(_this$div7=this.div)||void 0===_this$div7?void 0:_this$div7.setAttribute("aria-label",msg)}));const[x,y,w,h]=_classPrivateMethodGet(this,_getInitialBBox,_getInitialBBox2).call(this);if(this.setAt(x,y,0,0),this.setDims(w,h),_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this),this.width){const[parentWidth,parentHeight]=this.parentDimensions;this.setAspectRatio(this.width*parentWidth,this.height*parentHeight),this.setAt(baseX*parentWidth,baseY*parentHeight,this.width*parentWidth,this.height*parentHeight),_classPrivateFieldSet(this,_isCanvasInitialized,!0),_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this),this.setDims(this.width*parentWidth,this.height*parentHeight),_classPrivateMethodGet(this,_redraw,_redraw2).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return _classPrivateMethodGet(this,_createObserver,_createObserver2).call(this),this.div}setDimensions(width,height){const roundedWidth=Math.round(width),roundedHeight=Math.round(height);if(_classPrivateFieldGet(this,_realWidth)===roundedWidth&&_classPrivateFieldGet(this,_realHeight)===roundedHeight)return;_classPrivateFieldSet(this,_realWidth,roundedWidth),_classPrivateFieldSet(this,_realHeight,roundedHeight),this.canvas.style.visibility="hidden";const[parentWidth,parentHeight]=this.parentDimensions;this.width=width/parentWidth,this.height=height/parentHeight,this.fixAndSetPosition(),_classPrivateFieldGet(this,_disableEditing)&&_classPrivateMethodGet(this,_setScaleFactor,_setScaleFactor2).call(this,width,height),_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this),_classPrivateMethodGet(this,_redraw,_redraw2).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(data,parent,uiManager){if(data instanceof _annotation_layer.InkAnnotationElement)return null;const editor=super.deserialize(data,parent,uiManager);editor.thickness=data.thickness,editor.color=_util.Util.makeHexColor(...data.color),editor.opacity=data.opacity;const[pageWidth,pageHeight]=editor.pageDimensions,width=editor.width*pageWidth,height=editor.height*pageHeight,scaleFactor=editor.parentScale,padding=data.thickness/2;_classPrivateFieldSet(editor,_disableEditing,!0),_classPrivateFieldSet(editor,_realWidth,Math.round(width)),_classPrivateFieldSet(editor,_realHeight,Math.round(height));const{paths:paths,rect:rect,rotation:rotation}=data;for(let{bezier:bezier}of paths){bezier=_classStaticPrivateMethodGet(InkEditor,InkEditor,_fromPDFCoordinates).call(InkEditor,bezier,rect,rotation);const path=[];editor.paths.push(path);let p0=scaleFactor*(bezier[0]-padding),p1=scaleFactor*(bezier[1]-padding);for(let i=2,ii=bezier.length;i{this.thickness=thickness,_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this)},undo:()=>{this.thickness=savedThickness,_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this)},mustExec:!0,type:_util.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})}function _updateColor4(color){const savedColor=this.color;this.addCommands({cmd:()=>{this.color=color,_classPrivateMethodGet(this,_redraw,_redraw2).call(this)},undo:()=>{this.color=savedColor,_classPrivateMethodGet(this,_redraw,_redraw2).call(this)},mustExec:!0,type:_util.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})}function _updateOpacity2(opacity){opacity/=100;const savedOpacity=this.opacity;this.addCommands({cmd:()=>{this.opacity=opacity,_classPrivateMethodGet(this,_redraw,_redraw2).call(this)},undo:()=>{this.opacity=savedOpacity,_classPrivateMethodGet(this,_redraw,_redraw2).call(this)},mustExec:!0,type:_util.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}function _getInitialBBox2(){const{parentRotation:parentRotation,parentDimensions:[width,height]}=this;switch(parentRotation){case 90:return[0,height,height,width];case 180:return[width,height,width,height];case 270:return[width,0,height,width];default:return[0,0,width,height]}}function _setStroke2(){const{ctx:ctx,color:color,opacity:opacity,thickness:thickness,parentScale:parentScale,scaleFactor:scaleFactor}=this;ctx.lineWidth=thickness*parentScale/scaleFactor,ctx.lineCap="round",ctx.lineJoin="round",ctx.miterLimit=10,ctx.strokeStyle="".concat(color).concat((0,_tools.opacityToHex)(opacity))}function _startDrawing2(x,y){var _this$opacity2;this.canvas.addEventListener("contextmenu",_display_utils.noContextMenu),this.canvas.addEventListener("pointerleave",_classPrivateFieldGet(this,_boundCanvasPointerleave)),this.canvas.addEventListener("pointermove",_classPrivateFieldGet(this,_boundCanvasPointermove)),this.canvas.addEventListener("pointerup",_classPrivateFieldGet(this,_boundCanvasPointerup)),this.canvas.removeEventListener("pointerdown",_classPrivateFieldGet(this,_boundCanvasPointerdown)),this.isEditing=!0,_classPrivateFieldGet(this,_isCanvasInitialized)||(_classPrivateFieldSet(this,_isCanvasInitialized,!0),_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this),this.thickness||(this.thickness=InkEditor._defaultThickness),this.color||(this.color=InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor),null!==(_this$opacity2=this.opacity)&&void 0!==_this$opacity2||(this.opacity=InkEditor._defaultOpacity)),this.currentPath.push([x,y]),_classPrivateFieldSet(this,_hasSomethingToDraw,!1),_classPrivateMethodGet(this,_setStroke,_setStroke2).call(this),_classPrivateFieldSet(this,_requestFrameCallback,(()=>{_classPrivateMethodGet(this,_drawPoints,_drawPoints2).call(this),_classPrivateFieldGet(this,_requestFrameCallback)&&window.requestAnimationFrame(_classPrivateFieldGet(this,_requestFrameCallback))})),window.requestAnimationFrame(_classPrivateFieldGet(this,_requestFrameCallback))}function _draw2(x,y){const[lastX,lastY]=this.currentPath.at(-1);if(this.currentPath.length>1&&x===lastX&&y===lastY)return;const currentPath=this.currentPath;let path2D=_classPrivateFieldGet(this,_currentPath2D);if(currentPath.push([x,y]),_classPrivateFieldSet(this,_hasSomethingToDraw,!0),currentPath.length<=2)return path2D.moveTo(...currentPath[0]),void path2D.lineTo(x,y);3===currentPath.length&&(_classPrivateFieldSet(this,_currentPath2D,path2D=new Path2D),path2D.moveTo(...currentPath[0])),_classPrivateMethodGet(this,_makeBezierCurve,_makeBezierCurve2).call(this,path2D,...currentPath.at(-3),...currentPath.at(-2),x,y)}function _endPath2(){if(0===this.currentPath.length)return;const lastPoint=this.currentPath.at(-1);_classPrivateFieldGet(this,_currentPath2D).lineTo(...lastPoint)}function _stopDrawing2(x,y){let bezier;if(_classPrivateFieldSet(this,_requestFrameCallback,null),x=Math.min(Math.max(x,0),this.canvas.width),y=Math.min(Math.max(y,0),this.canvas.height),_classPrivateMethodGet(this,_draw,_draw2).call(this,x,y),_classPrivateMethodGet(this,_endPath,_endPath2).call(this),1!==this.currentPath.length)bezier=_classPrivateMethodGet(this,_generateBezierPoints,_generateBezierPoints2).call(this);else{const xy=[x,y];bezier=[[xy,xy.slice(),xy.slice(),xy]]}const path2D=_classPrivateFieldGet(this,_currentPath2D),currentPath=this.currentPath;this.currentPath=[],_classPrivateFieldSet(this,_currentPath2D,new Path2D),this.addCommands({cmd:()=>{this.allRawPaths.push(currentPath),this.paths.push(bezier),this.bezierPath2D.push(path2D),this.rebuild()},undo:()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),0===this.paths.length?this.remove():(this.canvas||(_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this),_classPrivateMethodGet(this,_createObserver,_createObserver2).call(this)),_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this))},mustExec:!0})}function _drawPoints2(){if(!_classPrivateFieldGet(this,_hasSomethingToDraw))return;_classPrivateFieldSet(this,_hasSomethingToDraw,!1);Math.ceil(this.thickness*this.parentScale);const lastPoints=this.currentPath.slice(-3),x=lastPoints.map((xy=>xy[0])),y=lastPoints.map((xy=>xy[1])),{ctx:ctx}=(Math.min(...x),Math.max(...x),Math.min(...y),Math.max(...y),this);ctx.save(),ctx.clearRect(0,0,this.canvas.width,this.canvas.height);for(const path of this.bezierPath2D)ctx.stroke(path);ctx.stroke(_classPrivateFieldGet(this,_currentPath2D)),ctx.restore()}function _makeBezierCurve2(path2D,x0,y0,x1,y1,x2,y2){const prevX=(x0+x1)/2,prevY=(y0+y1)/2,x3=(x1+x2)/2,y3=(y1+y2)/2;path2D.bezierCurveTo(prevX+2*(x1-prevX)/3,prevY+2*(y1-prevY)/3,x3+2*(x1-x3)/3,y3+2*(y1-y3)/3,x3,y3)}function _generateBezierPoints2(){const path=this.currentPath;if(path.length<=2)return[[path[0],path[0],path.at(-1),path.at(-1)]];const bezierPoints=[];let i,[x0,y0]=path[0];for(i=1;i{this.canvas.removeEventListener("contextmenu",_display_utils.noContextMenu)}),10),_classPrivateMethodGet(this,_stopDrawing,_stopDrawing2).call(this,event.offsetX,event.offsetY),this.addToAnnotationStorage(),this.setInBackground()}function _createCanvas2(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",_editor.AnnotationEditor._l10nPromise.get("editor_ink_canvas_aria_label").then((msg=>{var _this$canvas;return null===(_this$canvas=this.canvas)||void 0===_this$canvas?void 0:_this$canvas.setAttribute("aria-label",msg)})),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")}function _createObserver2(){_classPrivateFieldSet(this,_observer,new ResizeObserver((entries=>{const rect=entries[0].contentRect;rect.width&&rect.height&&this.setDimensions(rect.width,rect.height)}))),_classPrivateFieldGet(this,_observer).observe(this.div)}function _setCanvasDims2(){if(!_classPrivateFieldGet(this,_isCanvasInitialized))return;const[parentWidth,parentHeight]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*parentWidth),this.canvas.height=Math.ceil(this.height*parentHeight),_classPrivateMethodGet(this,_updateTransform,_updateTransform2).call(this)}function _setScaleFactor2(width,height){const padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this),scaleFactorW=(width-padding)/_classPrivateFieldGet(this,_baseWidth),scaleFactorH=(height-padding)/_classPrivateFieldGet(this,_baseHeight);this.scaleFactor=Math.min(scaleFactorW,scaleFactorH)}function _updateTransform2(){const padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+padding,this.translationY*this.scaleFactor+padding)}function _buildPath2D(bezier){const path2D=new Path2D;for(let i=0,ii=bezier.length;i0&&void 0!==arguments[0]&&arguments[0];if(this.isEmpty())return;if(!_classPrivateFieldGet(this,_disableEditing))return void _classPrivateMethodGet(this,_redraw,_redraw2).call(this);const bbox=_classPrivateMethodGet(this,_getBbox,_getBbox2).call(this),padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this);_classPrivateFieldSet(this,_baseWidth,Math.max(_editor.AnnotationEditor.MIN_SIZE,bbox[2]-bbox[0])),_classPrivateFieldSet(this,_baseHeight,Math.max(_editor.AnnotationEditor.MIN_SIZE,bbox[3]-bbox[1]));const width=Math.ceil(padding+_classPrivateFieldGet(this,_baseWidth)*this.scaleFactor),height=Math.ceil(padding+_classPrivateFieldGet(this,_baseHeight)*this.scaleFactor),[parentWidth,parentHeight]=this.parentDimensions;this.width=width/parentWidth,this.height=height/parentHeight,this.setAspectRatio(width,height);const prevTranslationX=this.translationX,prevTranslationY=this.translationY;this.translationX=-bbox[0],this.translationY=-bbox[1],_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this),_classPrivateMethodGet(this,_redraw,_redraw2).call(this),_classPrivateFieldSet(this,_realWidth,width),_classPrivateFieldSet(this,_realHeight,height),this.setDims(width,height);const unscaledPadding=firstTime?padding/this.scaleFactor/2:0;this.translate(prevTranslationX-this.translationX-unscaledPadding,prevTranslationY-this.translationY-unscaledPadding)}_defineProperty(InkEditor,"_defaultColor",null),_defineProperty(InkEditor,"_defaultOpacity",1),_defineProperty(InkEditor,"_defaultThickness",1),_defineProperty(InkEditor,"_type","ink"),exports.InkEditor=InkEditor},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.StampEditor=void 0;var _util=__w_pdfjs_require__(1),_editor=__w_pdfjs_require__(4),_display_utils=__w_pdfjs_require__(6),_annotation_layer=__w_pdfjs_require__(29),_bitmap=new WeakMap,_bitmapId=new WeakMap,_bitmapPromise=new WeakMap,_bitmapUrl=new WeakMap,_bitmapFile=new WeakMap,_canvas2=new WeakMap,_observer2=new WeakMap,_resizeTimeoutId=new WeakMap,_isSvg=new WeakMap,_hasBeenAddedInUndoStack=new WeakMap,_getBitmapFetched=new WeakSet,_getBitmapDone=new WeakSet,_getBitmap=new WeakSet,_createCanvas3=new WeakSet,_setDimensions=new WeakSet,_scaleBitmap=new WeakSet,_drawBitmap=new WeakSet,_serializeBitmap=new WeakSet,_createObserver3=new WeakSet;class StampEditor extends _editor.AnnotationEditor{constructor(params){super({...params,name:"stampEditor"}),_classPrivateMethodInitSpec(this,_createObserver3),_classPrivateMethodInitSpec(this,_serializeBitmap),_classPrivateMethodInitSpec(this,_drawBitmap),_classPrivateMethodInitSpec(this,_scaleBitmap),_classPrivateMethodInitSpec(this,_setDimensions),_classPrivateMethodInitSpec(this,_createCanvas3),_classPrivateMethodInitSpec(this,_getBitmap),_classPrivateMethodInitSpec(this,_getBitmapDone),_classPrivateMethodInitSpec(this,_getBitmapFetched),_classPrivateFieldInitSpec(this,_bitmap,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_bitmapId,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_bitmapPromise,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_bitmapUrl,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_bitmapFile,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_canvas2,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_observer2,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_resizeTimeoutId,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_isSvg,{writable:!0,value:!1}),_classPrivateFieldInitSpec(this,_hasBeenAddedInUndoStack,{writable:!0,value:!1}),_classPrivateFieldSet(this,_bitmapUrl,params.bitmapUrl),_classPrivateFieldSet(this,_bitmapFile,params.bitmapFile)}static initialize(l10n){_editor.AnnotationEditor.initialize(l10n)}static get supportedTypes(){return(0,_util.shadow)(this,"supportedTypes",["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"].map((type=>"image/".concat(type))))}static get supportedTypesStr(){return(0,_util.shadow)(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(mime){return this.supportedTypes.includes(mime)}static paste(item,parent){parent.pasteEditor(_util.AnnotationEditorType.STAMP,{bitmapFile:item.getAsFile()})}remove(){var _classPrivateFieldGet22,_classPrivateFieldGet23;_classPrivateFieldGet(this,_bitmapId)&&(_classPrivateFieldSet(this,_bitmap,null),this._uiManager.imageManager.deleteId(_classPrivateFieldGet(this,_bitmapId)),null===(_classPrivateFieldGet22=_classPrivateFieldGet(this,_canvas2))||void 0===_classPrivateFieldGet22||_classPrivateFieldGet22.remove(),_classPrivateFieldSet(this,_canvas2,null),null===(_classPrivateFieldGet23=_classPrivateFieldGet(this,_observer2))||void 0===_classPrivateFieldGet23||_classPrivateFieldGet23.disconnect(),_classPrivateFieldSet(this,_observer2,null)),super.remove()}rebuild(){this.parent?(super.rebuild(),null!==this.div&&(_classPrivateFieldGet(this,_bitmapId)&&_classPrivateMethodGet(this,_getBitmap,_getBitmap2).call(this),this.isAttachedToDOM||this.parent.add(this))):_classPrivateFieldGet(this,_bitmapId)&&_classPrivateMethodGet(this,_getBitmap,_getBitmap2).call(this)}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(_classPrivateFieldGet(this,_bitmapPromise)||_classPrivateFieldGet(this,_bitmap)||_classPrivateFieldGet(this,_bitmapUrl)||_classPrivateFieldGet(this,_bitmapFile))}get isResizable(){return!0}render(){if(this.div)return this.div;let baseX,baseY;if(this.width&&(baseX=this.x,baseY=this.y),super.render(),this.div.hidden=!0,_classPrivateFieldGet(this,_bitmap)?_classPrivateMethodGet(this,_createCanvas3,_createCanvas4).call(this):_classPrivateMethodGet(this,_getBitmap,_getBitmap2).call(this),this.width){const[parentWidth,parentHeight]=this.parentDimensions;this.setAt(baseX*parentWidth,baseY*parentHeight,this.width*parentWidth,this.height*parentHeight)}return this.div}static deserialize(data,parent,uiManager){if(data instanceof _annotation_layer.StampAnnotationElement)return null;const editor=super.deserialize(data,parent,uiManager),{rect:rect,bitmapUrl:bitmapUrl,bitmapId:bitmapId,isSvg:isSvg,accessibilityData:accessibilityData}=data;bitmapId&&uiManager.imageManager.isValidId(bitmapId)?_classPrivateFieldSet(editor,_bitmapId,bitmapId):_classPrivateFieldSet(editor,_bitmapUrl,bitmapUrl),_classPrivateFieldSet(editor,_isSvg,isSvg);const[parentWidth,parentHeight]=editor.pageDimensions;return editor.width=(rect[2]-rect[0])/parentWidth,editor.height=(rect[3]-rect[1])/parentHeight,accessibilityData&&(editor.altTextData=accessibilityData),editor}serialize(){let isForCopying=arguments.length>0&&void 0!==arguments[0]&&arguments[0],context=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.isEmpty())return null;const serialized={annotationType:_util.AnnotationEditorType.STAMP,bitmapId:_classPrivateFieldGet(this,_bitmapId),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:_classPrivateFieldGet(this,_isSvg),structTreeParentId:this._structTreeParentId};if(isForCopying)return serialized.bitmapUrl=_classPrivateMethodGet(this,_serializeBitmap,_serializeBitmap2).call(this,!0),serialized.accessibilityData=this.altTextData,serialized;const{decorative:decorative,altText:altText}=this.altTextData;if(!decorative&&altText&&(serialized.accessibilityData={type:"Figure",alt:altText}),null===context)return serialized;context.stamps||(context.stamps=new Map);const area=_classPrivateFieldGet(this,_isSvg)?(serialized.rect[2]-serialized.rect[0])*(serialized.rect[3]-serialized.rect[1]):null;if(context.stamps.has(_classPrivateFieldGet(this,_bitmapId))){if(_classPrivateFieldGet(this,_isSvg)){const prevData=context.stamps.get(_classPrivateFieldGet(this,_bitmapId));area>prevData.area&&(prevData.area=area,prevData.serialized.bitmap.close(),prevData.serialized.bitmap=_classPrivateMethodGet(this,_serializeBitmap,_serializeBitmap2).call(this,!1))}}else context.stamps.set(_classPrivateFieldGet(this,_bitmapId),{area:area,serialized:serialized}),serialized.bitmap=_classPrivateMethodGet(this,_serializeBitmap,_serializeBitmap2).call(this,!1);return serialized}}function _getBitmapFetched2(data){let fromId=arguments.length>1&&void 0!==arguments[1]&&arguments[1];data?(_classPrivateFieldSet(this,_bitmap,data.bitmap),fromId||(_classPrivateFieldSet(this,_bitmapId,data.id),_classPrivateFieldSet(this,_isSvg,data.isSvg)),_classPrivateMethodGet(this,_createCanvas3,_createCanvas4).call(this)):this.remove()}function _getBitmapDone2(){_classPrivateFieldSet(this,_bitmapPromise,null),this._uiManager.enableWaiting(!1),_classPrivateFieldGet(this,_canvas2)&&this.div.focus()}function _getBitmap2(){if(_classPrivateFieldGet(this,_bitmapId))return this._uiManager.enableWaiting(!0),void this._uiManager.imageManager.getFromId(_classPrivateFieldGet(this,_bitmapId)).then((data=>_classPrivateMethodGet(this,_getBitmapFetched,_getBitmapFetched2).call(this,data,!0))).finally((()=>_classPrivateMethodGet(this,_getBitmapDone,_getBitmapDone2).call(this)));if(_classPrivateFieldGet(this,_bitmapUrl)){const url=_classPrivateFieldGet(this,_bitmapUrl);return _classPrivateFieldSet(this,_bitmapUrl,null),this._uiManager.enableWaiting(!0),void _classPrivateFieldSet(this,_bitmapPromise,this._uiManager.imageManager.getFromUrl(url).then((data=>_classPrivateMethodGet(this,_getBitmapFetched,_getBitmapFetched2).call(this,data))).finally((()=>_classPrivateMethodGet(this,_getBitmapDone,_getBitmapDone2).call(this))))}if(_classPrivateFieldGet(this,_bitmapFile)){const file=_classPrivateFieldGet(this,_bitmapFile);return _classPrivateFieldSet(this,_bitmapFile,null),this._uiManager.enableWaiting(!0),void _classPrivateFieldSet(this,_bitmapPromise,this._uiManager.imageManager.getFromFile(file).then((data=>_classPrivateMethodGet(this,_getBitmapFetched,_getBitmapFetched2).call(this,data))).finally((()=>_classPrivateMethodGet(this,_getBitmapDone,_getBitmapDone2).call(this))))}const input=document.createElement("input");input.type="file",input.accept=StampEditor.supportedTypesStr,_classPrivateFieldSet(this,_bitmapPromise,new Promise((resolve=>{input.addEventListener("change",(async()=>{if(input.files&&0!==input.files.length){this._uiManager.enableWaiting(!0);const data=await this._uiManager.imageManager.getFromFile(input.files[0]);_classPrivateMethodGet(this,_getBitmapFetched,_getBitmapFetched2).call(this,data)}else this.remove();resolve()})),input.addEventListener("cancel",(()=>{this.remove(),resolve()}))})).finally((()=>_classPrivateMethodGet(this,_getBitmapDone,_getBitmapDone2).call(this)))),input.click()}function _createCanvas4(){const{div:div}=this;let{width:width,height:height}=_classPrivateFieldGet(this,_bitmap);const[pageWidth,pageHeight]=this.pageDimensions;if(this.width)width=this.width*pageWidth,height=this.height*pageHeight;else if(width>.75*pageWidth||height>.75*pageHeight){const factor=Math.min(.75*pageWidth/width,.75*pageHeight/height);width*=factor,height*=factor}const[parentWidth,parentHeight]=this.parentDimensions;this.setDims(width*parentWidth/pageWidth,height*parentHeight/pageHeight),this._uiManager.enableWaiting(!1);const canvas=_classPrivateFieldSet(this,_canvas2,document.createElement("canvas"));div.append(canvas),div.hidden=!1,_classPrivateMethodGet(this,_drawBitmap,_drawBitmap2).call(this,width,height),_classPrivateMethodGet(this,_createObserver3,_createObserver4).call(this),_classPrivateFieldGet(this,_hasBeenAddedInUndoStack)||(this.parent.addUndoableEditor(this),_classPrivateFieldSet(this,_hasBeenAddedInUndoStack,!0)),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",subtype:this.editorType,data:{action:"inserted_image"}}}),this.addAltTextButton()}function _setDimensions2(width,height){var _this$_initialOptions2;const[parentWidth,parentHeight]=this.parentDimensions;this.width=width/parentWidth,this.height=height/parentHeight,this.setDims(width,height),null!==(_this$_initialOptions2=this._initialOptions)&&void 0!==_this$_initialOptions2&&_this$_initialOptions2.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,null!==_classPrivateFieldGet(this,_resizeTimeoutId)&&clearTimeout(_classPrivateFieldGet(this,_resizeTimeoutId)),_classPrivateFieldSet(this,_resizeTimeoutId,setTimeout((()=>{_classPrivateFieldSet(this,_resizeTimeoutId,null),_classPrivateMethodGet(this,_drawBitmap,_drawBitmap2).call(this,width,height)}),200))}function _scaleBitmap2(width,height){const{width:bitmapWidth,height:bitmapHeight}=_classPrivateFieldGet(this,_bitmap);let newWidth=bitmapWidth,newHeight=bitmapHeight,bitmap=_classPrivateFieldGet(this,_bitmap);for(;newWidth>2*width||newHeight>2*height;){const prevWidth=newWidth,prevHeight=newHeight;newWidth>2*width&&(newWidth=newWidth>=16384?Math.floor(newWidth/2)-1:Math.ceil(newWidth/2)),newHeight>2*height&&(newHeight=newHeight>=16384?Math.floor(newHeight/2)-1:Math.ceil(newHeight/2));const offscreen=new OffscreenCanvas(newWidth,newHeight);offscreen.getContext("2d").drawImage(bitmap,0,0,prevWidth,prevHeight,0,0,newWidth,newHeight),bitmap=offscreen.transferToImageBitmap()}return bitmap}function _drawBitmap2(width,height){width=Math.ceil(width),height=Math.ceil(height);const canvas=_classPrivateFieldGet(this,_canvas2);if(!canvas||canvas.width===width&&canvas.height===height)return;canvas.width=width,canvas.height=height;const bitmap=_classPrivateFieldGet(this,_isSvg)?_classPrivateFieldGet(this,_bitmap):_classPrivateMethodGet(this,_scaleBitmap,_scaleBitmap2).call(this,width,height),ctx=canvas.getContext("2d");ctx.filter=this._uiManager.hcmFilter,ctx.drawImage(bitmap,0,0,bitmap.width,bitmap.height,0,0,width,height)}function _serializeBitmap2(toUrl){if(toUrl){if(_classPrivateFieldGet(this,_isSvg)){const url=this._uiManager.imageManager.getSvgUrl(_classPrivateFieldGet(this,_bitmapId));if(url)return url}const canvas=document.createElement("canvas");return({width:canvas.width,height:canvas.height}=_classPrivateFieldGet(this,_bitmap)),canvas.getContext("2d").drawImage(_classPrivateFieldGet(this,_bitmap),0,0),canvas.toDataURL()}if(_classPrivateFieldGet(this,_isSvg)){const[pageWidth,pageHeight]=this.pageDimensions,width=Math.round(this.width*pageWidth*_display_utils.PixelsPerInch.PDF_TO_CSS_UNITS),height=Math.round(this.height*pageHeight*_display_utils.PixelsPerInch.PDF_TO_CSS_UNITS),offscreen=new OffscreenCanvas(width,height);return offscreen.getContext("2d").drawImage(_classPrivateFieldGet(this,_bitmap),0,0,_classPrivateFieldGet(this,_bitmap).width,_classPrivateFieldGet(this,_bitmap).height,0,0,width,height),offscreen.transferToImageBitmap()}return structuredClone(_classPrivateFieldGet(this,_bitmap))}function _createObserver4(){_classPrivateFieldSet(this,_observer2,new ResizeObserver((entries=>{const rect=entries[0].contentRect;rect.width&&rect.height&&_classPrivateMethodGet(this,_setDimensions,_setDimensions2).call(this,rect.width,rect.height)}))),_classPrivateFieldGet(this,_observer2).observe(this.div)}_defineProperty(StampEditor,"_type","stamp"),exports.StampEditor=StampEditor}],__webpack_module_cache__={};function __w_pdfjs_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module,module.exports,__w_pdfjs_require__),module.exports}var __webpack_exports__={};return(()=>{var exports=__webpack_exports__;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AbortException",{enumerable:!0,get:function(){return _util.AbortException}}),Object.defineProperty(exports,"AnnotationEditorLayer",{enumerable:!0,get:function(){return _annotation_editor_layer.AnnotationEditorLayer}}),Object.defineProperty(exports,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return _util.AnnotationEditorParamsType}}),Object.defineProperty(exports,"AnnotationEditorType",{enumerable:!0,get:function(){return _util.AnnotationEditorType}}),Object.defineProperty(exports,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return _tools.AnnotationEditorUIManager}}),Object.defineProperty(exports,"AnnotationLayer",{enumerable:!0,get:function(){return _annotation_layer.AnnotationLayer}}),Object.defineProperty(exports,"AnnotationMode",{enumerable:!0,get:function(){return _util.AnnotationMode}}),Object.defineProperty(exports,"CMapCompressionType",{enumerable:!0,get:function(){return _util.CMapCompressionType}}),Object.defineProperty(exports,"DOMSVGFactory",{enumerable:!0,get:function(){return _display_utils.DOMSVGFactory}}),Object.defineProperty(exports,"FeatureTest",{enumerable:!0,get:function(){return _util.FeatureTest}}),Object.defineProperty(exports,"GlobalWorkerOptions",{enumerable:!0,get:function(){return _worker_options.GlobalWorkerOptions}}),Object.defineProperty(exports,"ImageKind",{enumerable:!0,get:function(){return _util.ImageKind}}),Object.defineProperty(exports,"InvalidPDFException",{enumerable:!0,get:function(){return _util.InvalidPDFException}}),Object.defineProperty(exports,"MissingPDFException",{enumerable:!0,get:function(){return _util.MissingPDFException}}),Object.defineProperty(exports,"OPS",{enumerable:!0,get:function(){return _util.OPS}}),Object.defineProperty(exports,"PDFDataRangeTransport",{enumerable:!0,get:function(){return _api.PDFDataRangeTransport}}),Object.defineProperty(exports,"PDFDateString",{enumerable:!0,get:function(){return _display_utils.PDFDateString}}),Object.defineProperty(exports,"PDFWorker",{enumerable:!0,get:function(){return _api.PDFWorker}}),Object.defineProperty(exports,"PasswordResponses",{enumerable:!0,get:function(){return _util.PasswordResponses}}),Object.defineProperty(exports,"PermissionFlag",{enumerable:!0,get:function(){return _util.PermissionFlag}}),Object.defineProperty(exports,"PixelsPerInch",{enumerable:!0,get:function(){return _display_utils.PixelsPerInch}}),Object.defineProperty(exports,"PromiseCapability",{enumerable:!0,get:function(){return _util.PromiseCapability}}),Object.defineProperty(exports,"RenderingCancelledException",{enumerable:!0,get:function(){return _display_utils.RenderingCancelledException}}),Object.defineProperty(exports,"SVGGraphics",{enumerable:!0,get:function(){return _api.SVGGraphics}}),Object.defineProperty(exports,"UnexpectedResponseException",{enumerable:!0,get:function(){return _util.UnexpectedResponseException}}),Object.defineProperty(exports,"Util",{enumerable:!0,get:function(){return _util.Util}}),Object.defineProperty(exports,"VerbosityLevel",{enumerable:!0,get:function(){return _util.VerbosityLevel}}),Object.defineProperty(exports,"XfaLayer",{enumerable:!0,get:function(){return _xfa_layer.XfaLayer}}),Object.defineProperty(exports,"build",{enumerable:!0,get:function(){return _api.build}}),Object.defineProperty(exports,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return _util.createValidAbsoluteUrl}}),Object.defineProperty(exports,"getDocument",{enumerable:!0,get:function(){return _api.getDocument}}),Object.defineProperty(exports,"getFilenameFromUrl",{enumerable:!0,get:function(){return _display_utils.getFilenameFromUrl}}),Object.defineProperty(exports,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return _display_utils.getPdfFilenameFromUrl}}),Object.defineProperty(exports,"getXfaPageViewport",{enumerable:!0,get:function(){return _display_utils.getXfaPageViewport}}),Object.defineProperty(exports,"isDataScheme",{enumerable:!0,get:function(){return _display_utils.isDataScheme}}),Object.defineProperty(exports,"isPdfFile",{enumerable:!0,get:function(){return _display_utils.isPdfFile}}),Object.defineProperty(exports,"loadScript",{enumerable:!0,get:function(){return _display_utils.loadScript}}),Object.defineProperty(exports,"noContextMenu",{enumerable:!0,get:function(){return _display_utils.noContextMenu}}),Object.defineProperty(exports,"normalizeUnicode",{enumerable:!0,get:function(){return _util.normalizeUnicode}}),Object.defineProperty(exports,"renderTextLayer",{enumerable:!0,get:function(){return _text_layer.renderTextLayer}}),Object.defineProperty(exports,"setLayerDimensions",{enumerable:!0,get:function(){return _display_utils.setLayerDimensions}}),Object.defineProperty(exports,"shadow",{enumerable:!0,get:function(){return _util.shadow}}),Object.defineProperty(exports,"updateTextLayer",{enumerable:!0,get:function(){return _text_layer.updateTextLayer}}),Object.defineProperty(exports,"version",{enumerable:!0,get:function(){return _api.version}});var _util=__w_pdfjs_require__(1),_api=__w_pdfjs_require__(2),_display_utils=__w_pdfjs_require__(6),_text_layer=__w_pdfjs_require__(26),_annotation_editor_layer=__w_pdfjs_require__(27),_tools=__w_pdfjs_require__(5),_annotation_layer=__w_pdfjs_require__(29),_worker_options=__w_pdfjs_require__(14),_xfa_layer=__w_pdfjs_require__(32)})(),__webpack_exports__})(),"object"==typeof exports&&"object"==typeof module?module.exports=root.pdfjsLib=factory():"function"==typeof define&&define.amd?define("mod_datalynx/pdf",[],(()=>root.pdfjsLib=factory())):"object"==typeof exports?exports.pdf=root.pdfjsLib=factory():root.pdf=root.pdfjsLib=factory(); - -//# sourceMappingURL=pdf.min.js.map \ No newline at end of file diff --git a/amd/build/pdf.min.js.map b/amd/build/pdf.min.js.map deleted file mode 100644 index d8c7928b..00000000 --- a/amd/build/pdf.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"pdf.min.js","sources":["../src/pdf.js"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = root.pdfjsLib = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdf\", [], () => { return (root.pdfjsLib = factory()); });\n\telse if(typeof exports === 'object')\n\t\texports[\"pdf\"] = root.pdfjsLib = factory();\n\telse\n\t\troot[\"pdf\"] = root.pdfjsLib = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationReplyType = exports.AnnotationPrefix = exports.AnnotationMode = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.getModificationDate = getModificationDate;\nexports.getUuid = getUuid;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isNodeJS = void 0;\nexports.normalizeUnicode = normalizeUnicode;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6;\nexports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE;\nconst LINE_FACTOR = 1.35;\nexports.LINE_FACTOR = LINE_FACTOR;\nconst LINE_DESCENT_FACTOR = 0.35;\nexports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\nexports.BASELINE_FACTOR = BASELINE_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nexports.AnnotationEditorPrefix = AnnotationEditorPrefix;\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15\n};\nexports.AnnotationEditorType = AnnotationEditorType;\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23\n};\nexports.AnnotationEditorParamsType = AnnotationEditorParamsType;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {}\n return null;\n}\nfunction shadow(obj, prop, value, nonSerializable = false) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false\n });\n return value;\n}\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\nexports.BaseException = BaseException;\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\nexports.PasswordException = PasswordException;\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\nexports.InvalidPDFException = InvalidPDFException;\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\nexports.MissingPDFException = MissingPDFException;\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\nexports.UnexpectedResponseException = UnexpectedResponseException;\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\nexports.FormatError = FormatError;\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\nexports.AbortException = AbortException;\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch {\n return false;\n }\n}\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n static get platform() {\n if (typeof navigator === \"undefined\") {\n return shadow(this, \"platform\", {\n isWin: false,\n isMac: false\n });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\")\n });\n }\n static get isCSSRoundSupported() {\n return shadow(this, \"isCSSRoundSupported\", globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\"));\n }\n}\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n if (yLow > yHigh) {\n return null;\n }\n return [xLow, yLow, xHigh, yHigh];\n }\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n}\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\nclass PromiseCapability {\n #settled = false;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n this.reject = reason => {\n this.#settled = true;\n reject(reason);\n };\n });\n }\n get settled() {\n return this.#settled;\n }\n}\nexports.PromiseCapability = PromiseCapability;\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n NormalizeRegex = /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\nfunction getUuid() {\n if (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (typeof crypto !== \"undefined\" && typeof crypto?.getRandomValues === \"function\") {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nexports.AnnotationPrefix = AnnotationPrefix;\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultFilterFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _displaySvg.SVGGraphics;\n }\n}));\nexports.build = void 0;\nexports.getDocument = getDocument;\nexports.version = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _font_loader = __w_pdfjs_require__(9);\nvar _displayNode_utils = __w_pdfjs_require__(10);\nvar _canvas = __w_pdfjs_require__(11);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _message_handler = __w_pdfjs_require__(15);\nvar _metadata = __w_pdfjs_require__(16);\nvar _optional_content_config = __w_pdfjs_require__(17);\nvar _transport_stream = __w_pdfjs_require__(18);\nvar _displayFetch_stream = __w_pdfjs_require__(19);\nvar _displayNetwork = __w_pdfjs_require__(22);\nvar _displayNode_stream = __w_pdfjs_require__(23);\nvar _displaySvg = __w_pdfjs_require__(24);\nvar _xfa_text = __w_pdfjs_require__(25);\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nconst DELAYED_CLEANUP_TIMEOUT = 5000;\nconst DefaultCanvasFactory = _util.isNodeJS ? _displayNode_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nconst DefaultCMapReaderFactory = _util.isNodeJS ? _displayNode_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nconst DefaultFilterFactory = _util.isNodeJS ? _displayNode_utils.NodeFilterFactory : _display_utils.DOMFilterFactory;\nexports.DefaultFilterFactory = DefaultFilterFactory;\nconst DefaultStandardFontDataFactory = _util.isNodeJS ? _displayNode_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\nfunction getDocument(src) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n src = {\n data: src\n };\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n const task = new PDFDocumentLoadingTask();\n const {\n docId\n } = task;\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n const docBaseUrl = typeof src.docBaseUrl === \"string\" && !(0, _display_utils.isDataScheme)(src.docBaseUrl) ? src.docBaseUrl : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl = typeof src.standardFontDataUrl === \"string\" ? src.standardFontDataUrl : null;\n const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === \"boolean\" ? src.isOffscreenCanvasSupported : !_util.isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1;\n const disableFontFace = typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : _util.isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts = typeof src.useSystemFonts === \"boolean\" ? src.useSystemFonts : !_util.isNodeJS && !disableFontFace;\n const useWorkerFetch = typeof src.useWorkerFetch === \"boolean\" ? src.useWorkerFetch : CMapReaderFactory === _display_utils.DOMCMapReaderFactory && StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory && cMapUrl && standardFontDataUrl && (0, _display_utils.isValidFetchUrl)(cMapUrl, document.baseURI) && (0, _display_utils.isValidFetchUrl)(standardFontDataUrl, document.baseURI);\n const canvasFactory = src.canvasFactory || new DefaultCanvasFactory({\n ownerDocument\n });\n const filterFactory = src.filterFactory || new DefaultFilterFactory({\n docId,\n ownerDocument\n });\n const styleElement = null;\n (0, _util.setVerbosityLevel)(verbosity);\n const transportFactory = {\n canvasFactory,\n filterFactory\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl\n });\n }\n if (!worker) {\n const workerParams = {\n verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const fetchDocParams = {\n docId,\n apiVersion: '3.11.174',\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null\n }\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement\n };\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename: rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream\n }, rangeTransport);\n } else if (!data) {\n const createPDFNetworkStream = params => {\n if (_util.isNodeJS) {\n return new _displayNode_stream.PDFNodeStream(params);\n }\n return (0, _display_utils.isValidFetchUrl)(params.url) ? new _displayFetch_stream.PDFFetchStream(params) : new _displayNetwork.PDFNetworkStream(params);\n };\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream\n });\n }\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", source, source.data ? [source.data.buffer] : null);\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\nfunction getUrlProp(val) {\n if (val instanceof URL) {\n return val.href;\n }\n try {\n return new URL(val, window.location).href;\n } catch {\n if (_util.isNodeJS && typeof val === \"string\") {\n return val;\n }\n }\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n}\nfunction getDataProp(val) {\n if (_util.isNodeJS && typeof Buffer !== \"undefined\" && val instanceof Buffer) {\n throw new Error(\"Please provide binary data as `Uint8Array`, rather than `Buffer`.\");\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n return val;\n }\n if (typeof val === \"string\") {\n return (0, _util.stringToBytes)(val);\n }\n if (typeof val === \"object\" && !isNaN(val?.length) || (0, _util.isArrayBuffer)(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\"Invalid PDF binary data: either TypedArray, \" + \"string, or array-like object is expected in the data property.\");\n}\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n constructor() {\n this._capability = new _util.PromiseCapability();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n }\n get promise() {\n return this._capability.promise;\n }\n async destroy() {\n this.destroyed = true;\n try {\n if (this._worker?.port) {\n this._worker._pendingDestroy = true;\n }\n await this._transport?.destroy();\n } catch (ex) {\n if (this._worker?.port) {\n delete this._worker._pendingDestroy;\n }\n throw ex;\n }\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new _util.PromiseCapability();\n }\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n transportReady() {\n this._readyCapability.resolve();\n }\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n abort() {}\n}\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n Object.defineProperty(this, \"getJavaScript\", {\n value: () => {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.getJavaScript`, \" + \"please use `PDFDocumentProxy.getJSActions` instead.\");\n return this.getJSActions().then(js => {\n if (!js) {\n return js;\n }\n const jsArr = [];\n for (const name in js) {\n jsArr.push(...js[name]);\n }\n return jsArr;\n });\n }\n });\n }\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get numPages() {\n return this._pdfInfo.numPages;\n }\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n getDestinations() {\n return this._transport.getDestinations();\n }\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n getPageMode() {\n return this._transport.getPageMode();\n }\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n getAttachments() {\n return this._transport.getAttachments();\n }\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n getOutline() {\n return this._transport.getOutline();\n }\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n getPermissions() {\n return this._transport.getPermissions();\n }\n getMetadata() {\n return this._transport.getMetadata();\n }\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n getData() {\n return this._transport.getData();\n }\n saveDocument() {\n return this._transport.saveDocument();\n }\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n destroy() {\n return this.loadingTask.destroy();\n }\n get loadingParams() {\n return this._transport.loadingParams;\n }\n get loadingTask() {\n return this._transport.loadingTask;\n }\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\nexports.PDFDocumentProxy = PDFDocumentProxy;\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n #pendingCleanup = false;\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n get pageNumber() {\n return this._pageIndex + 1;\n }\n get rotate() {\n return this._pageInfo.rotate;\n }\n get ref() {\n return this._pageInfo.ref;\n }\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n get view() {\n return this._pageInfo.view;\n }\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n return this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n }\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null\n }) {\n this._stats?.time(\"Overall\");\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage);\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = new _util.PromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(!intentPrint);\n if (error) {\n internalRenderTask.capability.reject(error);\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\n };\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.destroyed) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n getOperatorList({\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n printAnnotationStorage = null\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true);\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = new _util.PromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n }\n });\n }\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n if (intentState.opListReadCapability) {\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n return Promise.all(waitOn);\n }\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(false);\n if (resetStats && success) {\n this._stats &&= new _display_utils.StatTimer();\n }\n return success;\n }\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n if (!this.#pendingCleanup || this.destroyed) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(false);\n }, DELAYED_CLEANUP_TIMEOUT);\n return false;\n }\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return;\n }\n this._stats?.timeEnd(\"Page Request\");\n intentState.displayReadyCapability?.resolve(transparency);\n }\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(true);\n }\n }\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageSerializable\n }) {\n const {\n map,\n transfers\n } = annotationStorageSerializable;\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: map\n }, transfers);\n const reader = readableStream.getReader();\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return;\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, reason => {\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(true);\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n pump();\n }\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n if (reason instanceof _display_utils.RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < 1000) {\n delay += reason.extraDelay;\n }\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n }, delay);\n return;\n }\n }\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n this.cleanup();\n }\n get stats() {\n return this._stats;\n }\n}\nexports.PDFPageProxy = PDFPageProxy;\nclass LoopbackPort {\n #listeners = new Set();\n #deferred = Promise.resolve();\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(obj, transfer ? {\n transfer\n } : null)\n };\n this.#deferred.then(() => {\n for (const listener of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n addEventListener(name, listener) {\n this.#listeners.add(listener);\n }\n removeEventListener(name, listener) {\n this.#listeners.delete(listener);\n }\n terminate() {\n this.#listeners.clear();\n }\n}\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_util.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch {\n return false;\n }\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\nclass PDFWorker {\n static #workerPorts;\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = new _util.PromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n if (PDFWorker.#workerPorts?.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n get promise() {\n return this._readyCapability.promise;\n }\n get port() {\n return this._port;\n }\n get messageHandler() {\n return this._messageHandler;\n }\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {});\n this._readyCapability.resolve();\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }\n _initialize() {\n if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let {\n workerSrc\n } = PDFWorker;\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch {\n this._setupFakeWorker();\n }\n });\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n sendTest();\n return;\n } catch {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n this._setupFakeWorker();\n }\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts?.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n const cachedPort = this.#workerPorts?.get(params.port);\n if (cachedPort) {\n if (cachedPort._pendingDestroy) {\n throw new Error(\"PDFWorker.fromPort - the worker is being destroyed.\\n\" + \"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls.\");\n }\n return cachedPort;\n }\n return new PDFWorker(params);\n }\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_util.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch {\n return null;\n }\n }\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n if (_util.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n}\nexports.PDFWorker = PDFWorker;\nclass WorkerTransport {\n #methodPromises = new Map();\n #pageCache = new Map();\n #pagePromises = new Map();\n #passwordCapability = null;\n constructor(messageHandler, loadingTask, networkStream, params, factory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n this.canvasFactory = factory.canvasFactory;\n this.filterFactory = factory.filterFactory;\n this.cMapReaderFactory = factory.cMapReaderFactory;\n this.standardFontDataFactory = factory.standardFontDataFactory;\n this.destroyed = false;\n this.destroyCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = new _util.PromiseCapability();\n this.setupMessageHandler();\n }\n #cacheSimpleMethod(name, data = null) {\n const cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, data);\n this.#methodPromises.set(name, promise);\n return promise;\n }\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n getRenderingIntent(intent, annotationMode = _util.AnnotationMode.ENABLE, printAnnotationStorage = null, isOpList = false) {\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationStorageSerializable = _annotation_storage.SerializableEmpty;\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n case \"display\":\n break;\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n case _util.AnnotationMode.ENABLE:\n break;\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n annotationStorageSerializable = annotationStorage.serializable;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${annotationStorageSerializable.hash}`,\n annotationStorageSerializable\n };\n }\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = new _util.PromiseCapability();\n this.#passwordCapability?.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n const waitOn = [];\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n this.#pageCache.clear();\n this.#pagePromises.clear();\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#methodPromises.clear();\n this.filterFactory.destroy();\n this._networkStream?.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = new _util.PromiseCapability();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n if (!rangeReader) {\n sink.close();\n return;\n }\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this.#passwordCapability = new _util.PromiseCapability();\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this.#passwordCapability.reject(password);\n } else {\n this.#passwordCapability.resolve({\n password\n });\n }\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this.#passwordCapability.reject(ex);\n }\n } else {\n this.#passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this.#passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n const page = this.#pageCache.get(data.pageIndex);\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return;\n }\n if (this.commonObjs.has(id)) {\n return;\n }\n switch (type) {\n case \"Font\":\n const params = this._params;\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n const inspectFont = params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null;\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n inspectFont\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"FontPath\":\n case \"Image\":\n case \"Pattern\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n const pageProxy = this.#pageCache.get(pageIndex);\n if (pageProxy.objs.has(id)) {\n return;\n }\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n if (imageData) {\n let length;\n if (imageData.bitmap) {\n const {\n width,\n height\n } = imageData;\n length = width * height * 4;\n } else {\n length = imageData.data?.length || 0;\n }\n if (length > _util.MAX_IMAGE_SIZE_TO_CACHE) {\n pageProxy._maybeCleanupAfterRender = true;\n }\n }\n break;\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.cMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.cMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.standardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.standardFontDataFactory.fetch(data);\n });\n }\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n saveDocument() {\n if (this.annotationStorage.size <= 0) {\n (0, _util.warn)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n const {\n map,\n transfers\n } = this.annotationStorage.serializable;\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: map,\n filename: this._fullReader?.filename ?? null\n }, transfers).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n getFieldObjects() {\n return this.#cacheSimpleMethod(\"GetFieldObjects\");\n }\n hasJSActions() {\n return this.#cacheSimpleMethod(\"HasJSActions\");\n }\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n getDocJSActions() {\n return this.#cacheSimpleMethod(\"GetDocJSActions\");\n }\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n getMetadata() {\n const name = \"GetMetadata\",\n cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n };\n });\n this.#methodPromises.set(name, promise);\n return promise;\n }\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n async startCleanup(keepLoadedFonts = false) {\n if (this.destroyed) {\n return;\n }\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n this.commonObjs.clear();\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n this.#methodPromises.clear();\n this.filterFactory.destroy(true);\n }\n get loadingParams() {\n const {\n disableAutoFetch,\n enableXfa\n } = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch,\n enableXfa\n });\n }\n}\nclass PDFObjects {\n #objs = Object.create(null);\n #ensureObj(objId) {\n return this.#objs[objId] ||= {\n capability: new _util.PromiseCapability(),\n data: null\n };\n }\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n const obj = this.#objs[objId];\n if (!obj?.capability.settled) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n has(objId) {\n const obj = this.#objs[objId];\n return obj?.capability.settled || false;\n }\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.capability.resolve();\n }\n clear() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n data?.bitmap?.close();\n }\n this.#objs = Object.create(null);\n }\n}\nclass RenderTask {\n #internalRenderTask = null;\n constructor(internalRenderTask) {\n this.#internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n get promise() {\n return this.#internalRenderTask.capability.promise;\n }\n cancel(extraDelay = 0) {\n this.#internalRenderTask.cancel(null, extraDelay);\n }\n get separateAnnots() {\n const {\n separateAnnots\n } = this.#internalRenderTask.operatorList;\n if (!separateAnnots) {\n return false;\n }\n const {\n annotationCanvasMap\n } = this.#internalRenderTask;\n return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;\n }\n}\nexports.RenderTask = RenderTask;\nclass InternalRenderTask {\n static #canvasInUse = new WeakSet();\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n filterFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = new _util.PromiseCapability();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig\n }, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n this.graphicsReadyCallback?.();\n }\n cancel(error = null, extraDelay = 0) {\n this.running = false;\n this.cancelled = true;\n this.gfx?.endDrawing();\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay));\n }\n operatorListChanged() {\n if (!this.graphicsReady) {\n this.graphicsReadyCallback ||= this._continueBound;\n return;\n }\n this.stepper?.updateOperatorList(this.operatorList);\n if (this.running) {\n return;\n }\n this._continue();\n }\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback();\n }\n }\n }\n}\nconst version = '3.11.174';\nexports.version = version;\nconst build = 'ce8716743';\nexports.build = build;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SerializableEmpty = exports.PrintAnnotationStorage = exports.AnnotationStorage = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _murmurhash = __w_pdfjs_require__(8);\nconst SerializableEmpty = Object.freeze({\n map: null,\n hash: \"\",\n transfers: undefined\n});\nexports.SerializableEmpty = SerializableEmpty;\nclass AnnotationStorage {\n #modified = false;\n #storage = new Map();\n constructor() {\n this.onSetModified = null;\n this.onResetModified = null;\n this.onAnnotationEditor = null;\n }\n getValue(key, defaultValue) {\n const value = this.#storage.get(key);\n if (value === undefined) {\n return defaultValue;\n }\n return Object.assign(defaultValue, value);\n }\n getRawValue(key) {\n return this.#storage.get(key);\n }\n remove(key) {\n this.#storage.delete(key);\n if (this.#storage.size === 0) {\n this.resetModified();\n }\n if (typeof this.onAnnotationEditor === \"function\") {\n for (const value of this.#storage.values()) {\n if (value instanceof _editor.AnnotationEditor) {\n return;\n }\n }\n this.onAnnotationEditor(null);\n }\n }\n setValue(key, value) {\n const obj = this.#storage.get(key);\n let modified = false;\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n this.#storage.set(key, value);\n }\n if (modified) {\n this.#setModified();\n }\n if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === \"function\") {\n this.onAnnotationEditor(value.constructor._type);\n }\n }\n has(key) {\n return this.#storage.has(key);\n }\n getAll() {\n return this.#storage.size > 0 ? (0, _util.objectFromMap)(this.#storage) : null;\n }\n setAll(obj) {\n for (const [key, val] of Object.entries(obj)) {\n this.setValue(key, val);\n }\n }\n get size() {\n return this.#storage.size;\n }\n #setModified() {\n if (!this.#modified) {\n this.#modified = true;\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n resetModified() {\n if (this.#modified) {\n this.#modified = false;\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n get print() {\n return new PrintAnnotationStorage(this);\n }\n get serializable() {\n if (this.#storage.size === 0) {\n return SerializableEmpty;\n }\n const map = new Map(),\n hash = new _murmurhash.MurmurHash3_64(),\n transfers = [];\n const context = Object.create(null);\n let hasBitmap = false;\n for (const [key, val] of this.#storage) {\n const serialized = val instanceof _editor.AnnotationEditor ? val.serialize(false, context) : val;\n if (serialized) {\n map.set(key, serialized);\n hash.update(`${key}:${JSON.stringify(serialized)}`);\n hasBitmap ||= !!serialized.bitmap;\n }\n }\n if (hasBitmap) {\n for (const value of map.values()) {\n if (value.bitmap) {\n transfers.push(value.bitmap);\n }\n }\n }\n return map.size > 0 ? {\n map,\n hash: hash.hexdigest(),\n transfers\n } : SerializableEmpty;\n }\n}\nexports.AnnotationStorage = AnnotationStorage;\nclass PrintAnnotationStorage extends AnnotationStorage {\n #serializable;\n constructor(parent) {\n super();\n const {\n map,\n hash,\n transfers\n } = parent.serializable;\n const clone = structuredClone(map, transfers ? {\n transfer: transfers\n } : null);\n this.#serializable = {\n map: clone,\n hash,\n transfers\n };\n }\n get print() {\n (0, _util.unreachable)(\"Should not call PrintAnnotationStorage.print\");\n }\n get serializable() {\n return this.#serializable;\n }\n}\nexports.PrintAnnotationStorage = PrintAnnotationStorage;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditor = void 0;\nvar _tools = __w_pdfjs_require__(5);\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nclass AnnotationEditor {\n #altText = \"\";\n #altTextDecorative = false;\n #altTextButton = null;\n #altTextTooltip = null;\n #altTextTooltipTimeout = null;\n #keepAspectRatio = false;\n #resizersDiv = null;\n #boundFocusin = this.focusin.bind(this);\n #boundFocusout = this.focusout.bind(this);\n #hasBeenClicked = false;\n #isEditing = false;\n #isInEditMode = false;\n _initialOptions = Object.create(null);\n _uiManager = null;\n _focusEventsAllowed = true;\n _l10nPromise = null;\n #isDraggable = false;\n #zIndex = AnnotationEditor._zIndex++;\n static _borderLineWidth = -1;\n static _colorManager = new _tools.ColorManager();\n static _zIndex = 1;\n static SMALL_EDITOR_SIZE = 0;\n constructor(parameters) {\n if (this.constructor === AnnotationEditor) {\n (0, _util.unreachable)(\"Cannot initialize AnnotationEditor.\");\n }\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n this._uiManager = parameters.uiManager;\n this.annotationElementId = null;\n this._willKeepAspectRatio = false;\n this._initialOptions.isCentered = parameters.isCentered;\n this._structTreeParentId = null;\n const {\n rotation,\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n } = this.parent.viewport;\n this.rotation = rotation;\n this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360;\n this.pageDimensions = [pageWidth, pageHeight];\n this.pageTranslation = [pageX, pageY];\n const [width, height] = this.parentDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.isAttachedToDOM = false;\n this.deleted = false;\n }\n get editorType() {\n return Object.getPrototypeOf(this).constructor._type;\n }\n static get _defaultLineColor() {\n return (0, _util.shadow)(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n static deleteAnnotationElement(editor) {\n const fakeEditor = new FakeEditor({\n id: editor.parent.getNextId(),\n parent: editor.parent,\n uiManager: editor._uiManager\n });\n fakeEditor.annotationElementId = editor.annotationElementId;\n fakeEditor.deleted = true;\n fakeEditor._uiManager.addToAnnotationStorage(fakeEditor);\n }\n static initialize(l10n, options = null) {\n AnnotationEditor._l10nPromise ||= new Map([\"editor_alt_text_button_label\", \"editor_alt_text_edit_button_label\", \"editor_alt_text_decorative_tooltip\"].map(str => [str, l10n.get(str)]));\n if (options?.strings) {\n for (const str of options.strings) {\n AnnotationEditor._l10nPromise.set(str, l10n.get(str));\n }\n }\n if (AnnotationEditor._borderLineWidth !== -1) {\n return;\n }\n const style = getComputedStyle(document.documentElement);\n AnnotationEditor._borderLineWidth = parseFloat(style.getPropertyValue(\"--outline-width\")) || 0;\n }\n static updateDefaultParams(_type, _value) {}\n static get defaultPropertiesToUpdate() {\n return [];\n }\n static isHandlingMimeForPasting(mime) {\n return false;\n }\n static paste(item, parent) {\n (0, _util.unreachable)(\"Not implemented\");\n }\n get propertiesToUpdate() {\n return [];\n }\n get _isDraggable() {\n return this.#isDraggable;\n }\n set _isDraggable(value) {\n this.#isDraggable = value;\n this.div?.classList.toggle(\"draggable\", value);\n }\n center() {\n const [pageWidth, pageHeight] = this.pageDimensions;\n switch (this.parentRotation) {\n case 90:\n this.x -= this.height * pageHeight / (pageWidth * 2);\n this.y += this.width * pageWidth / (pageHeight * 2);\n break;\n case 180:\n this.x += this.width / 2;\n this.y += this.height / 2;\n break;\n case 270:\n this.x += this.height * pageHeight / (pageWidth * 2);\n this.y -= this.width * pageWidth / (pageHeight * 2);\n break;\n default:\n this.x -= this.width / 2;\n this.y -= this.height / 2;\n break;\n }\n this.fixAndSetPosition();\n }\n addCommands(params) {\n this._uiManager.addCommands(params);\n }\n get currentLayer() {\n return this._uiManager.currentLayer;\n }\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n setInForeground() {\n this.div.style.zIndex = this.#zIndex;\n }\n setParent(parent) {\n if (parent !== null) {\n this.pageIndex = parent.pageIndex;\n this.pageDimensions = parent.pageDimensions;\n }\n this.parent = parent;\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.#hasBeenClicked) {\n this.parent.setSelected(this);\n } else {\n this.#hasBeenClicked = false;\n }\n }\n focusout(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.isAttachedToDOM) {\n return;\n }\n const target = event.relatedTarget;\n if (target?.closest(`#${this.id}`)) {\n return;\n }\n event.preventDefault();\n if (!this.parent?.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n commit() {\n this.addToAnnotationStorage();\n }\n addToAnnotationStorage() {\n this._uiManager.addToAnnotationStorage(this);\n }\n setAt(x, y, tx, ty) {\n const [width, height] = this.parentDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.fixAndSetPosition();\n }\n #translate([width, height], x, y) {\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.fixAndSetPosition();\n }\n translate(x, y) {\n this.#translate(this.parentDimensions, x, y);\n }\n translateInPage(x, y) {\n this.#translate(this.pageDimensions, x, y);\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n drag(tx, ty) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.x += tx / parentWidth;\n this.y += ty / parentHeight;\n if (this.parent && (this.x < 0 || this.x > 1 || this.y < 0 || this.y > 1)) {\n const {\n x,\n y\n } = this.div.getBoundingClientRect();\n if (this.parent.findNewParent(this, x, y)) {\n this.x -= Math.floor(this.x);\n this.y -= Math.floor(this.y);\n }\n }\n let {\n x,\n y\n } = this;\n const [bx, by] = this.#getBaseTranslation();\n x += bx;\n y += by;\n this.div.style.left = `${(100 * x).toFixed(2)}%`;\n this.div.style.top = `${(100 * y).toFixed(2)}%`;\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n #getBaseTranslation() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const {\n _borderLineWidth\n } = AnnotationEditor;\n const x = _borderLineWidth / parentWidth;\n const y = _borderLineWidth / parentHeight;\n switch (this.rotation) {\n case 90:\n return [-x, y];\n case 180:\n return [x, y];\n case 270:\n return [x, -y];\n default:\n return [-x, -y];\n }\n }\n fixAndSetPosition() {\n const [pageWidth, pageHeight] = this.pageDimensions;\n let {\n x,\n y,\n width,\n height\n } = this;\n width *= pageWidth;\n height *= pageHeight;\n x *= pageWidth;\n y *= pageHeight;\n switch (this.rotation) {\n case 0:\n x = Math.max(0, Math.min(pageWidth - width, x));\n y = Math.max(0, Math.min(pageHeight - height, y));\n break;\n case 90:\n x = Math.max(0, Math.min(pageWidth - height, x));\n y = Math.min(pageHeight, Math.max(width, y));\n break;\n case 180:\n x = Math.min(pageWidth, Math.max(width, x));\n y = Math.min(pageHeight, Math.max(height, y));\n break;\n case 270:\n x = Math.min(pageWidth, Math.max(height, x));\n y = Math.max(0, Math.min(pageHeight - width, y));\n break;\n }\n this.x = x /= pageWidth;\n this.y = y /= pageHeight;\n const [bx, by] = this.#getBaseTranslation();\n x += bx;\n y += by;\n const {\n style\n } = this.div;\n style.left = `${(100 * x).toFixed(2)}%`;\n style.top = `${(100 * y).toFixed(2)}%`;\n this.moveInDOM();\n }\n static #rotatePoint(x, y, angle) {\n switch (angle) {\n case 90:\n return [y, -x];\n case 180:\n return [-x, -y];\n case 270:\n return [-y, x];\n default:\n return [x, y];\n }\n }\n screenToPageTranslation(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, this.parentRotation);\n }\n pageTranslationToScreen(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, 360 - this.parentRotation);\n }\n #getRotationMatrix(rotation) {\n switch (rotation) {\n case 90:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, -pageWidth / pageHeight, pageHeight / pageWidth, 0];\n }\n case 180:\n return [-1, 0, 0, -1];\n case 270:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, pageWidth / pageHeight, -pageHeight / pageWidth, 0];\n }\n default:\n return [1, 0, 0, 1];\n }\n }\n get parentScale() {\n return this._uiManager.viewParameters.realScale;\n }\n get parentRotation() {\n return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360;\n }\n get parentDimensions() {\n const {\n parentScale,\n pageDimensions: [pageWidth, pageHeight]\n } = this;\n const scaledWidth = pageWidth * parentScale;\n const scaledHeight = pageHeight * parentScale;\n return _util.FeatureTest.isCSSRoundSupported ? [Math.round(scaledWidth), Math.round(scaledHeight)] : [scaledWidth, scaledHeight];\n }\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.div.style.width = `${(100 * width / parentWidth).toFixed(2)}%`;\n if (!this.#keepAspectRatio) {\n this.div.style.height = `${(100 * height / parentHeight).toFixed(2)}%`;\n }\n this.#altTextButton?.classList.toggle(\"small\", width < AnnotationEditor.SMALL_EDITOR_SIZE || height < AnnotationEditor.SMALL_EDITOR_SIZE);\n }\n fixDims() {\n const {\n style\n } = this.div;\n const {\n height,\n width\n } = style;\n const widthPercent = width.endsWith(\"%\");\n const heightPercent = !this.#keepAspectRatio && height.endsWith(\"%\");\n if (widthPercent && heightPercent) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (!widthPercent) {\n style.width = `${(100 * parseFloat(width) / parentWidth).toFixed(2)}%`;\n }\n if (!this.#keepAspectRatio && !heightPercent) {\n style.height = `${(100 * parseFloat(height) / parentHeight).toFixed(2)}%`;\n }\n }\n getInitialTranslation() {\n return [0, 0];\n }\n #createResizers() {\n if (this.#resizersDiv) {\n return;\n }\n this.#resizersDiv = document.createElement(\"div\");\n this.#resizersDiv.classList.add(\"resizers\");\n const classes = [\"topLeft\", \"topRight\", \"bottomRight\", \"bottomLeft\"];\n if (!this._willKeepAspectRatio) {\n classes.push(\"topMiddle\", \"middleRight\", \"bottomMiddle\", \"middleLeft\");\n }\n for (const name of classes) {\n const div = document.createElement(\"div\");\n this.#resizersDiv.append(div);\n div.classList.add(\"resizer\", name);\n div.addEventListener(\"pointerdown\", this.#resizerPointerdown.bind(this, name));\n div.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n }\n this.div.prepend(this.#resizersDiv);\n }\n #resizerPointerdown(name, event) {\n event.preventDefault();\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n const boundResizerPointermove = this.#resizerPointermove.bind(this, name);\n const savedDraggable = this._isDraggable;\n this._isDraggable = false;\n const pointerMoveOptions = {\n passive: true,\n capture: true\n };\n window.addEventListener(\"pointermove\", boundResizerPointermove, pointerMoveOptions);\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const savedParentCursor = this.parent.div.style.cursor;\n const savedCursor = this.div.style.cursor;\n this.div.style.cursor = this.parent.div.style.cursor = window.getComputedStyle(event.target).cursor;\n const pointerUpCallback = () => {\n this._isDraggable = savedDraggable;\n window.removeEventListener(\"pointerup\", pointerUpCallback);\n window.removeEventListener(\"blur\", pointerUpCallback);\n window.removeEventListener(\"pointermove\", boundResizerPointermove, pointerMoveOptions);\n this.parent.div.style.cursor = savedParentCursor;\n this.div.style.cursor = savedCursor;\n const newX = this.x;\n const newY = this.y;\n const newWidth = this.width;\n const newHeight = this.height;\n if (newX === savedX && newY === savedY && newWidth === savedWidth && newHeight === savedHeight) {\n return;\n }\n this.addCommands({\n cmd: () => {\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n },\n undo: () => {\n this.width = savedWidth;\n this.height = savedHeight;\n this.x = savedX;\n this.y = savedY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * savedWidth, parentHeight * savedHeight);\n this.fixAndSetPosition();\n },\n mustExec: true\n });\n };\n window.addEventListener(\"pointerup\", pointerUpCallback);\n window.addEventListener(\"blur\", pointerUpCallback);\n }\n #resizerPointermove(name, event) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const minWidth = AnnotationEditor.MIN_SIZE / parentWidth;\n const minHeight = AnnotationEditor.MIN_SIZE / parentHeight;\n const round = x => Math.round(x * 10000) / 10000;\n const rotationMatrix = this.#getRotationMatrix(this.rotation);\n const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y];\n const invRotationMatrix = this.#getRotationMatrix(360 - this.rotation);\n const invTransf = (x, y) => [invRotationMatrix[0] * x + invRotationMatrix[2] * y, invRotationMatrix[1] * x + invRotationMatrix[3] * y];\n let getPoint;\n let getOpposite;\n let isDiagonal = false;\n let isHorizontal = false;\n switch (name) {\n case \"topLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, 0];\n getOpposite = (w, h) => [w, h];\n break;\n case \"topMiddle\":\n getPoint = (w, h) => [w / 2, 0];\n getOpposite = (w, h) => [w / 2, h];\n break;\n case \"topRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, 0];\n getOpposite = (w, h) => [0, h];\n break;\n case \"middleRight\":\n isHorizontal = true;\n getPoint = (w, h) => [w, h / 2];\n getOpposite = (w, h) => [0, h / 2];\n break;\n case \"bottomRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, h];\n getOpposite = (w, h) => [0, 0];\n break;\n case \"bottomMiddle\":\n getPoint = (w, h) => [w / 2, h];\n getOpposite = (w, h) => [w / 2, 0];\n break;\n case \"bottomLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, h];\n getOpposite = (w, h) => [w, 0];\n break;\n case \"middleLeft\":\n isHorizontal = true;\n getPoint = (w, h) => [0, h / 2];\n getOpposite = (w, h) => [w, h / 2];\n break;\n }\n const point = getPoint(savedWidth, savedHeight);\n const oppositePoint = getOpposite(savedWidth, savedHeight);\n let transfOppositePoint = transf(...oppositePoint);\n const oppositeX = round(savedX + transfOppositePoint[0]);\n const oppositeY = round(savedY + transfOppositePoint[1]);\n let ratioX = 1;\n let ratioY = 1;\n let [deltaX, deltaY] = this.screenToPageTranslation(event.movementX, event.movementY);\n [deltaX, deltaY] = invTransf(deltaX / parentWidth, deltaY / parentHeight);\n if (isDiagonal) {\n const oldDiag = Math.hypot(savedWidth, savedHeight);\n ratioX = ratioY = Math.max(Math.min(Math.hypot(oppositePoint[0] - point[0] - deltaX, oppositePoint[1] - point[1] - deltaY) / oldDiag, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);\n } else if (isHorizontal) {\n ratioX = Math.max(minWidth, Math.min(1, Math.abs(oppositePoint[0] - point[0] - deltaX))) / savedWidth;\n } else {\n ratioY = Math.max(minHeight, Math.min(1, Math.abs(oppositePoint[1] - point[1] - deltaY))) / savedHeight;\n }\n const newWidth = round(savedWidth * ratioX);\n const newHeight = round(savedHeight * ratioY);\n transfOppositePoint = transf(...getOpposite(newWidth, newHeight));\n const newX = oppositeX - transfOppositePoint[0];\n const newY = oppositeY - transfOppositePoint[1];\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n }\n async addAltTextButton() {\n if (this.#altTextButton) {\n return;\n }\n const altText = this.#altTextButton = document.createElement(\"button\");\n altText.className = \"altText\";\n const msg = await AnnotationEditor._l10nPromise.get(\"editor_alt_text_button_label\");\n altText.textContent = msg;\n altText.setAttribute(\"aria-label\", msg);\n altText.tabIndex = \"0\";\n altText.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n altText.addEventListener(\"pointerdown\", event => event.stopPropagation());\n altText.addEventListener(\"click\", event => {\n event.preventDefault();\n this._uiManager.editAltText(this);\n }, {\n capture: true\n });\n altText.addEventListener(\"keydown\", event => {\n if (event.target === altText && event.key === \"Enter\") {\n event.preventDefault();\n this._uiManager.editAltText(this);\n }\n });\n this.#setAltTextButtonState();\n this.div.append(altText);\n if (!AnnotationEditor.SMALL_EDITOR_SIZE) {\n const PERCENT = 40;\n AnnotationEditor.SMALL_EDITOR_SIZE = Math.min(128, Math.round(altText.getBoundingClientRect().width * (1 + PERCENT / 100)));\n }\n }\n async #setAltTextButtonState() {\n const button = this.#altTextButton;\n if (!button) {\n return;\n }\n if (!this.#altText && !this.#altTextDecorative) {\n button.classList.remove(\"done\");\n this.#altTextTooltip?.remove();\n return;\n }\n AnnotationEditor._l10nPromise.get(\"editor_alt_text_edit_button_label\").then(msg => {\n button.setAttribute(\"aria-label\", msg);\n });\n let tooltip = this.#altTextTooltip;\n if (!tooltip) {\n this.#altTextTooltip = tooltip = document.createElement(\"span\");\n tooltip.className = \"tooltip\";\n tooltip.setAttribute(\"role\", \"tooltip\");\n const id = tooltip.id = `alt-text-tooltip-${this.id}`;\n button.setAttribute(\"aria-describedby\", id);\n const DELAY_TO_SHOW_TOOLTIP = 100;\n button.addEventListener(\"mouseenter\", () => {\n this.#altTextTooltipTimeout = setTimeout(() => {\n this.#altTextTooltipTimeout = null;\n this.#altTextTooltip.classList.add(\"show\");\n this._uiManager._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n subtype: this.editorType,\n data: {\n action: \"alt_text_tooltip\"\n }\n }\n });\n }, DELAY_TO_SHOW_TOOLTIP);\n });\n button.addEventListener(\"mouseleave\", () => {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n this.#altTextTooltip?.classList.remove(\"show\");\n });\n }\n button.classList.add(\"done\");\n tooltip.innerText = this.#altTextDecorative ? await AnnotationEditor._l10nPromise.get(\"editor_alt_text_decorative_tooltip\") : this.#altText;\n if (!tooltip.parentNode) {\n button.append(tooltip);\n }\n }\n getClientDimensions() {\n return this.div.getBoundingClientRect();\n }\n get altTextData() {\n return {\n altText: this.#altText,\n decorative: this.#altTextDecorative\n };\n }\n set altTextData({\n altText,\n decorative\n }) {\n if (this.#altText === altText && this.#altTextDecorative === decorative) {\n return;\n }\n this.#altText = altText;\n this.#altTextDecorative = decorative;\n this.#setAltTextButtonState();\n }\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.setAttribute(\"tabIndex\", 0);\n this.setInForeground();\n this.div.addEventListener(\"focusin\", this.#boundFocusin);\n this.div.addEventListener(\"focusout\", this.#boundFocusout);\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.parentRotation % 180 !== 0) {\n this.div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`;\n this.div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`;\n }\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n (0, _tools.bindEvents)(this, this.div, [\"pointerdown\"]);\n return this.div;\n }\n pointerdown(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n this.#hasBeenClicked = true;\n this.#setUpDragSession(event);\n }\n #setUpDragSession(event) {\n if (!this._isDraggable) {\n return;\n }\n const isSelected = this._uiManager.isSelected(this);\n this._uiManager.setUpDragSession();\n let pointerMoveOptions, pointerMoveCallback;\n if (isSelected) {\n pointerMoveOptions = {\n passive: true,\n capture: true\n };\n pointerMoveCallback = e => {\n const [tx, ty] = this.screenToPageTranslation(e.movementX, e.movementY);\n this._uiManager.dragSelectedEditors(tx, ty);\n };\n window.addEventListener(\"pointermove\", pointerMoveCallback, pointerMoveOptions);\n }\n const pointerUpCallback = () => {\n window.removeEventListener(\"pointerup\", pointerUpCallback);\n window.removeEventListener(\"blur\", pointerUpCallback);\n if (isSelected) {\n window.removeEventListener(\"pointermove\", pointerMoveCallback, pointerMoveOptions);\n }\n this.#hasBeenClicked = false;\n if (!this._uiManager.endDragSession()) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n }\n };\n window.addEventListener(\"pointerup\", pointerUpCallback);\n window.addEventListener(\"blur\", pointerUpCallback);\n }\n moveInDOM() {\n this.parent?.moveEditorInDOM(this);\n }\n _setParentAndPosition(parent, x, y) {\n parent.changeParent(this);\n this.x = x;\n this.y = y;\n this.fixAndSetPosition();\n }\n getRect(tx, ty) {\n const scale = this.parentScale;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const shiftX = tx / scale;\n const shiftY = ty / scale;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n switch (this.rotation) {\n case 0:\n return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY];\n case 90:\n return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY];\n case 180:\n return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY];\n case 270:\n return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n case 90:\n return [x1, pageHeight - y1, height, width];\n case 180:\n return [x2, pageHeight - y1, width, height];\n case 270:\n return [x2, pageHeight - y2, height, width];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n onceAdded() {}\n isEmpty() {\n return false;\n }\n enableEditMode() {\n this.#isInEditMode = true;\n }\n disableEditMode() {\n this.#isInEditMode = false;\n }\n isInEditMode() {\n return this.#isInEditMode;\n }\n shouldGetKeyboardEvents() {\n return false;\n }\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n rebuild() {\n this.div?.addEventListener(\"focusin\", this.#boundFocusin);\n this.div?.addEventListener(\"focusout\", this.#boundFocusout);\n }\n serialize(isForCopying = false, context = null) {\n (0, _util.unreachable)(\"An editor must be serializable\");\n }\n static deserialize(data, parent, uiManager) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId(),\n uiManager\n });\n editor.rotation = data.rotation;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n remove() {\n this.div.removeEventListener(\"focusin\", this.#boundFocusin);\n this.div.removeEventListener(\"focusout\", this.#boundFocusout);\n if (!this.isEmpty()) {\n this.commit();\n }\n if (this.parent) {\n this.parent.remove(this);\n } else {\n this._uiManager.removeEditor(this);\n }\n this.#altTextButton?.remove();\n this.#altTextButton = null;\n this.#altTextTooltip = null;\n }\n get isResizable() {\n return false;\n }\n makeResizable() {\n if (this.isResizable) {\n this.#createResizers();\n this.#resizersDiv.classList.remove(\"hidden\");\n }\n }\n select() {\n this.makeResizable();\n this.div?.classList.add(\"selectedEditor\");\n }\n unselect() {\n this.#resizersDiv?.classList.add(\"hidden\");\n this.div?.classList.remove(\"selectedEditor\");\n if (this.div?.contains(document.activeElement)) {\n this._uiManager.currentLayer.div.focus();\n }\n }\n updateParams(type, value) {}\n disableEditing() {\n if (this.#altTextButton) {\n this.#altTextButton.hidden = true;\n }\n }\n enableEditing() {\n if (this.#altTextButton) {\n this.#altTextButton.hidden = false;\n }\n }\n enterInEditMode() {}\n get contentDiv() {\n return this.div;\n }\n get isEditing() {\n return this.#isEditing;\n }\n set isEditing(value) {\n this.#isEditing = value;\n if (!this.parent) {\n return;\n }\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n setAspectRatio(width, height) {\n this.#keepAspectRatio = true;\n const aspectRatio = width / height;\n const {\n style\n } = this.div;\n style.aspectRatio = aspectRatio;\n style.height = \"auto\";\n }\n static get MIN_SIZE() {\n return 16;\n }\n}\nexports.AnnotationEditor = AnnotationEditor;\nclass FakeEditor extends AnnotationEditor {\n constructor(params) {\n super(params);\n this.annotationElementId = params.annotationElementId;\n this.deleted = true;\n }\n serialize() {\n return {\n id: this.annotationElementId,\n deleted: true,\n pageIndex: this.pageIndex\n };\n }\n}\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0;\nexports.bindEvents = bindEvents;\nexports.opacityToHex = opacityToHex;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\nclass IdManager {\n #id = 0;\n getId() {\n return `${_util.AnnotationEditorPrefix}${this.#id++}`;\n }\n}\nclass ImageManager {\n #baseId = (0, _util.getUuid)();\n #id = 0;\n #cache = null;\n static get _isSVGFittingCanvas() {\n const svg = `data:image/svg+xml;charset=UTF-8,`;\n const canvas = new OffscreenCanvas(1, 3);\n const ctx = canvas.getContext(\"2d\");\n const image = new Image();\n image.src = svg;\n const promise = image.decode().then(() => {\n ctx.drawImage(image, 0, 0, 1, 1, 0, 0, 1, 3);\n return new Uint32Array(ctx.getImageData(0, 0, 1, 1).data.buffer)[0] === 0;\n });\n return (0, _util.shadow)(this, \"_isSVGFittingCanvas\", promise);\n }\n async #get(key, rawData) {\n this.#cache ||= new Map();\n let data = this.#cache.get(key);\n if (data === null) {\n return null;\n }\n if (data?.bitmap) {\n data.refCounter += 1;\n return data;\n }\n try {\n data ||= {\n bitmap: null,\n id: `image_${this.#baseId}_${this.#id++}`,\n refCounter: 0,\n isSvg: false\n };\n let image;\n if (typeof rawData === \"string\") {\n data.url = rawData;\n const response = await fetch(rawData);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n image = await response.blob();\n } else {\n image = data.file = rawData;\n }\n if (image.type === \"image/svg+xml\") {\n const mustRemoveAspectRatioPromise = ImageManager._isSVGFittingCanvas;\n const fileReader = new FileReader();\n const imageElement = new Image();\n const imagePromise = new Promise((resolve, reject) => {\n imageElement.onload = () => {\n data.bitmap = imageElement;\n data.isSvg = true;\n resolve();\n };\n fileReader.onload = async () => {\n const url = data.svgUrl = fileReader.result;\n imageElement.src = (await mustRemoveAspectRatioPromise) ? `${url}#svgView(preserveAspectRatio(none))` : url;\n };\n imageElement.onerror = fileReader.onerror = reject;\n });\n fileReader.readAsDataURL(image);\n await imagePromise;\n } else {\n data.bitmap = await createImageBitmap(image);\n }\n data.refCounter = 1;\n } catch (e) {\n console.error(e);\n data = null;\n }\n this.#cache.set(key, data);\n if (data) {\n this.#cache.set(data.id, data);\n }\n return data;\n }\n async getFromFile(file) {\n const {\n lastModified,\n name,\n size,\n type\n } = file;\n return this.#get(`${lastModified}_${name}_${size}_${type}`, file);\n }\n async getFromUrl(url) {\n return this.#get(url, url);\n }\n async getFromId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return null;\n }\n if (data.bitmap) {\n data.refCounter += 1;\n return data;\n }\n if (data.file) {\n return this.getFromFile(data.file);\n }\n return this.getFromUrl(data.url);\n }\n getSvgUrl(id) {\n const data = this.#cache.get(id);\n if (!data?.isSvg) {\n return null;\n }\n return data.svgUrl;\n }\n deleteId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return;\n }\n data.refCounter -= 1;\n if (data.refCounter !== 0) {\n return;\n }\n data.bitmap = null;\n }\n isValidId(id) {\n return id.startsWith(`image_${this.#baseId}_`);\n }\n}\nclass CommandManager {\n #commands = [];\n #locked = false;\n #maxSize;\n #position = -1;\n constructor(maxSize = 128) {\n this.#maxSize = maxSize;\n }\n add({\n cmd,\n undo,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n }) {\n if (mustExec) {\n cmd();\n }\n if (this.#locked) {\n return;\n }\n const save = {\n cmd,\n undo,\n type\n };\n if (this.#position === -1) {\n if (this.#commands.length > 0) {\n this.#commands.length = 0;\n }\n this.#position = 0;\n this.#commands.push(save);\n return;\n }\n if (overwriteIfSameType && this.#commands[this.#position].type === type) {\n if (keepUndo) {\n save.undo = this.#commands[this.#position].undo;\n }\n this.#commands[this.#position] = save;\n return;\n }\n const next = this.#position + 1;\n if (next === this.#maxSize) {\n this.#commands.splice(0, 1);\n } else {\n this.#position = next;\n if (next < this.#commands.length) {\n this.#commands.splice(next);\n }\n }\n this.#commands.push(save);\n }\n undo() {\n if (this.#position === -1) {\n return;\n }\n this.#locked = true;\n this.#commands[this.#position].undo();\n this.#locked = false;\n this.#position -= 1;\n }\n redo() {\n if (this.#position < this.#commands.length - 1) {\n this.#position += 1;\n this.#locked = true;\n this.#commands[this.#position].cmd();\n this.#locked = false;\n }\n }\n hasSomethingToUndo() {\n return this.#position !== -1;\n }\n hasSomethingToRedo() {\n return this.#position < this.#commands.length - 1;\n }\n destroy() {\n this.#commands = null;\n }\n}\nexports.CommandManager = CommandManager;\nclass KeyboardManager {\n constructor(callbacks) {\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const {\n isMac\n } = _util.FeatureTest.platform;\n for (const [keys, callback, options = {}] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n #serialize(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n }\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n const info = this.callbacks.get(this.#serialize(event));\n if (!info) {\n return;\n }\n const {\n callback,\n options: {\n bubbles = false,\n args = [],\n checker = null\n }\n } = info;\n if (checker && !checker(self, event)) {\n return;\n }\n callback.bind(self, ...args)();\n if (!bubbles) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n}\nexports.KeyboardManager = KeyboardManager;\nclass ColorManager {\n static _colorsMapping = new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]);\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n (0, _display_utils.getColorValues)(colors);\n return (0, _util.shadow)(this, \"_colors\", colors);\n }\n convert(color) {\n const rgb = (0, _display_utils.getRGB)(color);\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n return rgb;\n }\n getHexCode(name) {\n const rgb = this._colors.get(name);\n if (!rgb) {\n return name;\n }\n return _util.Util.makeHexColor(...rgb);\n }\n}\nexports.ColorManager = ColorManager;\nclass AnnotationEditorUIManager {\n #activeEditor = null;\n #allEditors = new Map();\n #allLayers = new Map();\n #altTextManager = null;\n #annotationStorage = null;\n #commandManager = new CommandManager();\n #currentPageIndex = 0;\n #deletedAnnotationsElementIds = new Set();\n #draggingEditors = null;\n #editorTypes = null;\n #editorsToRescale = new Set();\n #filterFactory = null;\n #idManager = new IdManager();\n #isEnabled = false;\n #isWaiting = false;\n #lastActiveElement = null;\n #mode = _util.AnnotationEditorType.NONE;\n #selectedEditors = new Set();\n #pageColors = null;\n #boundBlur = this.blur.bind(this);\n #boundFocus = this.focus.bind(this);\n #boundCopy = this.copy.bind(this);\n #boundCut = this.cut.bind(this);\n #boundPaste = this.paste.bind(this);\n #boundKeydown = this.keydown.bind(this);\n #boundOnEditingAction = this.onEditingAction.bind(this);\n #boundOnPageChanging = this.onPageChanging.bind(this);\n #boundOnScaleChanging = this.onScaleChanging.bind(this);\n #boundOnRotationChanging = this.onRotationChanging.bind(this);\n #previousStates = {\n isEditing: false,\n isEmpty: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false\n };\n #translation = [0, 0];\n #translationTimeoutId = null;\n #container = null;\n #viewer = null;\n static TRANSLATE_SMALL = 1;\n static TRANSLATE_BIG = 10;\n static get _keyboardManager() {\n const proto = AnnotationEditorUIManager.prototype;\n const arrowChecker = self => {\n const {\n activeElement\n } = document;\n return activeElement && self.#container.contains(activeElement) && self.hasSomethingToControl();\n };\n const small = this.TRANSLATE_SMALL;\n const big = this.TRANSLATE_BIG;\n return (0, _util.shadow)(this, \"_keyboardManager\", new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], proto.selectAll], [[\"ctrl+z\", \"mac+meta+z\"], proto.undo], [[\"ctrl+y\", \"ctrl+shift+z\", \"mac+meta+shift+z\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], proto.redo], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\", \"mac+Delete\"], proto.delete], [[\"Escape\", \"mac+Escape\"], proto.unselectAll], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto.translateSelectedEditors, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto.translateSelectedEditors, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n constructor(container, viewer, altTextManager, eventBus, pdfDocument, pageColors) {\n this.#container = container;\n this.#viewer = viewer;\n this.#altTextManager = altTextManager;\n this._eventBus = eventBus;\n this._eventBus._on(\"editingaction\", this.#boundOnEditingAction);\n this._eventBus._on(\"pagechanging\", this.#boundOnPageChanging);\n this._eventBus._on(\"scalechanging\", this.#boundOnScaleChanging);\n this._eventBus._on(\"rotationchanging\", this.#boundOnRotationChanging);\n this.#annotationStorage = pdfDocument.annotationStorage;\n this.#filterFactory = pdfDocument.filterFactory;\n this.#pageColors = pageColors;\n this.viewParameters = {\n realScale: _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: 0\n };\n }\n destroy() {\n this.#removeKeyboardManager();\n this.#removeFocusManager();\n this._eventBus._off(\"editingaction\", this.#boundOnEditingAction);\n this._eventBus._off(\"pagechanging\", this.#boundOnPageChanging);\n this._eventBus._off(\"scalechanging\", this.#boundOnScaleChanging);\n this._eventBus._off(\"rotationchanging\", this.#boundOnRotationChanging);\n for (const layer of this.#allLayers.values()) {\n layer.destroy();\n }\n this.#allLayers.clear();\n this.#allEditors.clear();\n this.#editorsToRescale.clear();\n this.#activeEditor = null;\n this.#selectedEditors.clear();\n this.#commandManager.destroy();\n this.#altTextManager.destroy();\n }\n get hcmFilter() {\n return (0, _util.shadow)(this, \"hcmFilter\", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : \"none\");\n }\n get direction() {\n return (0, _util.shadow)(this, \"direction\", getComputedStyle(this.#container).direction);\n }\n editAltText(editor) {\n this.#altTextManager?.editAltText(this, editor);\n }\n onPageChanging({\n pageNumber\n }) {\n this.#currentPageIndex = pageNumber - 1;\n }\n focusMainContainer() {\n this.#container.focus();\n }\n findParent(x, y) {\n for (const layer of this.#allLayers.values()) {\n const {\n x: layerX,\n y: layerY,\n width,\n height\n } = layer.div.getBoundingClientRect();\n if (x >= layerX && x <= layerX + width && y >= layerY && y <= layerY + height) {\n return layer;\n }\n }\n return null;\n }\n disableUserSelect(value = false) {\n this.#viewer.classList.toggle(\"noUserSelect\", value);\n }\n addShouldRescale(editor) {\n this.#editorsToRescale.add(editor);\n }\n removeShouldRescale(editor) {\n this.#editorsToRescale.delete(editor);\n }\n onScaleChanging({\n scale\n }) {\n this.commitOrRemove();\n this.viewParameters.realScale = scale * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS;\n for (const editor of this.#editorsToRescale) {\n editor.onScaleChanging();\n }\n }\n onRotationChanging({\n pagesRotation\n }) {\n this.commitOrRemove();\n this.viewParameters.rotation = pagesRotation;\n }\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) {\n this.#annotationStorage.setValue(editor.id, editor);\n }\n }\n #addFocusManager() {\n window.addEventListener(\"focus\", this.#boundFocus);\n window.addEventListener(\"blur\", this.#boundBlur);\n }\n #removeFocusManager() {\n window.removeEventListener(\"focus\", this.#boundFocus);\n window.removeEventListener(\"blur\", this.#boundBlur);\n }\n blur() {\n if (!this.hasSelection) {\n return;\n }\n const {\n activeElement\n } = document;\n for (const editor of this.#selectedEditors) {\n if (editor.div.contains(activeElement)) {\n this.#lastActiveElement = [editor, activeElement];\n editor._focusEventsAllowed = false;\n break;\n }\n }\n }\n focus() {\n if (!this.#lastActiveElement) {\n return;\n }\n const [lastEditor, lastActiveElement] = this.#lastActiveElement;\n this.#lastActiveElement = null;\n lastActiveElement.addEventListener(\"focusin\", () => {\n lastEditor._focusEventsAllowed = true;\n }, {\n once: true\n });\n lastActiveElement.focus();\n }\n #addKeyboardManager() {\n window.addEventListener(\"keydown\", this.#boundKeydown, {\n capture: true\n });\n }\n #removeKeyboardManager() {\n window.removeEventListener(\"keydown\", this.#boundKeydown, {\n capture: true\n });\n }\n #addCopyPasteListeners() {\n document.addEventListener(\"copy\", this.#boundCopy);\n document.addEventListener(\"cut\", this.#boundCut);\n document.addEventListener(\"paste\", this.#boundPaste);\n }\n #removeCopyPasteListeners() {\n document.removeEventListener(\"copy\", this.#boundCopy);\n document.removeEventListener(\"cut\", this.#boundCut);\n document.removeEventListener(\"paste\", this.#boundPaste);\n }\n addEditListeners() {\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n }\n removeEditListeners() {\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n }\n copy(event) {\n event.preventDefault();\n this.#activeEditor?.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [];\n for (const editor of this.#selectedEditors) {\n const serialized = editor.serialize(true);\n if (serialized) {\n editors.push(serialized);\n }\n }\n if (editors.length === 0) {\n return;\n }\n event.clipboardData.setData(\"application/pdfjs\", JSON.stringify(editors));\n }\n cut(event) {\n this.copy(event);\n this.delete();\n }\n paste(event) {\n event.preventDefault();\n const {\n clipboardData\n } = event;\n for (const item of clipboardData.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(item.type)) {\n editorType.paste(item, this.currentLayer);\n return;\n }\n }\n }\n let data = clipboardData.getData(\"application/pdfjs\");\n if (!data) {\n return;\n }\n try {\n data = JSON.parse(data);\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n return;\n }\n if (!Array.isArray(data)) {\n return;\n }\n this.unselectAll();\n const layer = this.currentLayer;\n try {\n const newEditors = [];\n for (const editor of data) {\n const deserializedEditor = layer.deserialize(editor);\n if (!deserializedEditor) {\n return;\n }\n newEditors.push(deserializedEditor);\n }\n const cmd = () => {\n for (const editor of newEditors) {\n this.#addEditorToLayer(editor);\n }\n this.#selectEditors(newEditors);\n };\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n }\n }\n keydown(event) {\n if (!this.getActive()?.shouldGetKeyboardEvents()) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n onEditingAction(details) {\n if ([\"undo\", \"redo\", \"delete\", \"selectAll\"].includes(details.name)) {\n this[details.name]();\n }\n }\n #dispatchUpdateStates(details) {\n const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value);\n if (hasChanged) {\n this._eventBus.dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(this.#previousStates, details)\n });\n }\n }\n #dispatchUpdateUI(details) {\n this._eventBus.dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n }\n setEditingState(isEditing) {\n if (isEditing) {\n this.#addFocusManager();\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: this.#mode !== _util.AnnotationEditorType.NONE,\n isEmpty: this.#isEmpty(),\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n hasSelectedEditor: false\n });\n } else {\n this.#removeFocusManager();\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: false\n });\n this.disableUserSelect(false);\n }\n }\n registerEditorTypes(types) {\n if (this.#editorTypes) {\n return;\n }\n this.#editorTypes = types;\n for (const editorType of this.#editorTypes) {\n this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate);\n }\n }\n getId() {\n return this.#idManager.getId();\n }\n get currentLayer() {\n return this.#allLayers.get(this.#currentPageIndex);\n }\n getLayer(pageIndex) {\n return this.#allLayers.get(pageIndex);\n }\n get currentPageIndex() {\n return this.#currentPageIndex;\n }\n addLayer(layer) {\n this.#allLayers.set(layer.pageIndex, layer);\n if (this.#isEnabled) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n removeLayer(layer) {\n this.#allLayers.delete(layer.pageIndex);\n }\n updateMode(mode, editId = null) {\n if (this.#mode === mode) {\n return;\n }\n this.#mode = mode;\n if (mode === _util.AnnotationEditorType.NONE) {\n this.setEditingState(false);\n this.#disableAll();\n return;\n }\n this.setEditingState(true);\n this.#enableAll();\n this.unselectAll();\n for (const layer of this.#allLayers.values()) {\n layer.updateMode(mode);\n }\n if (!editId) {\n return;\n }\n for (const editor of this.#allEditors.values()) {\n if (editor.annotationElementId === editId) {\n this.setSelected(editor);\n editor.enterInEditMode();\n break;\n }\n }\n }\n updateToolbar(mode) {\n if (mode === this.#mode) {\n return;\n }\n this._eventBus.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n updateParams(type, value) {\n if (!this.#editorTypes) {\n return;\n }\n if (type === _util.AnnotationEditorParamsType.CREATE) {\n this.currentLayer.addNewEditor(type);\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.updateParams(type, value);\n }\n for (const editorType of this.#editorTypes) {\n editorType.updateDefaultParams(type, value);\n }\n }\n enableWaiting(mustWait = false) {\n if (this.#isWaiting === mustWait) {\n return;\n }\n this.#isWaiting = mustWait;\n for (const layer of this.#allLayers.values()) {\n if (mustWait) {\n layer.disableClick();\n } else {\n layer.enableClick();\n }\n layer.div.classList.toggle(\"waiting\", mustWait);\n }\n }\n #enableAll() {\n if (!this.#isEnabled) {\n this.#isEnabled = true;\n for (const layer of this.#allLayers.values()) {\n layer.enable();\n }\n }\n }\n #disableAll() {\n this.unselectAll();\n if (this.#isEnabled) {\n this.#isEnabled = false;\n for (const layer of this.#allLayers.values()) {\n layer.disable();\n }\n }\n }\n getEditors(pageIndex) {\n const editors = [];\n for (const editor of this.#allEditors.values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n return editors;\n }\n getEditor(id) {\n return this.#allEditors.get(id);\n }\n addEditor(editor) {\n this.#allEditors.set(editor.id, editor);\n }\n removeEditor(editor) {\n this.#allEditors.delete(editor.id);\n this.unselect(editor);\n if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) {\n this.#annotationStorage?.remove(editor.id);\n }\n }\n addDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.add(editor.annotationElementId);\n editor.deleted = true;\n }\n isDeletedAnnotationElement(annotationElementId) {\n return this.#deletedAnnotationsElementIds.has(annotationElementId);\n }\n removeDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.delete(editor.annotationElementId);\n editor.deleted = false;\n }\n #addEditorToLayer(editor) {\n const layer = this.#allLayers.get(editor.pageIndex);\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n }\n }\n setActiveEditor(editor) {\n if (this.#activeEditor === editor) {\n return;\n }\n this.#activeEditor = editor;\n if (editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n toggleSelected(editor) {\n if (this.#selectedEditors.has(editor)) {\n this.#selectedEditors.delete(editor);\n editor.unselect();\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n return;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n setSelected(editor) {\n for (const ed of this.#selectedEditors) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n this.#selectedEditors.clear();\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n isSelected(editor) {\n return this.#selectedEditors.has(editor);\n }\n unselect(editor) {\n editor.unselect();\n this.#selectedEditors.delete(editor);\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n get hasSelection() {\n return this.#selectedEditors.size !== 0;\n }\n undo() {\n this.#commandManager.undo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: this.#isEmpty()\n });\n }\n redo() {\n this.#commandManager.redo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n isEmpty: this.#isEmpty()\n });\n }\n addCommands(params) {\n this.#commandManager.add(params);\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: this.#isEmpty()\n });\n }\n #isEmpty() {\n if (this.#allEditors.size === 0) {\n return true;\n }\n if (this.#allEditors.size === 1) {\n for (const editor of this.#allEditors.values()) {\n return editor.isEmpty();\n }\n }\n return false;\n }\n delete() {\n this.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [...this.#selectedEditors];\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n const undo = () => {\n for (const editor of editors) {\n this.#addEditorToLayer(editor);\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n commitOrRemove() {\n this.#activeEditor?.commitOrRemove();\n }\n hasSomethingToControl() {\n return this.#activeEditor || this.hasSelection;\n }\n #selectEditors(editors) {\n this.#selectedEditors.clear();\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n }\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n selectAll() {\n for (const editor of this.#selectedEditors) {\n editor.commit();\n }\n this.#selectEditors(this.#allEditors.values());\n }\n unselectAll() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n return;\n }\n if (!this.hasSelection) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n this.#dispatchUpdateStates({\n hasSelectedEditor: false\n });\n }\n translateSelectedEditors(x, y, noCommit = false) {\n if (!noCommit) {\n this.commitOrRemove();\n }\n if (!this.hasSelection) {\n return;\n }\n this.#translation[0] += x;\n this.#translation[1] += y;\n const [totalX, totalY] = this.#translation;\n const editors = [...this.#selectedEditors];\n const TIME_TO_WAIT = 1000;\n if (this.#translationTimeoutId) {\n clearTimeout(this.#translationTimeoutId);\n }\n this.#translationTimeoutId = setTimeout(() => {\n this.#translationTimeoutId = null;\n this.#translation[0] = this.#translation[1] = 0;\n this.addCommands({\n cmd: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(totalX, totalY);\n }\n }\n },\n undo: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(-totalX, -totalY);\n }\n }\n },\n mustExec: false\n });\n }, TIME_TO_WAIT);\n for (const editor of editors) {\n editor.translateInPage(x, y);\n }\n }\n setUpDragSession() {\n if (!this.hasSelection) {\n return;\n }\n this.disableUserSelect(true);\n this.#draggingEditors = new Map();\n for (const editor of this.#selectedEditors) {\n this.#draggingEditors.set(editor, {\n savedX: editor.x,\n savedY: editor.y,\n savedPageIndex: editor.pageIndex,\n newX: 0,\n newY: 0,\n newPageIndex: -1\n });\n }\n }\n endDragSession() {\n if (!this.#draggingEditors) {\n return false;\n }\n this.disableUserSelect(false);\n const map = this.#draggingEditors;\n this.#draggingEditors = null;\n let mustBeAddedInUndoStack = false;\n for (const [{\n x,\n y,\n pageIndex\n }, value] of map) {\n value.newX = x;\n value.newY = y;\n value.newPageIndex = pageIndex;\n mustBeAddedInUndoStack ||= x !== value.savedX || y !== value.savedY || pageIndex !== value.savedPageIndex;\n }\n if (!mustBeAddedInUndoStack) {\n return false;\n }\n const move = (editor, x, y, pageIndex) => {\n if (this.#allEditors.has(editor.id)) {\n const parent = this.#allLayers.get(pageIndex);\n if (parent) {\n editor._setParentAndPosition(parent, x, y);\n } else {\n editor.pageIndex = pageIndex;\n editor.x = x;\n editor.y = y;\n }\n }\n };\n this.addCommands({\n cmd: () => {\n for (const [editor, {\n newX,\n newY,\n newPageIndex\n }] of map) {\n move(editor, newX, newY, newPageIndex);\n }\n },\n undo: () => {\n for (const [editor, {\n savedX,\n savedY,\n savedPageIndex\n }] of map) {\n move(editor, savedX, savedY, savedPageIndex);\n }\n },\n mustExec: true\n });\n return true;\n }\n dragSelectedEditors(tx, ty) {\n if (!this.#draggingEditors) {\n return;\n }\n for (const editor of this.#draggingEditors.keys()) {\n editor.drag(tx, ty);\n }\n }\n rebuild(editor) {\n if (editor.parent === null) {\n const parent = this.getLayer(editor.pageIndex);\n if (parent) {\n parent.changeParent(editor);\n parent.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n this.addToAnnotationStorage(editor);\n editor.rebuild();\n }\n } else {\n editor.parent.addOrRebuild(editor);\n }\n }\n isActive(editor) {\n return this.#activeEditor === editor;\n }\n getActive() {\n return this.#activeEditor;\n }\n getMode() {\n return this.#mode;\n }\n get imageManager() {\n return (0, _util.shadow)(this, \"imageManager\", new ImageManager());\n }\n}\nexports.AnnotationEditorUIManager = AnnotationEditorUIManager;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMFilterFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0;\nexports.deprecated = deprecated;\nexports.getColorValues = getColorValues;\nexports.getCurrentTransform = getCurrentTransform;\nexports.getCurrentTransformInverse = getCurrentTransformInverse;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getRGB = getRGB;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.noContextMenu = noContextMenu;\nexports.setLayerDimensions = setLayerDimensions;\nvar _base_factory = __w_pdfjs_require__(7);\nvar _util = __w_pdfjs_require__(1);\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\nexports.PixelsPerInch = PixelsPerInch;\nclass DOMFilterFactory extends _base_factory.BaseFilterFactory {\n #_cache;\n #_defs;\n #docId;\n #document;\n #hcmFilter;\n #hcmKey;\n #hcmUrl;\n #hcmHighlightFilter;\n #hcmHighlightKey;\n #hcmHighlightUrl;\n #id = 0;\n constructor({\n docId,\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this.#docId = docId;\n this.#document = ownerDocument;\n }\n get #cache() {\n return this.#_cache ||= new Map();\n }\n get #defs() {\n if (!this.#_defs) {\n const div = this.#document.createElement(\"div\");\n const {\n style\n } = div;\n style.visibility = \"hidden\";\n style.contain = \"strict\";\n style.width = style.height = 0;\n style.position = \"absolute\";\n style.top = style.left = 0;\n style.zIndex = -1;\n const svg = this.#document.createElementNS(SVG_NS, \"svg\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n this.#_defs = this.#document.createElementNS(SVG_NS, \"defs\");\n div.append(svg);\n svg.append(this.#_defs);\n this.#document.body.append(div);\n }\n return this.#_defs;\n }\n addFilter(maps) {\n if (!maps) {\n return \"none\";\n }\n let value = this.#cache.get(maps);\n if (value) {\n return value;\n }\n let tableR, tableG, tableB, key;\n if (maps.length === 1) {\n const mapR = maps[0];\n const buffer = new Array(256);\n for (let i = 0; i < 256; i++) {\n buffer[i] = mapR[i] / 255;\n }\n key = tableR = tableG = tableB = buffer.join(\",\");\n } else {\n const [mapR, mapG, mapB] = maps;\n const bufferR = new Array(256);\n const bufferG = new Array(256);\n const bufferB = new Array(256);\n for (let i = 0; i < 256; i++) {\n bufferR[i] = mapR[i] / 255;\n bufferG[i] = mapG[i] / 255;\n bufferB[i] = mapB[i] / 255;\n }\n tableR = bufferR.join(\",\");\n tableG = bufferG.join(\",\");\n tableB = bufferB.join(\",\");\n key = `${tableR}${tableG}${tableB}`;\n }\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(maps, value);\n return value;\n }\n const id = `g_${this.#docId}_transfer_map_${this.#id++}`;\n const url = `url(#${id})`;\n this.#cache.set(maps, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addTransferMapConversion(tableR, tableG, tableB, filter);\n return url;\n }\n addHCMFilter(fgColor, bgColor) {\n const key = `${fgColor}-${bgColor}`;\n if (this.#hcmKey === key) {\n return this.#hcmUrl;\n }\n this.#hcmKey = key;\n this.#hcmUrl = \"none\";\n this.#hcmFilter?.remove();\n if (!fgColor || !bgColor) {\n return this.#hcmUrl;\n }\n const fgRGB = this.#getRGB(fgColor);\n fgColor = _util.Util.makeHexColor(...fgRGB);\n const bgRGB = this.#getRGB(bgColor);\n bgColor = _util.Util.makeHexColor(...bgRGB);\n this.#defs.style.color = \"\";\n if (fgColor === \"#000000\" && bgColor === \"#ffffff\" || fgColor === bgColor) {\n return this.#hcmUrl;\n }\n const map = new Array(256);\n for (let i = 0; i <= 255; i++) {\n const x = i / 255;\n map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n }\n const table = map.join(\",\");\n const id = `g_${this.#docId}_hcm_filter`;\n const filter = this.#hcmHighlightFilter = this.#createFilter(id);\n this.#addTransferMapConversion(table, table, table, filter);\n this.#addGrayConversion(filter);\n const getSteps = (c, n) => {\n const start = fgRGB[c] / 255;\n const end = bgRGB[c] / 255;\n const arr = new Array(n + 1);\n for (let i = 0; i <= n; i++) {\n arr[i] = start + i / n * (end - start);\n }\n return arr.join(\",\");\n };\n this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter);\n this.#hcmUrl = `url(#${id})`;\n return this.#hcmUrl;\n }\n addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) {\n const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`;\n if (this.#hcmHighlightKey === key) {\n return this.#hcmHighlightUrl;\n }\n this.#hcmHighlightKey = key;\n this.#hcmHighlightUrl = \"none\";\n this.#hcmHighlightFilter?.remove();\n if (!fgColor || !bgColor) {\n return this.#hcmHighlightUrl;\n }\n const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this));\n let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]);\n let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]);\n let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this));\n if (bgGray < fgGray) {\n [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB];\n }\n this.#defs.style.color = \"\";\n const getSteps = (fg, bg, n) => {\n const arr = new Array(256);\n const step = (bgGray - fgGray) / n;\n const newStart = fg / 255;\n const newStep = (bg - fg) / (255 * n);\n let prev = 0;\n for (let i = 0; i <= n; i++) {\n const k = Math.round(fgGray + i * step);\n const value = newStart + i * newStep;\n for (let j = prev; j <= k; j++) {\n arr[j] = value;\n }\n prev = k + 1;\n }\n for (let i = prev; i < 256; i++) {\n arr[i] = arr[prev - 1];\n }\n return arr.join(\",\");\n };\n const id = `g_${this.#docId}_hcm_highlight_filter`;\n const filter = this.#hcmHighlightFilter = this.#createFilter(id);\n this.#addGrayConversion(filter);\n this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter);\n this.#hcmHighlightUrl = `url(#${id})`;\n return this.#hcmHighlightUrl;\n }\n destroy(keepHCM = false) {\n if (keepHCM && (this.#hcmUrl || this.#hcmHighlightUrl)) {\n return;\n }\n if (this.#_defs) {\n this.#_defs.parentNode.parentNode.remove();\n this.#_defs = null;\n }\n if (this.#_cache) {\n this.#_cache.clear();\n this.#_cache = null;\n }\n this.#id = 0;\n }\n #addGrayConversion(filter) {\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0\");\n filter.append(feColorMatrix);\n }\n #createFilter(id) {\n const filter = this.#document.createElementNS(SVG_NS, \"filter\");\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n filter.setAttribute(\"id\", id);\n this.#defs.append(filter);\n return filter;\n }\n #appendFeFunc(feComponentTransfer, func, table) {\n const feFunc = this.#document.createElementNS(SVG_NS, func);\n feFunc.setAttribute(\"type\", \"discrete\");\n feFunc.setAttribute(\"tableValues\", table);\n feComponentTransfer.append(feFunc);\n }\n #addTransferMapConversion(rTable, gTable, bTable, filter) {\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", rTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", gTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", bTable);\n }\n #getRGB(color) {\n this.#defs.style.color = color;\n return getRGB(getComputedStyle(this.#defs).getPropertyValue(\"color\"));\n }\n}\nexports.DOMFilterFactory = DOMFilterFactory;\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this._document = ownerDocument;\n }\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n}\nexports.DOMCanvasFactory = DOMCanvasFactory;\nasync function fetchData(url, asTypedArray = false) {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let data;\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve(data);\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n request.send(null);\n });\n}\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n}\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n}\nexports.DOMSVGFactory = DOMSVGFactory;\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = (viewBox[3] - viewBox[1]) * scale;\n height = (viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = (viewBox[2] - viewBox[0]) * scale;\n height = (viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n get rawDims() {\n const {\n viewBox\n } = this;\n return (0, _util.shadow)(this, \"rawDims\", {\n pageWidth: viewBox[2] - viewBox[0],\n pageHeight: viewBox[3] - viewBox[1],\n pageX: viewBox[0],\n pageY: viewBox[1]\n });\n }\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n}\nexports.PageViewport = PageViewport;\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, extraDelay = 0) {\n super(msg, \"RenderingCancelledException\");\n this.extraDelay = extraDelay;\n }\n}\nexports.RenderingCancelledException = RenderingCancelledException;\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\nfunction getFilenameFromUrl(url, onlyStripPath = false) {\n if (!onlyStripPath) {\n [url] = url.split(/[#?]/, 1);\n }\n return url.substring(url.lastIndexOf(\"/\") + 1);\n}\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nclass StatTimer {\n started = Object.create(null);\n times = [];\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n toString() {\n const outBuf = [];\n let longest = 0;\n for (const {\n name\n } of this.times) {\n longest = Math.max(name.length, longest);\n }\n for (const {\n name,\n start,\n end\n } of this.times) {\n outBuf.push(`${name.padEnd(longest)} ${end - start}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\nexports.StatTimer = StatTimer;\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch {\n return false;\n }\n}\nfunction noContextMenu(e) {\n e.preventDefault();\n}\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n resolve(evt);\n };\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n (document.head || document.documentElement).append(script);\n });\n}\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\nlet pdfDateStringRegex;\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n pdfDateStringRegex ||= new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\nexports.PDFDateString = PDFDateString;\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n (0, _util.warn)(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n span.remove();\n}\nfunction getCurrentTransform(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform();\n return [a, b, c, d, e, f];\n}\nfunction getCurrentTransformInverse(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform().invertSelf();\n return [a, b, c, d, e, f];\n}\nfunction setLayerDimensions(div, viewport, mustFlip = false, mustRotate = true) {\n if (viewport instanceof PageViewport) {\n const {\n pageWidth,\n pageHeight\n } = viewport.rawDims;\n const {\n style\n } = div;\n const useRound = _util.FeatureTest.isCSSRoundSupported;\n const w = `var(--scale-factor) * ${pageWidth}px`,\n h = `var(--scale-factor) * ${pageHeight}px`;\n const widthStr = useRound ? `round(${w}, 1px)` : `calc(${w})`,\n heightStr = useRound ? `round(${h}, 1px)` : `calc(${h})`;\n if (!mustFlip || viewport.rotation % 180 === 0) {\n style.width = widthStr;\n style.height = heightStr;\n } else {\n style.width = heightStr;\n style.height = widthStr;\n }\n }\n if (mustRotate) {\n div.setAttribute(\"data-main-rotation\", viewport.rotation);\n }\n}\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseFilterFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass BaseFilterFactory {\n constructor() {\n if (this.constructor === BaseFilterFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseFilterFactory.\");\n }\n }\n addFilter(maps) {\n return \"none\";\n }\n addHCMFilter(fgColor, bgColor) {\n return \"none\";\n }\n addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) {\n return \"none\";\n }\n destroy(keepHCM = false) {}\n}\nexports.BaseFilterFactory = BaseFilterFactory;\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n}\nexports.BaseCanvasFactory = BaseCanvasFactory;\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = true\n }) {\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n this.baseUrl = baseUrl;\n }\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n create(width, height, skipDimensions = false) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n const svg = this._createSVG(\"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n return this._createSVG(type);\n }\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n}\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n update(input) {\n let data, length;\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n k1 = 0;\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n }\n this.h1 = h1;\n this.h2 = h2;\n }\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n return (h1 >>> 0).toString(16).padStart(8, \"0\") + (h2 >>> 0).toString(16).padStart(8, \"0\");\n }\n}\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass FontLoader {\n #systemFonts = new Set();\n constructor({\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n this._document = ownerDocument;\n this.nativeFontFaces = new Set();\n this.styleElement = null;\n this.loadingRequests = [];\n this.loadTestFontId = 0;\n }\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.add(nativeFontFace);\n this._document.fonts.add(nativeFontFace);\n }\n removeNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.delete(nativeFontFace);\n this._document.fonts.delete(nativeFontFace);\n }\n insertRule(rule) {\n if (!this.styleElement) {\n this.styleElement = this._document.createElement(\"style\");\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(this.styleElement);\n }\n const styleSheet = this.styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n this.nativeFontFaces.clear();\n this.#systemFonts.clear();\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n async loadSystemFont(info) {\n if (!info || this.#systemFonts.has(info.loadedName)) {\n return;\n }\n (0, _util.assert)(!this.disableFontFace, \"loadSystemFont shouldn't be called when `disableFontFace` is set.\");\n if (this.isFontLoadingAPISupported) {\n const {\n loadedName,\n src,\n style\n } = info;\n const fontFace = new FontFace(loadedName, src, style);\n this.addNativeFontFace(fontFace);\n try {\n await fontFace.load();\n this.#systemFonts.add(loadedName);\n } catch {\n (0, _util.warn)(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`);\n this.removeNativeFontFace(fontFace);\n }\n return;\n }\n (0, _util.unreachable)(\"Not implemented: loadSystemFont without the Font Loading API.\");\n }\n async bind(font) {\n if (font.attached || font.missingFile && !font.systemFontInfo) {\n return;\n }\n font.attached = true;\n if (font.systemFontInfo) {\n await this.loadSystemFont(font.systemFontInfo);\n return;\n }\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n return;\n }\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent(font, request);\n });\n }\n }\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (_util.isNodeJS) {\n supported = true;\n } else if (typeof navigator !== \"undefined\" && /Mozilla\\/5.0.*?rv:\\d+.*? Gecko/.test(navigator.userAgent)) {\n supported = true;\n }\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n while (loadingRequests.length > 0 && loadingRequests[0].done) {\n const otherRequest = loadingRequests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n const {\n loadingRequests\n } = this;\n const request = {\n done: false,\n complete: completeRequest,\n callback\n };\n loadingRequests.push(request);\n return request;\n }\n get _loadTestFont() {\n const testFont = atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n return (0, _util.shadow)(this, \"_loadTestFont\", testFont);\n }\n _prepareFontLoadEvent(font, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n function isFontReady(name, callback) {\n if (++called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const div = this._document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n for (const name of [font.loadedName, loadTestFontId]) {\n const span = this._document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n this._document.body.append(div);\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n}\nexports.FontLoader = FontLoader;\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n inspectFont = null\n }) {\n this.compiledGlyphs = Object.create(null);\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._inspectFont = inspectFont;\n }\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n let nativeFontFace;\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n this._inspectFont?.(this);\n return nativeFontFace;\n }\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n this._inspectFont?.(this, url);\n return rule;\n }\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n let cmds;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const jsBuf = [];\n for (const current of cmds) {\n const args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n}\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeFilterFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\nvar _base_factory = __w_pdfjs_require__(7);\nvar _util = __w_pdfjs_require__(1);\n;\n;\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n resolve(new Uint8Array(data));\n });\n });\n};\nclass NodeFilterFactory extends _base_factory.BaseFilterFactory {}\nexports.NodeFilterFactory = NodeFilterFactory;\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n return Canvas.createCanvas(width, height);\n }\n}\nexports.NodeCanvasFactory = NodeCanvasFactory;\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n}\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _pattern_helper = __w_pdfjs_require__(12);\nvar _image_utils = __w_pdfjs_require__(13);\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n ctx.save = function ctxSave() {\n destCtx.save();\n this.__originalSave();\n };\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n this.__originalRestore();\n };\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n this.__originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n this.__originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n this.__originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n this.__originalResetTransform();\n };\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n this.__originalRotate(angle);\n };\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n this.__originalClip(rule);\n };\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n this.__originalMoveTo(x, y);\n };\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n this.__originalLineTo(x, y);\n };\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n this.__originalRect(x, y, width, height);\n };\n ctx.closePath = function () {\n destCtx.closePath();\n this.__originalClosePath();\n };\n ctx.beginPath = function () {\n destCtx.beginPath();\n this.__originalBeginPath();\n };\n}\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n getCanvas(id, width, height) {\n let canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n return canvasEntry;\n }\n delete(id) {\n delete this.cache[id];\n }\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n}\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx);\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n for (const elem of imgData.data) {\n let mask = 128;\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n let count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n const path = new Path2D();\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n path.moveTo(p % width1, i);\n const p0 = p;\n let type = points[p];\n do {\n const step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n const pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n path.lineTo(p % width1, p / width1 | 0);\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n --i;\n }\n data = null;\n points = null;\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.fill(path);\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = \"none\";\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n this.updateRectMinMax(transform, box);\n }\n getPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n return box;\n }\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n isEmptyClip() {\n return this.minX === Infinity;\n }\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n getClippedPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n}\nfunction putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n const white = 0xffffffff;\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.convertBlackAndWhiteToRGBA)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight,\n nonBlackColor: 0\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\", \"filter\"];\n for (const property of properties) {\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\nfunction resetCtxToDefault(ctx) {\n ctx.strokeStyle = ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n if (!_util.isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n}\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n const composeFn = subtype === \"Luminosity\" ? composeSMaskLuminosity : composeSMaskAlpha;\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n return false;\n}\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, {\n optionalContentConfig,\n markedContentStack = null\n }, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = markedContentStack || [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.pageColors = pageColors;\n this._cachedScaleForStroking = [-1, 0];\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const savedFillStyle = this.ctx.fillStyle;\n this.ctx.fillStyle = background || \"#ffffff\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.fillStyle = savedFillStyle;\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx));\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform(...transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n this.ctx.transform(...viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n }\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n }\n #restoreInitialState() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n }\n endDrawing() {\n this.#restoreInitialState();\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n cache.clear();\n }\n this._cachedBitmapsMap.clear();\n this.#drawFilter();\n }\n #drawFilter() {\n if (this.pageColors) {\n const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background);\n if (hcmFilterId !== \"none\") {\n const savedFilter = this.ctx.filter;\n this.ctx.filter = hcmFilterId;\n this.ctx.drawImage(this.ctx.canvas, 0, 0);\n this.ctx.filter = savedFilter;\n }\n }\n }\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2;\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n let cache, cacheKey, scaled, maskCanvas;\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n if (!cache) {\n cache = new Map();\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n const cachedImage = cache.get(cacheKey);\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n scaled = cachedImage;\n }\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n putBinaryImageMask(maskCanvas.context, img);\n }\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform(...maskToCanvas);\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx));\n scaled = scaled.img;\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking[0] = -1;\n }\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = value;\n break;\n case \"ca\":\n this.current.fillAlpha = value;\n this.ctx.globalAlpha = value;\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n case \"TR\":\n this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value);\n break;\n }\n }\n }\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx));\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n this.ctx._removeMirroring();\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n current.setCurrentPoint(x, y);\n }\n closePath() {\n this.ctx.closePath();\n }\n stroke(consumePath = true) {\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n ctx.globalAlpha = this.current.fillAlpha;\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n fill(consumePath = true) {\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n const intersect = this.current.getClippedPathBoundingBox();\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n endPath() {\n this.consumePath();\n }\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (const path of paths) {\n ctx.setTransform(...path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n const name = fontObj.loadedName || \"sans-serif\";\n const typeface = fontObj.systemFontInfo?.css || `\"${name}\", ${fontObj.fallbackName}`;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform(...patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths ||= [];\n paths.push({\n transform: (0, _display_utils.getCurrentTransform)(ctx),\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n let patternTransform;\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n patternTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n if (font.isInvalidPDFjsFont) {\n const chars = [];\n let width = 0;\n for (const glyph of glyphs) {\n chars.push(glyph.unicode);\n width += glyph.width;\n }\n ctx.fillText(chars.join(\"\"), 0, 0);\n current.x += width * widthAdvanceScale * textHScale;\n ctx.restore();\n this.compose();\n return undefined;\n }\n let x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n this.compose();\n return undefined;\n }\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform(...fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n }\n setCharWidth(xWidth, yWidth) {}\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n getColorN_Pattern(IR) {\n let pattern;\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx);\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig: this.optionalContentConfig,\n markedContentStack: this.markedContentStack\n });\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n return pattern;\n }\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n setStrokeRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n setFillRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n _getPattern(objId, matrix = null) {\n let pattern;\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.getObject(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n if (matrix) {\n pattern.matrix = matrix;\n }\n return pattern;\n }\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n this.save();\n const pattern = this._getPattern(objId);\n ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING);\n const inv = (0, _display_utils.getCurrentTransformInverse)(ctx);\n if (inv) {\n const {\n width,\n height\n } = ctx.canvas;\n const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(...matrix);\n }\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox);\n this.clip();\n this.endPath();\n }\n }\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n const currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx);\n if (group.matrix) {\n currentCtx.transform(...group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx));\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform(...currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx);\n this.restore();\n this.ctx.save();\n this.ctx.setTransform(...currentMtx);\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.#restoreInitialState();\n resetCtxToDefault(this.ctx);\n this.ctx.save();\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform(...this.baseTransform);\n }\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx));\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.save();\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx);\n } else {\n resetCtxToDefault(this.ctx);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform(...transform);\n this.transform(...matrix);\n }\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx.restore();\n this.#drawFilter();\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n const mask = this._createMaskCanvas(img);\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n const mask = this._createMaskCanvas(img);\n ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]);\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n ctx.drawImage(mask.canvas, x, y);\n }\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform(...transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n applyTransferMapsToCanvas(ctx) {\n if (this.current.transferMaps !== \"none\") {\n ctx.filter = this.current.transferMaps;\n ctx.drawImage(ctx.canvas, 0, 0);\n ctx.filter = \"none\";\n }\n return ctx.canvas;\n }\n applyTransferMapsToBitmap(imgData) {\n if (this.current.transferMaps === \"none\") {\n return imgData.bitmap;\n }\n const {\n bitmap,\n width,\n height\n } = imgData;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.filter = this.current.transferMaps;\n tmpCtx.drawImage(bitmap, 0, 0);\n tmpCtx.filter = \"none\";\n return tmpCanvas.canvas;\n }\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n if (!_util.isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = this.applyTransferMapsToBitmap(imgData);\n } else if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx));\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate);\n drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n this.compose();\n this.restore();\n }\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = imgData.bitmap;\n } else {\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n for (const entry of map) {\n ctx.save();\n ctx.transform(...entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n markPoint(tag) {}\n markPointProps(tag, properties) {}\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n this.contentVisible = this.isContentVisible();\n }\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n beginCompat() {}\n endCompat() {}\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n const ctx = this.ctx;\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n this.pendingClip = null;\n }\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n return this._cachedGetSinglePixelWidth;\n }\n getScaleForStroking() {\n if (this._cachedScaleForStroking[0] === -1) {\n const {\n lineWidth\n } = this.current;\n const {\n a,\n b,\n c,\n d\n } = this.ctx.getTransform();\n let scaleX, scaleY;\n if (b === 0 && c === 0) {\n const normX = Math.abs(a);\n const normY = Math.abs(d);\n if (normX === normY) {\n if (lineWidth === 0) {\n scaleX = scaleY = 1 / normX;\n } else {\n const scaledLineWidth = normX * lineWidth;\n scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1;\n }\n } else if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(a * d - b * c);\n const normX = Math.hypot(a, b);\n const normY = Math.hypot(c, d);\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n this._cachedScaleForStroking[0] = scaleX;\n this._cachedScaleForStroking[1] = scaleY;\n }\n return this._cachedScaleForStroking;\n }\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n const dashes = ctx.getLineDash();\n if (saveRestore) {\n ctx.save();\n }\n ctx.scale(scaleX, scaleY);\n if (dashes.length > 0) {\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(dashes.map(x => x / scale));\n ctx.lineDashOffset /= scale;\n }\n ctx.stroke();\n if (saveRestore) {\n ctx.restore();\n }\n }\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n return true;\n }\n}\nexports.CanvasGraphics = CanvasGraphics;\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox) {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n}\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n _createGradient(ctx) {\n let grad;\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n return grad;\n }\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform(...owner.baseTransform);\n if (this.matrix) {\n tmpCtx.transform(...this.matrix);\n }\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n pattern.setTransform(domMatrix);\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n return pattern;\n }\n}\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n const k = y < y1 ? 0 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n}\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n const bytes = data.data;\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx));\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n if (pathType !== PathType.SHADING) {\n ctx.setTransform(...owner.baseTransform);\n if (this.matrix) {\n ctx.transform(...this.matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n}\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n}\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\nclass TilingPattern {\n static MAX_PATTERN_SIZE = 3000;\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx);\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return {\n scale,\n size\n };\n }\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n pattern.setTransform(domMatrix);\n return pattern;\n }\n}\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA;\nexports.convertToRGBA = convertToRGBA;\nexports.grayToRGBA = grayToRGBA;\nvar _util = __w_pdfjs_require__(1);\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case _util.ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n return null;\n}\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false\n}) {\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n if (_util.FeatureTest.isLittleEndian) {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;\n dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;\n dest[destPos + 3] = s3 >>> 8 | 0xff000000;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;\n dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;\n dest[destPos + 3] = s3 << 8 | 0xff;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction grayToRGBA(src, dest) {\n if (_util.FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x10101 | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x1010100 | 0x000000ff;\n }\n }\n}\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = null;\nGlobalWorkerOptions.workerSrc = \"\";\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n this._onComObjOnMessage = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this.#processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this.#createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = new _util.PromiseCapability();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = new _util.PromiseCapability();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n #createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = new _util.PromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: new _util.PromiseCapability(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n #processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull?.());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.isClosed = true;\n streamController.controller.close();\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n new Promise(function (resolve) {\n resolve(streamSink.onCancel?.(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async #deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);\n delete this.streamControllers[streamId];\n }\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n}\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass Metadata {\n #metadataMap;\n #data;\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n getRaw() {\n return this.#data;\n }\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n getAll() {\n return (0, _util.objectFromMap)(this.#metadataMap);\n }\n has(name) {\n return this.#metadataMap.has(name);\n }\n}\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _murmurhash = __w_pdfjs_require__(8);\nconst INTERNAL = Symbol(\"INTERNAL\");\nclass OptionalContentGroup {\n #visible = true;\n constructor(name, intent) {\n this.name = name;\n this.intent = intent;\n }\n get visible() {\n return this.#visible;\n }\n _setVisible(internal, visible) {\n if (internal !== INTERNAL) {\n (0, _util.unreachable)(\"Internal method `_setVisible` called.\");\n }\n this.#visible = visible;\n }\n}\nclass OptionalContentConfig {\n #cachedGetHash = null;\n #groups = new Map();\n #initialHash = null;\n #order = null;\n constructor(data) {\n this.name = null;\n this.creator = null;\n if (data === null) {\n return;\n }\n this.name = data.name;\n this.creator = data.creator;\n this.#order = data.order;\n for (const group of data.groups) {\n this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n if (data.baseState === \"OFF\") {\n for (const group of this.#groups.values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n for (const on of data.on) {\n this.#groups.get(on)._setVisible(INTERNAL, true);\n }\n for (const off of data.off) {\n this.#groups.get(off)._setVisible(INTERNAL, false);\n }\n this.#initialHash = this.getHash();\n }\n #evaluateVisibilityExpression(array) {\n const length = array.length;\n if (length < 2) {\n return true;\n }\n const operator = array[0];\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n if (Array.isArray(element)) {\n state = this.#evaluateVisibilityExpression(element);\n } else if (this.#groups.has(element)) {\n state = this.#groups.get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n break;\n case \"Or\":\n if (state) {\n return true;\n }\n break;\n case \"Not\":\n return !state;\n default:\n return true;\n }\n }\n return operator === \"And\";\n }\n isVisible(group) {\n if (this.#groups.size === 0) {\n return true;\n }\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n if (group.type === \"OCG\") {\n if (!this.#groups.has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n return this.#groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this.#evaluateVisibilityExpression(group.expression);\n }\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n }\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n setVisibility(id, visible = true) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n this.#groups.get(id)._setVisible(INTERNAL, !!visible);\n this.#cachedGetHash = null;\n }\n get hasInitialVisibility() {\n return this.#initialHash === null || this.getHash() === this.#initialHash;\n }\n getOrder() {\n if (!this.#groups.size) {\n return null;\n }\n if (this.#order) {\n return this.#order.slice();\n }\n return [...this.#groups.keys()];\n }\n getGroups() {\n return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null;\n }\n getGroup(id) {\n return this.#groups.get(id) || null;\n }\n getHash() {\n if (this.#cachedGetHash !== null) {\n return this.#cachedGetHash;\n }\n const hash = new _murmurhash.MurmurHash3_64();\n for (const [id, group] of this.#groups) {\n hash.update(`${id}:${group.visible}`);\n }\n return this.#cachedGetHash = hash.hexdigest();\n }\n}\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nclass PDFDataTransportStream {\n constructor({\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null,\n disableRange = false,\n disableStream = false\n }, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = progressiveDone;\n this._contentDispositionFilename = contentDispositionFilename;\n if (initialData?.length > 0) {\n const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !disableStream;\n this._isRangeSupported = !disableRange;\n this._contentLength = length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n this._pdfDataRangeTransport.transportReady();\n }\n _onReceiveData({\n begin,\n chunk\n }) {\n const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer;\n if (begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n _onProgress(evt) {\n if (evt.total === undefined) {\n this._rangeReaders[0]?.onProgress?.({\n loaded: evt.loaded\n });\n } else {\n this._fullRequestReader?.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n _onProgressiveDone() {\n this._fullRequestReader?.progressiveDone();\n this._progressiveDone = true;\n }\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n this._pdfDataRangeTransport.abort();\n }\n}\nexports.PDFDataTransportStream = PDFDataTransportStream;\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n get headersReady() {\n return this._headersReady;\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n get contentLength() {\n return this._stream._contentLength;\n }\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._stream._removeRangeReader(this);\n }\n}\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n headers.append(property, value);\n }\n return headers;\n}\nfunction getArrayBuffer(val) {\n if (val instanceof Uint8Array) {\n return val.buffer;\n }\n if (val instanceof ArrayBuffer) {\n return val;\n }\n (0, _util.warn)(`getArrayBuffer - unexpected data format: ${val}`);\n return new Uint8Array(val).buffer;\n}\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFFetchStream = PDFFetchStream;\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._abortController = new AbortController();\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = new _util.PromiseCapability();\n this._isStreamingSupported = !source.disableStream;\n this._abortController = new AbortController();\n this._headers = createHeaders(this._stream.httpHeaders);\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\nvar _util = __w_pdfjs_require__(1);\nvar _content_disposition = __w_pdfjs_require__(21);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch {}\n }\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\nvar _util = __w_pdfjs_require__(1);\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch {}\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replaceAll(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replaceAll(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replaceAll(\"_\", \" \");\n text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch {}\n return textdecode(charset, text);\n });\n }\n return \"\";\n}\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n return (0, _util.stringToBytes)(data).buffer;\n}\nclass NetworkManager {\n constructor(url, args = {}) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n requestFull(listeners) {\n return this.request(listeners);\n }\n request(args) {\n const xhr = new XMLHttpRequest();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n pendingRequest.onProgress?.(evt);\n }\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNetworkStream = PDFNetworkStream;\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n }\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n this._headersReceivedCapability.reject(this._storedError);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get contentLength() {\n return this._contentLength;\n }\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n _close() {\n this.onClosed?.(this);\n }\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._close();\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\nfunction parseUrl(sourceUrl) {\n const url = require(\"url\");\n const parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n return parsedUrl;\n}\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNodeStream = PDFNodeStream;\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n this._headersCapability = new _util.PromiseCapability();\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n const http = require(\"http\");\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n const https = require(\"https\");\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n this._httpHeaders[property] = value;\n }\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n const http = require(\"http\");\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n const https = require(\"https\");\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n const fs = require(\"fs\");\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._contentLength = stat.size;\n this._setReadableStream(fs.createReadStream(path));\n this._headersCapability.resolve();\n });\n }\n}\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n const fs = require(\"fs\");\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n}\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\nvar _display_utils = __w_pdfjs_require__(6);\nvar _util = __w_pdfjs_require__(1);\n;\nconst SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n};\nconst XML_NS = \"http://www.w3.org/XML/1998/namespace\";\nconst XLINK_NS = \"http://www.w3.org/1999/xlink\";\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst createObjectURL = function (data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n};\nconst convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n for (let i = 0; i < 256; i++) {\n let c = i;\n for (let h = 0; h < 8; h++) {\n c = c & 1 ? 0xedb88320 ^ c >> 1 & 0x7fffffff : c >> 1 & 0x7fffffff;\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n let crc = -1;\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!_util.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n try {\n const input = parseInt(process.versions.node) >= 8 ? literals : Buffer.from(literals);\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error(\"invalid format\");\n }\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n}();\nclass SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n clone() {\n return Object.create(this);\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n}\nfunction opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree.at(-1).items;\n continue;\n }\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n return opTree;\n}\nfunction pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const s = value.toFixed(10);\n let i = s.length - 1;\n if (s[i] !== \"0\") {\n return s;\n }\n do {\n i--;\n } while (s[i] === \"0\");\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n}\nfunction pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n}\nlet clipCount = 0;\nlet maskCount = 0;\nlet shadingCount = 0;\nclass SVGGraphics {\n constructor(commonObjs, objs, forceDataSchema = false) {\n (0, _display_utils.deprecated)(\"The SVG back-end is no longer maintained and *may* be removed in the future.\");\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n return Promise.all(this.current.dependencies);\n }\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n const svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n return opListToTree(opList);\n }\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTreeElement.items);\n break;\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.append(current.tspan);\n }\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n current.tspan.textContent += character;\n } else {}\n const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n }\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n let textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.append(current.tspan);\n current.txtgrp.append(current.txtElement);\n this._ensureTransformGroup().append(current.txtElement);\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.append(this.cssStyle);\n }\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n endText() {\n const current = this.current;\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n shadingFill(args) {\n const {\n width,\n height\n } = this.viewport;\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n this._ensureTransformGroup().append(rect);\n }\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n return this._makeShadingPattern(args);\n }\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.append(bbox.childNodes[0]);\n this.defs.append(tiling);\n return `url(#${tilingId})`;\n }\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.append(stop);\n }\n this.defs.append(gradient);\n return `url(#${shadingId})`;\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n case \"Dummy\":\n return \"hotpink\";\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n d = d.join(\" \");\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n this._ensureTransformGroup().append(current.path);\n }\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n endPath() {\n const current = this.current;\n current.path = null;\n if (!this.pendingClip) {\n return;\n }\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n this.pendingClip = null;\n clipPath.append(clipElement);\n this.defs.append(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n clip(type) {\n this.pendingClip = type;\n }\n closePath() {\n const current = this.current;\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value);\n break;\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n case \"ca\":\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n fill() {\n const current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n stroke() {\n const current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n eoFill() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fill();\n }\n fillStroke() {\n this.stroke();\n this.fill();\n }\n eoFillStroke() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fillStroke();\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n this._ensureTransformGroup().append(rect);\n }\n paintImageXObject(objId) {\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n if (mask) {\n mask.append(imgEl);\n } else {\n this._ensureTransformGroup().append(imgEl);\n }\n }\n paintImageMaskXObject(img) {\n const imgData = this.getObject(img.data, img);\n if (imgData.bitmap) {\n (0, _util.warn)(\"paintImageMaskXObject: ImageBitmap support is not implemented, \" + \"ensure that the `isOffscreenCanvasSupported` API parameter is disabled.\");\n return;\n }\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.append(mask);\n this._ensureTransformGroup().append(rect);\n this.paintInlineImageXObject(imgData, mask);\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n paintFormXObjectEnd() {}\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.append(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.append(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.append(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n }\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().append(this.tgrp);\n } else {\n this.svg.append(this.tgrp);\n }\n }\n return this.tgrp;\n }\n}\nexports.SVGGraphics = SVGGraphics;\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n function walk(node) {\n if (!node) {\n return;\n }\n let str = null;\n const name = node.name;\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n if (str !== null) {\n items.push({\n str\n });\n }\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n walk(child);\n }\n }\n walk(xfa);\n return output;\n }\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n}\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerRenderTask = void 0;\nexports.renderTextLayer = renderTextLayer;\nexports.updateTextLayer = updateTextLayer;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nfunction getCtx(size, isOffscreenCanvasSupported) {\n let ctx;\n if (isOffscreenCanvasSupported && _util.FeatureTest.isOffscreenCanvasSupported) {\n ctx = new OffscreenCanvas(size, size).getContext(\"2d\", {\n alpha: false\n });\n } else {\n const canvas = document.createElement(\"canvas\");\n canvas.width = canvas.height = size;\n ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n }\n return ctx;\n}\nfunction getAscent(fontFamily, isOffscreenCanvasSupported) {\n const cachedAscent = ascentCache.get(fontFamily);\n if (cachedAscent) {\n return cachedAscent;\n }\n const ctx = getCtx(DEFAULT_FONT_SIZE, isOffscreenCanvasSupported);\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n ctx.canvas.width = ctx.canvas.height = 0;\n return ratio;\n }\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.canvas.width = ctx.canvas.height = 0;\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\nfunction appendText(task, geom, styles) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n task._textDivs.push(textDiv);\n const tx = _util.Util.transform(task._transform, geom.transform);\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, task._isOffscreenCanvasSupported);\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n const scaleFactorStr = \"calc(var(--scale-factor)*\";\n const divStyle = textDiv.style;\n if (task._container === task._rootContainer) {\n divStyle.left = `${(100 * left / task._pageWidth).toFixed(2)}%`;\n divStyle.top = `${(100 * top / task._pageHeight).toFixed(2)}%`;\n } else {\n divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`;\n divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`;\n }\n divStyle.fontSize = `${scaleFactorStr}${fontHeight.toFixed(2)}px)`;\n divStyle.fontFamily = style.fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width;\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._isReadableStream) {\n task._layoutText(textDiv);\n }\n}\nfunction layout(params) {\n const {\n div,\n scale,\n properties,\n ctx,\n prevFontSize,\n prevFontFamily\n } = params;\n const {\n style\n } = div;\n let transform = \"\";\n if (properties.canvasWidth !== 0 && properties.hasText) {\n const {\n fontFamily\n } = style;\n const {\n canvasWidth,\n fontSize\n } = properties;\n if (prevFontSize !== fontSize || prevFontFamily !== fontFamily) {\n ctx.font = `${fontSize * scale}px ${fontFamily}`;\n params.prevFontSize = fontSize;\n params.prevFontFamily = fontFamily;\n }\n const {\n width\n } = ctx.measureText(div.textContent);\n if (width > 0) {\n transform = `scaleX(${canvasWidth * scale / width})`;\n }\n }\n if (properties.angle !== 0) {\n transform = `rotate(${properties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n style.transform = transform;\n }\n}\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n capability.resolve();\n return;\n }\n if (!task._isReadableStream) {\n for (const textDiv of textDivs) {\n task._layoutText(textDiv);\n }\n }\n capability.resolve();\n}\nclass TextLayerRenderTask {\n constructor({\n textContentSource,\n container,\n viewport,\n textDivs,\n textDivProperties,\n textContentItemsStr,\n isOffscreenCanvasSupported\n }) {\n this._textContentSource = textContentSource;\n this._isReadableStream = textContentSource instanceof ReadableStream;\n this._container = this._rootContainer = container;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._isOffscreenCanvasSupported = isOffscreenCanvasSupported;\n this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n this._reader = null;\n this._textDivProperties = textDivProperties || new WeakMap();\n this._canceled = false;\n this._capability = new _util.PromiseCapability();\n this._layoutTextParams = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale: viewport.scale * (globalThis.devicePixelRatio || 1),\n properties: null,\n ctx: getCtx(0, isOffscreenCanvasSupported)\n };\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n this._transform = [1, 0, 0, -1, -pageX, pageY + pageHeight];\n this._pageWidth = pageWidth;\n this._pageHeight = pageHeight;\n (0, _display_utils.setLayerDimensions)(container, viewport);\n this._capability.promise.finally(() => {\n this._layoutTextParams = null;\n }).catch(() => {});\n }\n get promise() {\n return this._capability.promise;\n }\n cancel() {\n this._canceled = true;\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n this._reader = null;\n }\n this._capability.reject(new _util.AbortException(\"TextLayer task cancelled.\"));\n }\n _processItems(items, styleCache) {\n for (const item of items) {\n if (item.str === undefined) {\n if (item.type === \"beginMarkedContentProps\" || item.type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n this._container.classList.add(\"markedContent\");\n if (item.id !== null) {\n this._container.setAttribute(\"id\", `${item.id}`);\n }\n parent.append(this._container);\n } else if (item.type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n continue;\n }\n this._textContentItemsStr.push(item.str);\n appendText(this, item, styleCache);\n }\n }\n _layoutText(textDiv) {\n const textDivProperties = this._layoutTextParams.properties = this._textDivProperties.get(textDiv);\n this._layoutTextParams.div = textDiv;\n layout(this._layoutTextParams);\n if (textDivProperties.hasText) {\n this._container.append(textDiv);\n }\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n this._container.append(br);\n }\n }\n _render() {\n const capability = new _util.PromiseCapability();\n let styleCache = Object.create(null);\n if (this._isReadableStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n Object.assign(styleCache, value.styles);\n this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentSource.getReader();\n pump();\n } else if (this._textContentSource) {\n const {\n items,\n styles\n } = this._textContentSource;\n this._processItems(items, styles);\n capability.resolve();\n } else {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n capability.promise.then(() => {\n styleCache = null;\n render(this);\n }, this._capability.reject);\n }\n}\nexports.TextLayerRenderTask = TextLayerRenderTask;\nfunction renderTextLayer(params) {\n if (!params.textContentSource && (params.textContent || params.textContentStream)) {\n (0, _display_utils.deprecated)(\"The TextLayerRender `textContent`/`textContentStream` parameters \" + \"will be removed in the future, please use `textContentSource` instead.\");\n params.textContentSource = params.textContent || params.textContentStream;\n }\n const {\n container,\n viewport\n } = params;\n const style = getComputedStyle(container);\n const visibility = style.getPropertyValue(\"visibility\");\n const scaleFactor = parseFloat(style.getPropertyValue(\"--scale-factor\"));\n if (visibility === \"visible\" && (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-5)) {\n console.error(\"The `--scale-factor` CSS-variable must be set, \" + \"to the same value as `viewport.scale`, \" + \"either on the `container`-element itself or higher up in the DOM.\");\n }\n const task = new TextLayerRenderTask(params);\n task._render();\n return task;\n}\nfunction updateTextLayer({\n container,\n viewport,\n textDivs,\n textDivProperties,\n isOffscreenCanvasSupported,\n mustRotate = true,\n mustRescale = true\n}) {\n if (mustRotate) {\n (0, _display_utils.setLayerDimensions)(container, {\n rotation: viewport.rotation\n });\n }\n if (mustRescale) {\n const ctx = getCtx(0, isOffscreenCanvasSupported);\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const params = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale,\n properties: null,\n ctx\n };\n for (const div of textDivs) {\n params.properties = textDivProperties.get(div);\n params.div = div;\n layout(params);\n }\n }\n}\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _freetext = __w_pdfjs_require__(28);\nvar _ink = __w_pdfjs_require__(33);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _stamp = __w_pdfjs_require__(34);\nclass AnnotationEditorLayer {\n #accessibilityManager;\n #allowClick = false;\n #annotationLayer = null;\n #boundPointerup = this.pointerup.bind(this);\n #boundPointerdown = this.pointerdown.bind(this);\n #editors = new Map();\n #hadPointerDown = false;\n #isCleaningUp = false;\n #isDisabling = false;\n #uiManager;\n static _initialized = false;\n constructor({\n uiManager,\n pageIndex,\n div,\n accessibilityManager,\n annotationLayer,\n viewport,\n l10n\n }) {\n const editorTypes = [_freetext.FreeTextEditor, _ink.InkEditor, _stamp.StampEditor];\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n for (const editorType of editorTypes) {\n editorType.initialize(l10n);\n }\n }\n uiManager.registerEditorTypes(editorTypes);\n this.#uiManager = uiManager;\n this.pageIndex = pageIndex;\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationLayer = annotationLayer;\n this.viewport = viewport;\n this.#uiManager.addLayer(this);\n }\n get isEmpty() {\n return this.#editors.size === 0;\n }\n updateToolbar(mode) {\n this.#uiManager.updateToolbar(mode);\n }\n updateMode(mode = this.#uiManager.getMode()) {\n this.#cleanup();\n if (mode === _util.AnnotationEditorType.INK) {\n this.addInkEditorIfNeeded(false);\n this.disableClick();\n } else {\n this.enableClick();\n }\n if (mode !== _util.AnnotationEditorType.NONE) {\n this.div.classList.toggle(\"freeTextEditing\", mode === _util.AnnotationEditorType.FREETEXT);\n this.div.classList.toggle(\"inkEditing\", mode === _util.AnnotationEditorType.INK);\n this.div.classList.toggle(\"stampEditing\", mode === _util.AnnotationEditorType.STAMP);\n this.div.hidden = false;\n }\n }\n addInkEditorIfNeeded(isCommitting) {\n if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) {\n return;\n }\n if (!isCommitting) {\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n const editor = this.#createAndAddNewEditor({\n offsetX: 0,\n offsetY: 0\n }, false);\n editor.setInBackground();\n }\n setEditingState(isEditing) {\n this.#uiManager.setEditingState(isEditing);\n }\n addCommands(params) {\n this.#uiManager.addCommands(params);\n }\n enable() {\n this.div.style.pointerEvents = \"auto\";\n const annotationElementIds = new Set();\n for (const editor of this.#editors.values()) {\n editor.enableEditing();\n if (editor.annotationElementId) {\n annotationElementIds.add(editor.annotationElementId);\n }\n }\n if (!this.#annotationLayer) {\n return;\n }\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n editable.hide();\n if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) {\n continue;\n }\n if (annotationElementIds.has(editable.data.id)) {\n continue;\n }\n const editor = this.deserialize(editable);\n if (!editor) {\n continue;\n }\n this.addOrRebuild(editor);\n editor.enableEditing();\n }\n }\n disable() {\n this.#isDisabling = true;\n this.div.style.pointerEvents = \"none\";\n const hiddenAnnotationIds = new Set();\n for (const editor of this.#editors.values()) {\n editor.disableEditing();\n if (!editor.annotationElementId || editor.serialize() !== null) {\n hiddenAnnotationIds.add(editor.annotationElementId);\n continue;\n }\n this.getEditableAnnotation(editor.annotationElementId)?.show();\n editor.remove();\n }\n if (this.#annotationLayer) {\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n const {\n id\n } = editable.data;\n if (hiddenAnnotationIds.has(id) || this.#uiManager.isDeletedAnnotationElement(id)) {\n continue;\n }\n editable.show();\n }\n }\n this.#cleanup();\n if (this.isEmpty) {\n this.div.hidden = true;\n }\n this.#isDisabling = false;\n }\n getEditableAnnotation(id) {\n return this.#annotationLayer?.getEditableAnnotation(id) || null;\n }\n setActiveEditor(editor) {\n const currentActive = this.#uiManager.getActive();\n if (currentActive === editor) {\n return;\n }\n this.#uiManager.setActiveEditor(editor);\n }\n enableClick() {\n this.div.addEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.addEventListener(\"pointerup\", this.#boundPointerup);\n }\n disableClick() {\n this.div.removeEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.removeEventListener(\"pointerup\", this.#boundPointerup);\n }\n attach(editor) {\n this.#editors.set(editor.id, editor);\n const {\n annotationElementId\n } = editor;\n if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) {\n this.#uiManager.removeDeletedAnnotationElement(editor);\n }\n }\n detach(editor) {\n this.#editors.delete(editor.id);\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n if (!this.#isDisabling && editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor);\n }\n }\n remove(editor) {\n this.detach(editor);\n this.#uiManager.removeEditor(editor);\n if (editor.div.contains(document.activeElement)) {\n setTimeout(() => {\n this.#uiManager.focusMainContainer();\n }, 0);\n }\n editor.div.remove();\n editor.isAttachedToDOM = false;\n if (!this.#isCleaningUp) {\n this.addInkEditorIfNeeded(false);\n }\n }\n changeParent(editor) {\n if (editor.parent === this) {\n return;\n }\n if (editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor.annotationElementId);\n _editor.AnnotationEditor.deleteAnnotationElement(editor);\n editor.annotationElementId = null;\n }\n this.attach(editor);\n editor.parent?.detach(editor);\n editor.setParent(this);\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n }\n add(editor) {\n this.changeParent(editor);\n this.#uiManager.addEditor(editor);\n this.attach(editor);\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n editor.fixAndSetPosition();\n editor.onceAdded();\n this.#uiManager.addToAnnotationStorage(editor);\n }\n moveEditorInDOM(editor) {\n if (!editor.isAttachedToDOM) {\n return;\n }\n const {\n activeElement\n } = document;\n if (editor.div.contains(activeElement)) {\n editor._focusEventsAllowed = false;\n setTimeout(() => {\n if (!editor.div.contains(document.activeElement)) {\n editor.div.addEventListener(\"focusin\", () => {\n editor._focusEventsAllowed = true;\n }, {\n once: true\n });\n activeElement.focus();\n } else {\n editor._focusEventsAllowed = true;\n }\n }, 0);\n }\n editor._structTreeParentId = this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);\n }\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.rebuild();\n } else {\n this.add(editor);\n }\n }\n addUndoableEditor(editor) {\n const cmd = () => editor._uiManager.rebuild(editor);\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n getNextId() {\n return this.#uiManager.getId();\n }\n #createNewEditor(params) {\n switch (this.#uiManager.getMode()) {\n case _util.AnnotationEditorType.FREETEXT:\n return new _freetext.FreeTextEditor(params);\n case _util.AnnotationEditorType.INK:\n return new _ink.InkEditor(params);\n case _util.AnnotationEditorType.STAMP:\n return new _stamp.StampEditor(params);\n }\n return null;\n }\n pasteEditor(mode, params) {\n this.#uiManager.updateToolbar(mode);\n this.#uiManager.updateMode(mode);\n const {\n offsetX,\n offsetY\n } = this.#getCenterPoint();\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: offsetX,\n y: offsetY,\n uiManager: this.#uiManager,\n isCentered: true,\n ...params\n });\n if (editor) {\n this.add(editor);\n }\n }\n deserialize(data) {\n switch (data.annotationType ?? data.annotationEditorType) {\n case _util.AnnotationEditorType.FREETEXT:\n return _freetext.FreeTextEditor.deserialize(data, this, this.#uiManager);\n case _util.AnnotationEditorType.INK:\n return _ink.InkEditor.deserialize(data, this, this.#uiManager);\n case _util.AnnotationEditorType.STAMP:\n return _stamp.StampEditor.deserialize(data, this, this.#uiManager);\n }\n return null;\n }\n #createAndAddNewEditor(event, isCentered) {\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY,\n uiManager: this.#uiManager,\n isCentered\n });\n if (editor) {\n this.add(editor);\n }\n return editor;\n }\n #getCenterPoint() {\n const {\n x,\n y,\n width,\n height\n } = this.div.getBoundingClientRect();\n const tlX = Math.max(0, x);\n const tlY = Math.max(0, y);\n const brX = Math.min(window.innerWidth, x + width);\n const brY = Math.min(window.innerHeight, y + height);\n const centerX = (tlX + brX) / 2 - x;\n const centerY = (tlY + brY) / 2 - y;\n const [offsetX, offsetY] = this.viewport.rotation % 180 === 0 ? [centerX, centerY] : [centerY, centerX];\n return {\n offsetX,\n offsetY\n };\n }\n addNewEditor() {\n this.#createAndAddNewEditor(this.#getCenterPoint(), true);\n }\n setSelected(editor) {\n this.#uiManager.setSelected(editor);\n }\n toggleSelected(editor) {\n this.#uiManager.toggleSelected(editor);\n }\n isSelected(editor) {\n return this.#uiManager.isSelected(editor);\n }\n unselect(editor) {\n this.#uiManager.unselect(editor);\n }\n pointerup(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n if (!this.#hadPointerDown) {\n return;\n }\n this.#hadPointerDown = false;\n if (!this.#allowClick) {\n this.#allowClick = true;\n return;\n }\n if (this.#uiManager.getMode() === _util.AnnotationEditorType.STAMP) {\n this.#uiManager.unselectAll();\n return;\n }\n this.#createAndAddNewEditor(event, false);\n }\n pointerdown(event) {\n if (this.#hadPointerDown) {\n this.#hadPointerDown = false;\n return;\n }\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n this.#hadPointerDown = true;\n const editor = this.#uiManager.getActive();\n this.#allowClick = !editor || editor.isEmpty();\n }\n findNewParent(editor, x, y) {\n const layer = this.#uiManager.findParent(x, y);\n if (layer === null || layer === this) {\n return false;\n }\n layer.changeParent(editor);\n return true;\n }\n destroy() {\n if (this.#uiManager.getActive()?.parent === this) {\n this.#uiManager.commitOrRemove();\n this.#uiManager.setActiveEditor(null);\n }\n for (const editor of this.#editors.values()) {\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n editor.setParent(null);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n }\n this.div = null;\n this.#editors.clear();\n this.#uiManager.removeLayer(this);\n }\n #cleanup() {\n this.#isCleaningUp = true;\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n this.#isCleaningUp = false;\n }\n render({\n viewport\n }) {\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, viewport);\n for (const editor of this.#uiManager.getEditors(this.pageIndex)) {\n this.add(editor);\n }\n this.updateMode();\n }\n update({\n viewport\n }) {\n this.#uiManager.commitOrRemove();\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, {\n rotation: viewport.rotation\n });\n this.updateMode();\n }\n get pageDimensions() {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n return [pageWidth, pageHeight];\n }\n}\nexports.AnnotationEditorLayer = AnnotationEditorLayer;\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FreeTextEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _tools = __w_pdfjs_require__(5);\nvar _editor = __w_pdfjs_require__(4);\nvar _annotation_layer = __w_pdfjs_require__(29);\nclass FreeTextEditor extends _editor.AnnotationEditor {\n #boundEditorDivBlur = this.editorDivBlur.bind(this);\n #boundEditorDivFocus = this.editorDivFocus.bind(this);\n #boundEditorDivInput = this.editorDivInput.bind(this);\n #boundEditorDivKeydown = this.editorDivKeydown.bind(this);\n #color;\n #content = \"\";\n #editorDivId = `${this.id}-editor`;\n #fontSize;\n #initialData = null;\n static _freeTextDefaultContent = \"\";\n static _internalPadding = 0;\n static _defaultColor = null;\n static _defaultFontSize = 10;\n static get _keyboardManager() {\n const proto = FreeTextEditor.prototype;\n const arrowChecker = self => self.isEmpty();\n const small = _tools.AnnotationEditorUIManager.TRANSLATE_SMALL;\n const big = _tools.AnnotationEditorUIManager.TRANSLATE_BIG;\n return (0, _util.shadow)(this, \"_keyboardManager\", new _tools.KeyboardManager([[[\"ctrl+s\", \"mac+meta+s\", \"ctrl+p\", \"mac+meta+p\"], proto.commitOrRemove, {\n bubbles: true\n }], [[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], proto.commitOrRemove], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto._translateEmpty, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto._translateEmpty, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto._translateEmpty, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto._translateEmpty, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto._translateEmpty, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto._translateEmpty, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto._translateEmpty, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto._translateEmpty, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n static _type = \"freetext\";\n constructor(params) {\n super({\n ...params,\n name: \"freeTextEditor\"\n });\n this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n, {\n strings: [\"free_text2_default_content\", \"editor_free_text2_aria_label\"]\n });\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n this.#updateFontSize(value);\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n this.#updateColor(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]];\n }\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];\n }\n #updateFontSize(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - this.#fontSize) * this.parentScale);\n this.#fontSize = size;\n this.#setEditorDimensions();\n };\n const savedFontsize = this.#fontSize;\n this.addCommands({\n cmd: () => {\n setFontsize(fontSize);\n },\n undo: () => {\n setFontsize(savedFontsize);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.#color;\n this.addCommands({\n cmd: () => {\n this.#color = this.editorDiv.style.color = color;\n },\n undo: () => {\n this.#color = this.editorDiv.style.color = savedColor;\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n _translateEmpty(x, y) {\n this._uiManager.translateSelectedEditors(x, y, true);\n }\n getInitialTranslation() {\n const scale = this.parentScale;\n return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale];\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(false);\n this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this._isDraggable = false;\n this.div.removeAttribute(\"aria-activedescendant\");\n this.editorDiv.addEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.addEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.addEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.addEventListener(\"input\", this.#boundEditorDivInput);\n }\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.setAttribute(\"aria-activedescendant\", this.#editorDivId);\n this._isDraggable = true;\n this.editorDiv.removeEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.removeEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.removeEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.removeEventListener(\"input\", this.#boundEditorDivInput);\n this.div.focus({\n preventScroll: true\n });\n this.isEditing = false;\n this.parent.div.classList.add(\"freeTextEditing\");\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n onceAdded() {\n if (this.width) {\n this.#cheatInitialRect();\n return;\n }\n this.enableEditMode();\n this.editorDiv.focus();\n if (this._initialOptions?.isCentered) {\n this.center();\n }\n this._initialOptions = null;\n }\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n remove() {\n this.isEditing = false;\n if (this.parent) {\n this.parent.setEditingState(true);\n this.parent.div.classList.add(\"freeTextEditing\");\n }\n super.remove();\n }\n #extractText() {\n const divs = this.editorDiv.getElementsByTagName(\"div\");\n if (divs.length === 0) {\n return this.editorDiv.innerText;\n }\n const buffer = [];\n for (const div of divs) {\n buffer.push(div.innerText.replace(/\\r\\n?|\\n/, \"\"));\n }\n return buffer.join(\"\\n\");\n }\n #setEditorDimensions() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n let rect;\n if (this.isAttachedToDOM) {\n rect = this.div.getBoundingClientRect();\n } else {\n const {\n currentLayer,\n div\n } = this;\n const savedDisplay = div.style.display;\n div.style.display = \"hidden\";\n currentLayer.div.append(this.div);\n rect = div.getBoundingClientRect();\n div.remove();\n div.style.display = savedDisplay;\n }\n if (this.rotation % 180 === this.parentRotation % 180) {\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n } else {\n this.width = rect.height / parentWidth;\n this.height = rect.width / parentHeight;\n }\n this.fixAndSetPosition();\n }\n commit() {\n if (!this.isInEditMode()) {\n return;\n }\n super.commit();\n this.disableEditMode();\n const savedText = this.#content;\n const newText = this.#content = this.#extractText().trimEnd();\n if (savedText === newText) {\n return;\n }\n const setText = text => {\n this.#content = text;\n if (!text) {\n this.remove();\n return;\n }\n this.#setContent();\n this._uiManager.rebuild(this);\n this.#setEditorDimensions();\n };\n this.addCommands({\n cmd: () => {\n setText(newText);\n },\n undo: () => {\n setText(savedText);\n },\n mustExec: false\n });\n this.#setEditorDimensions();\n }\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n enterInEditMode() {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n dblclick(event) {\n this.enterInEditMode();\n }\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enterInEditMode();\n event.preventDefault();\n }\n }\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n editorDivFocus(event) {\n this.isEditing = true;\n }\n editorDivBlur(event) {\n this.isEditing = false;\n }\n editorDivInput(event) {\n this.parent.div.classList.toggle(\"freeTextEditing\", this.isEmpty());\n }\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", this.#editorDivId);\n this.enableEditing();\n _editor.AnnotationEditor._l10nPromise.get(\"editor_free_text2_aria_label\").then(msg => this.editorDiv?.setAttribute(\"aria-label\", msg));\n _editor.AnnotationEditor._l10nPromise.get(\"free_text2_default_content\").then(msg => this.editorDiv?.setAttribute(\"default-content\", msg));\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n (0, _tools.bindEvents)(this, this.div, [\"dblclick\", \"keydown\"]);\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.annotationElementId) {\n const {\n position\n } = this.#initialData;\n let [tx, ty] = this.getInitialTranslation();\n [tx, ty] = this.pageTranslationToScreen(tx, ty);\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n let posX, posY;\n switch (this.rotation) {\n case 0:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY + this.height - (position[1] - pageY) / pageHeight;\n break;\n case 90:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [ty, -tx];\n break;\n case 180:\n posX = baseX - this.width + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [-tx, -ty];\n break;\n case 270:\n posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth;\n posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight;\n [tx, ty] = [-ty, tx];\n break;\n }\n this.setAt(posX * parentWidth, posY * parentHeight, tx, ty);\n } else {\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n this.#setContent();\n this._isDraggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this._isDraggable = false;\n this.editorDiv.contentEditable = true;\n }\n return this.div;\n }\n #setContent() {\n this.editorDiv.replaceChildren();\n if (!this.#content) {\n return;\n }\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n this.editorDiv.append(div);\n }\n }\n get contentDiv() {\n return this.editorDiv;\n }\n static deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof _annotation_layer.FreeTextAnnotationElement) {\n const {\n data: {\n defaultAppearanceData: {\n fontSize,\n fontColor\n },\n rect,\n rotation,\n id\n },\n textContent,\n textPosition,\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n if (!textContent || textContent.length === 0) {\n return null;\n }\n initialData = data = {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color: Array.from(fontColor),\n fontSize,\n value: textContent.join(\"\\n\"),\n position: textPosition,\n pageIndex: pageNumber - 1,\n rect,\n rotation,\n id,\n deleted: false\n };\n }\n const editor = super.deserialize(data, parent, uiManager);\n editor.#fontSize = data.fontSize;\n editor.#color = _util.Util.makeHexColor(...data.color);\n editor.#content = data.value;\n editor.annotationElementId = data.id || null;\n editor.#initialData = initialData;\n return editor;\n }\n serialize(isForCopying = false) {\n if (this.isEmpty()) {\n return null;\n }\n if (this.deleted) {\n return {\n pageIndex: this.pageIndex,\n id: this.annotationElementId,\n deleted: true\n };\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n const rect = this.getRect(padding, padding);\n const color = _editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color);\n const serialized = {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color,\n fontSize: this.#fontSize,\n value: this.#content,\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n return serialized;\n }\n if (this.annotationElementId && !this.#hasElementChanged(serialized)) {\n return null;\n }\n serialized.id = this.annotationElementId;\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n value,\n fontSize,\n color,\n rect,\n pageIndex\n } = this.#initialData;\n return serialized.value !== value || serialized.fontSize !== fontSize || serialized.rect.some((x, i) => Math.abs(x - rect[i]) >= 1) || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex;\n }\n #cheatInitialRect(delayed = false) {\n if (!this.annotationElementId) {\n return;\n }\n this.#setEditorDimensions();\n if (!delayed && (this.width === 0 || this.height === 0)) {\n setTimeout(() => this.#cheatInitialRect(true), 0);\n return;\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n this.#initialData.rect = this.getRect(padding, padding);\n }\n}\nexports.FreeTextEditor = FreeTextEditor;\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StampAnnotationElement = exports.InkAnnotationElement = exports.FreeTextAnnotationElement = exports.AnnotationLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _scripting_utils = __w_pdfjs_require__(30);\nvar _displayL10n_utils = __w_pdfjs_require__(31);\nvar _xfa_layer = __w_pdfjs_require__(32);\nconst DEFAULT_TAB_INDEX = 1000;\nconst DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n case \"Sig\":\n return new SignatureWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\nclass AnnotationElement {\n #hasBorder = false;\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this.parent = parameters.parent;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n if (createQuadrilaterals) {\n this._createQuadrilaterals();\n }\n }\n static _hasPopupData({\n titleObj,\n contentsObj,\n richText\n }) {\n return !!(titleObj?.str || contentsObj?.str || richText?.str);\n }\n get hasPopupData() {\n return AnnotationElement._hasPopupData(this.data);\n }\n _createContainer(ignoreBorder) {\n const {\n data,\n parent: {\n page,\n viewport\n }\n } = this;\n const container = document.createElement(\"section\");\n container.setAttribute(\"data-annotation-id\", data.id);\n if (!(this instanceof WidgetAnnotationElement)) {\n container.tabIndex = DEFAULT_TAB_INDEX;\n }\n container.style.zIndex = this.parent.zIndex++;\n if (this.data.popupRef) {\n container.setAttribute(\"aria-haspopup\", \"dialog\");\n }\n if (data.noRotate) {\n container.classList.add(\"norotate\");\n }\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n if (!data.rect || this instanceof PopupAnnotationElement) {\n const {\n rotation\n } = data;\n if (!data.hasOwnCanvas && rotation !== 0) {\n this.setRotation(rotation, container);\n }\n return container;\n }\n const {\n width,\n height\n } = getRectDims(data.rect);\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n } else if (this instanceof RadioButtonWidgetAnnotationElement) {\n const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n default:\n break;\n }\n const borderColor = data.borderColor || null;\n if (borderColor) {\n this.#hasBorder = true;\n container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n container.style.top = `${100 * (rect[1] - pageY) / pageHeight}%`;\n const {\n rotation\n } = data;\n if (data.hasOwnCanvas || rotation === 0) {\n container.style.width = `${100 * width / pageWidth}%`;\n container.style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n return container;\n }\n setRotation(angle, container = this.container) {\n if (!this.data.rect) {\n return;\n }\n const {\n pageWidth,\n pageHeight\n } = this.parent.viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n const colorType = color[0];\n const colorArray = color.slice(1);\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${colorType}_HTML`](colorArray);\n this.annotationStorage.setValue(this.data.id, {\n [styleName]: _scripting_utils.ColorConverters[`${colorType}_rgb`](colorArray)\n });\n };\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const {\n display\n } = event.detail;\n const hidden = display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noView: hidden,\n noPrint: display === 1 || display === 2\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n noPrint: !event.detail.print\n });\n },\n hidden: event => {\n const {\n hidden\n } = event.detail;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noPrint: hidden,\n noView: hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n event.target.disabled = event.detail.readonly;\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n action?.(jsEvent);\n }\n }\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n if (!storedData) {\n return;\n }\n const commonActions = this._commonActions;\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n if (action) {\n const eventProxy = {\n detail: {\n [actionName]: detail\n },\n target: element\n };\n action(eventProxy);\n delete storedData[actionName];\n }\n }\n }\n _createQuadrilaterals() {\n if (!this.container) {\n return;\n }\n const {\n quadPoints\n } = this.data;\n if (!quadPoints) {\n return;\n }\n const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect;\n if (quadPoints.length === 1) {\n const [, {\n x: trX,\n y: trY\n }, {\n x: blX,\n y: blY\n }] = quadPoints[0];\n if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) {\n return;\n }\n }\n const {\n style\n } = this.container;\n let svgBuffer;\n if (this.#hasBorder) {\n const {\n borderColor,\n borderWidth\n } = style;\n style.borderWidth = 0;\n svgBuffer = [\"url('data:image/svg+xml;utf8,\", ``, ``];\n this.container.classList.add(\"hasBorder\");\n }\n const width = rectTrX - rectBlX;\n const height = rectTrY - rectBlY;\n const {\n svgFactory\n } = this;\n const svg = svgFactory.createElement(\"svg\");\n svg.classList.add(\"quadrilateralsContainer\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n const defs = svgFactory.createElement(\"defs\");\n svg.append(defs);\n const clipPath = svgFactory.createElement(\"clipPath\");\n const id = `clippath_${this.data.id}`;\n clipPath.setAttribute(\"id\", id);\n clipPath.setAttribute(\"clipPathUnits\", \"objectBoundingBox\");\n defs.append(clipPath);\n for (const [, {\n x: trX,\n y: trY\n }, {\n x: blX,\n y: blY\n }] of quadPoints) {\n const rect = svgFactory.createElement(\"rect\");\n const x = (blX - rectBlX) / width;\n const y = (rectTrY - trY) / height;\n const rectWidth = (trX - blX) / width;\n const rectHeight = (trY - blY) / height;\n rect.setAttribute(\"x\", x);\n rect.setAttribute(\"y\", y);\n rect.setAttribute(\"width\", rectWidth);\n rect.setAttribute(\"height\", rectHeight);\n clipPath.append(rect);\n svgBuffer?.push(``);\n }\n if (this.#hasBorder) {\n svgBuffer.push(`')`);\n style.backgroundImage = svgBuffer.join(\"\");\n }\n this.container.append(svg);\n this.container.style.clipPath = `url(#${id})`;\n }\n _createPopup() {\n const {\n container,\n data\n } = this;\n container.setAttribute(\"aria-haspopup\", \"dialog\");\n const popup = new PopupAnnotationElement({\n data: {\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n parentRect: data.rect,\n borderStyle: 0,\n id: `popup_${data.id}`,\n rotation: data.rotation\n },\n parent: this.parent,\n elements: [this]\n });\n this.parent.div.append(popup.render());\n }\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n _getElementsByName(name, skipId = null) {\n const fields = [];\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n if (id === skipId) {\n continue;\n }\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n return fields;\n }\n for (const domElement of document.getElementsByName(name)) {\n const {\n exportValue\n } = domElement;\n const id = domElement.getAttribute(\"data-element-id\");\n if (id === skipId) {\n continue;\n }\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n return fields;\n }\n show() {\n if (this.container) {\n this.container.hidden = false;\n }\n this.popup?.maybeShow();\n }\n hide() {\n if (this.container) {\n this.container.hidden = true;\n }\n this.popup?.forceHide();\n }\n getElementsToTriggerPopup() {\n return this.container;\n }\n addHighlightArea() {\n const triggers = this.getElementsToTriggerPopup();\n if (Array.isArray(triggers)) {\n for (const element of triggers) {\n element.classList.add(\"highlightArea\");\n }\n } else {\n triggers.classList.add(\"highlightArea\");\n }\n }\n _editOnDoubleClick() {\n const {\n annotationEditorType: mode,\n data: {\n id: editId\n }\n } = this;\n this.container.addEventListener(\"dblclick\", () => {\n this.linkService.eventBus?.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode,\n editId\n });\n });\n }\n}\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n isBound = true;\n } else if (data.attachment) {\n this._bindAttachment(link, data.attachment);\n isBound = true;\n } else if (data.setOCGState) {\n this.#bindSetOCGState(link, data.setOCGState);\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n isBound = true;\n }\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n isBound = true;\n }\n }\n this.container.classList.add(\"linkAnnotation\");\n if (isBound) {\n this.container.append(link);\n }\n return this.container;\n }\n #setInternalLink() {\n this.container.setAttribute(\"data-internal-link\", \"\");\n }\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n return false;\n };\n if (destination || destination === \"\") {\n this.#setInternalLink();\n }\n }\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindAttachment(link, attachment) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.downloadManager?.openOrDownloadData(this.container, attachment.content, attachment.filename);\n return false;\n };\n this.#setInternalLink();\n }\n #bindSetOCGState(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeSetOCGState(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n if (!jsName) {\n continue;\n }\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n if (!link.onclick) {\n link.onclick = () => false;\n }\n this.#setInternalLink();\n }\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n this.#setInternalLink();\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n return;\n }\n link.onclick = () => {\n otherClickAction?.();\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n const storage = this.annotationStorage;\n const allIds = [];\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n default:\n continue;\n }\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n return false;\n };\n }\n}\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n }\n render() {\n this.container.classList.add(\"textAnnotation\");\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.append(image);\n return this.container;\n }\n}\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n return this.container;\n }\n showElementAndHideCanvas(element) {\n if (this.data.hasOwnCanvas) {\n if (element.previousSibling?.nodeName === \"CANVAS\") {\n element.previousSibling.hidden = true;\n }\n element.hidden = false;\n }\n }\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = _util.FeatureTest.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n _setEventListener(element, elementData, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n if (baseName === \"blur\") {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n elementData.focused = false;\n } else if (baseName === \"focus\") {\n if (elementData.focused) {\n return;\n }\n elementData.focused = true;\n }\n if (!valueGetter) {\n return;\n }\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n _setEventListeners(element, elementData, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n if (eventName === \"Focus\" || eventName === \"Blur\") {\n elementData ||= {\n focused: false\n };\n }\n this._setEventListener(element, elementData, baseName, eventName, getter);\n if (eventName === \"Focus\" && !this.data.actions?.Blur) {\n this._setEventListener(element, elementData, \"blur\", \"Blur\", null);\n } else if (eventName === \"Blur\" && !this.data.actions?.Focus) {\n this._setEventListener(element, elementData, \"focus\", \"Focus\", null);\n }\n }\n }\n }\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n const BORDER_SIZE = 2;\n const roundToOneDecimal = x => Math.round(10 * x) / 10;\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR));\n }\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n element.setAttribute(\"aria-required\", isRequired);\n }\n}\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.classList.add(\"textWidgetAnnotation\");\n let element = null;\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let textContent = storedData.value || \"\";\n const maxLen = storage.getValue(id, {\n charLimit: this.data.maxLen\n }).charLimit;\n if (maxLen && textContent.length > maxLen) {\n textContent = textContent.slice(0, maxLen);\n }\n let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join(\"\\n\") || null;\n if (fieldFormattedValues && this.data.comb) {\n fieldFormattedValues = fieldFormattedValues.replaceAll(/\\s+/g, \"\");\n }\n const elementData = {\n userValue: textContent,\n formattedValue: fieldFormattedValues,\n lastCommittedValue: null,\n commitKey: 1,\n focused: false\n };\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = fieldFormattedValues ?? textContent;\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", fieldFormattedValues ?? textContent);\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n this._setRequired(element, this.data.required);\n if (maxLen) {\n element.maxLength = maxLen;\n }\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n elementData.formattedValue = null;\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n event.target.scrollLeft = 0;\n };\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n if (elementData.focused) {\n return;\n }\n const {\n target\n } = event;\n if (elementData.userValue) {\n target.value = elementData.userValue;\n }\n elementData.lastCommittedValue = target.value;\n elementData.commitKey = 1;\n elementData.focused = true;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n this.showElementAndHideCanvas(jsEvent.target);\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n storage.setValue(id, {\n formattedValue\n });\n },\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n },\n charLimit: event => {\n const {\n charLimit\n } = event.detail;\n const {\n target\n } = event;\n if (charLimit === 0) {\n target.removeAttribute(\"maxLength\");\n return;\n }\n target.setAttribute(\"maxLength\", charLimit);\n let value = elementData.userValue;\n if (!value || value.length <= charLimit) {\n return;\n }\n value = value.slice(0, charLimit);\n target.value = elementData.userValue = value;\n storage.setValue(id, {\n value\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: target.selectionStart,\n selEnd: target.selectionEnd\n }\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n elementData.commitKey = 1;\n let commitKey = -1;\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\" && !this.data.multiLine) {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n elementData.commitKey = 3;\n }\n if (commitKey === -1) {\n return;\n }\n const {\n value\n } = event.target;\n if (elementData.lastCommittedValue === value) {\n return;\n }\n elementData.lastCommittedValue = value;\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n elementData.focused = false;\n const {\n value\n } = event.target;\n elementData.userValue = value;\n if (elementData.lastCommittedValue !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: elementData.commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n _blurListener(event);\n });\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n elementData.lastCommittedValue = null;\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n if (match) {\n selStart -= match[0].length;\n }\n break;\n }\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n if (match) {\n selEnd += match[0].length;\n }\n break;\n }\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n break;\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n break;\n }\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n this._setEventListeners(element, elementData, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n this._setTextStyle(element);\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass SignatureWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: !!parameters.data.hasOwnCanvas\n });\n }\n}\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n this.container.classList.add(\"buttonWidgetAnnotation\", \"checkBox\");\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"checkbox\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"buttonWidgetAnnotation\", \"radioButton\");\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"radio\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n render() {\n const container = super.render();\n container.classList.add(\"buttonWidgetAnnotation\", \"pushButton\");\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n const linkElement = container.lastChild;\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n return container;\n }\n}\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"choiceWidgetAnnotation\");\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n this._setRequired(selectElement, this.data.required);\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n selectElement.append(optionElement);\n }\n let removeEmptyEntry = null;\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n const getValue = isExport => {\n const name = isExport ? \"value\" : \"textContent\";\n const {\n options,\n multiple\n } = selectElement;\n if (!multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n let selectedValues = getValue(false);\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n removeEmptyEntry?.();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n if (i === -1) {\n options[0].selected = true;\n }\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n storage.setValue(id, {\n value: null,\n items: []\n });\n selectedValues = getValue(false);\n },\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n items(event) {\n const {\n items\n } = event.detail;\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n indices(event) {\n const indices = new Set(event.detail.indices);\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(true);\n storage.setValue(id, {\n value: exportValue\n });\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value: selectedValues,\n changeEx: exportValue,\n willCommit: false,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n this._setEventListeners(selectElement, null, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"], [\"input\", \"Validate\"]], event => event.target.value);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(true)\n });\n });\n }\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n this._setBackgroundColor(selectElement);\n this._setDefaultPropertiesFromJS(selectElement);\n this.container.append(selectElement);\n return this.container;\n }\n}\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const {\n data,\n elements\n } = parameters;\n super(parameters, {\n isRenderable: AnnotationElement._hasPopupData(data)\n });\n this.elements = elements;\n }\n render() {\n this.container.classList.add(\"popupAnnotation\");\n const popup = new PopupElement({\n container: this.container,\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText,\n rect: this.data.rect,\n parentRect: this.data.parentRect || null,\n parent: this.parent,\n elements: this.elements,\n open: this.data.open\n });\n const elementIds = [];\n for (const element of this.elements) {\n element.popup = popup;\n elementIds.push(element.data.id);\n element.addHighlightArea();\n }\n this.container.setAttribute(\"aria-controls\", elementIds.map(id => `${_util.AnnotationPrefix}${id}`).join(\",\"));\n return this.container;\n }\n}\nclass PopupElement {\n #dateTimePromise = null;\n #boundKeyDown = this.#keyDown.bind(this);\n #boundHide = this.#hide.bind(this);\n #boundShow = this.#show.bind(this);\n #boundToggle = this.#toggle.bind(this);\n #color = null;\n #container = null;\n #contentsObj = null;\n #elements = null;\n #parent = null;\n #parentRect = null;\n #pinned = false;\n #popup = null;\n #rect = null;\n #richText = null;\n #titleObj = null;\n #wasVisible = false;\n constructor({\n container,\n color,\n elements,\n titleObj,\n modificationDate,\n contentsObj,\n richText,\n parent,\n rect,\n parentRect,\n open\n }) {\n this.#container = container;\n this.#titleObj = titleObj;\n this.#contentsObj = contentsObj;\n this.#richText = richText;\n this.#parent = parent;\n this.#color = color;\n this.#rect = rect;\n this.#parentRect = parentRect;\n this.#elements = elements;\n const dateObject = _display_utils.PDFDateString.toDateObject(modificationDate);\n if (dateObject) {\n this.#dateTimePromise = parent.l10n.get(\"annotation_date_string\", {\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n }\n this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup());\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this.#boundToggle);\n element.addEventListener(\"mouseenter\", this.#boundShow);\n element.addEventListener(\"mouseleave\", this.#boundHide);\n element.classList.add(\"popupTriggerArea\");\n }\n for (const element of elements) {\n element.container?.addEventListener(\"keydown\", this.#boundKeyDown);\n }\n this.#container.hidden = true;\n if (open) {\n this.#toggle();\n }\n }\n render() {\n if (this.#popup) {\n return;\n }\n const {\n page: {\n view\n },\n viewport: {\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n }\n } = this.#parent;\n const popup = this.#popup = document.createElement(\"div\");\n popup.className = \"popup\";\n if (this.#color) {\n const baseColor = popup.style.outlineColor = _util.Util.makeHexColor(...this.#color);\n if (CSS.supports(\"background-color\", \"color-mix(in srgb, red 30%, white)\")) {\n popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`;\n } else {\n const BACKGROUND_ENLIGHT = 0.7;\n popup.style.backgroundColor = _util.Util.makeHexColor(...this.#color.map(c => Math.floor(BACKGROUND_ENLIGHT * (255 - c) + c)));\n }\n }\n const header = document.createElement(\"span\");\n header.className = \"header\";\n const title = document.createElement(\"h1\");\n header.append(title);\n ({\n dir: title.dir,\n str: title.textContent\n } = this.#titleObj);\n popup.append(header);\n if (this.#dateTimePromise) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.classList.add(\"popupDate\");\n this.#dateTimePromise.then(localized => {\n modificationDate.textContent = localized;\n });\n header.append(modificationDate);\n }\n const contentsObj = this.#contentsObj;\n const richText = this.#richText;\n if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: richText.html,\n intent: \"richText\",\n div: popup\n });\n popup.lastChild.classList.add(\"richText\", \"popupContent\");\n } else {\n const contents = this._formatContents(contentsObj);\n popup.append(contents);\n }\n let useParentRect = !!this.#parentRect;\n let rect = useParentRect ? this.#parentRect : this.#rect;\n for (const element of this.#elements) {\n if (!rect || _util.Util.intersect(element.data.rect, rect) !== null) {\n rect = element.data.rect;\n useParentRect = true;\n break;\n }\n }\n const normalizedRect = _util.Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]);\n const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5;\n const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0;\n const popupLeft = normalizedRect[0] + parentWidth;\n const popupTop = normalizedRect[1];\n const {\n style\n } = this.#container;\n style.left = `${100 * (popupLeft - pageX) / pageWidth}%`;\n style.top = `${100 * (popupTop - pageY) / pageHeight}%`;\n this.#container.append(popup);\n }\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.classList.add(\"popupContent\");\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n return p;\n }\n #keyDown(event) {\n if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {\n return;\n }\n if (event.key === \"Enter\" || event.key === \"Escape\" && this.#pinned) {\n this.#toggle();\n }\n }\n #toggle() {\n this.#pinned = !this.#pinned;\n if (this.#pinned) {\n this.#show();\n this.#container.addEventListener(\"click\", this.#boundToggle);\n this.#container.addEventListener(\"keydown\", this.#boundKeyDown);\n } else {\n this.#hide();\n this.#container.removeEventListener(\"click\", this.#boundToggle);\n this.#container.removeEventListener(\"keydown\", this.#boundKeyDown);\n }\n }\n #show() {\n if (!this.#popup) {\n this.render();\n }\n if (!this.isVisible) {\n this.#container.hidden = false;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000;\n } else if (this.#pinned) {\n this.#container.classList.add(\"focused\");\n }\n }\n #hide() {\n this.#container.classList.remove(\"focused\");\n if (this.#pinned || !this.isVisible) {\n return;\n }\n this.#container.hidden = true;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000;\n }\n forceHide() {\n this.#wasVisible = this.isVisible;\n if (!this.#wasVisible) {\n return;\n }\n this.#container.hidden = true;\n }\n maybeShow() {\n if (!this.#wasVisible) {\n return;\n }\n this.#wasVisible = false;\n this.#container.hidden = false;\n }\n get isVisible() {\n return this.#container.hidden === false;\n }\n}\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.textContent = parameters.data.textContent;\n this.textPosition = parameters.data.textPosition;\n this.annotationEditorType = _util.AnnotationEditorType.FREETEXT;\n }\n render() {\n this.container.classList.add(\"freeTextAnnotation\");\n if (this.textContent) {\n const content = document.createElement(\"div\");\n content.classList.add(\"annotationTextContent\");\n content.setAttribute(\"role\", \"comment\");\n for (const line of this.textContent) {\n const lineSpan = document.createElement(\"span\");\n lineSpan.textContent = line;\n content.append(lineSpan);\n }\n this.container.append(content);\n }\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this._editOnDoubleClick();\n return this.container;\n }\n}\nexports.FreeTextAnnotationElement = FreeTextAnnotationElement;\nclass LineAnnotationElement extends AnnotationElement {\n #line = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"lineAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.#line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#line;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass SquareAnnotationElement extends AnnotationElement {\n #square = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"squareAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.#square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#square;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass CircleAnnotationElement extends AnnotationElement {\n #circle = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"circleAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.#circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#circle;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolylineAnnotationElement extends AnnotationElement {\n #polyline = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n points = points.join(\" \");\n const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polyline;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"caretAnnotation\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n}\nclass InkAnnotationElement extends AnnotationElement {\n #polylines = [];\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n this.annotationEditorType = _util.AnnotationEditorType.INK;\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n for (const inkList of data.inkLists) {\n let points = [];\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n this.#polylines.push(polyline);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n svg.append(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polylines;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nexports.InkAnnotationElement = InkAnnotationElement;\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"highlightAnnotation\");\n return this.container;\n }\n}\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"underlineAnnotation\");\n return this.container;\n }\n}\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"squigglyAnnotation\");\n return this.container;\n }\n}\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"strikeoutAnnotation\");\n return this.container;\n }\n}\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"stampAnnotation\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n}\nexports.StampAnnotationElement = StampAnnotationElement;\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n #trigger = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename, true);\n this.content = content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n render() {\n this.container.classList.add(\"fileAttachmentAnnotation\");\n const {\n container,\n data\n } = this;\n let trigger;\n if (data.hasAppearance || data.fillAlpha === 0) {\n trigger = document.createElement(\"div\");\n } else {\n trigger = document.createElement(\"img\");\n trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(data.name) ? \"paperclip\" : \"pushpin\"}.svg`;\n if (data.fillAlpha && data.fillAlpha < 1) {\n trigger.style = `filter: opacity(${Math.round(data.fillAlpha * 100)}%);`;\n }\n }\n trigger.addEventListener(\"dblclick\", this.#download.bind(this));\n this.#trigger = trigger;\n const {\n isMac\n } = _util.FeatureTest.platform;\n container.addEventListener(\"keydown\", evt => {\n if (evt.key === \"Enter\" && (isMac ? evt.metaKey : evt.ctrlKey)) {\n this.#download();\n }\n });\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n } else {\n trigger.classList.add(\"popupTriggerArea\");\n }\n container.append(trigger);\n return container;\n }\n getElementsToTriggerPopup() {\n return this.#trigger;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n #download() {\n this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);\n }\n}\nclass AnnotationLayer {\n #accessibilityManager = null;\n #annotationCanvasMap = null;\n #editableAnnotations = new Map();\n constructor({\n div,\n accessibilityManager,\n annotationCanvasMap,\n l10n,\n page,\n viewport\n }) {\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationCanvasMap = annotationCanvasMap;\n this.l10n = l10n;\n this.page = page;\n this.viewport = viewport;\n this.zIndex = 0;\n this.l10n ||= _displayL10n_utils.NullL10n;\n }\n #appendElement(element, id) {\n const contentElement = element.firstChild || element;\n contentElement.id = `${_util.AnnotationPrefix}${id}`;\n this.div.append(element);\n this.#accessibilityManager?.moveElementInDOM(this.div, element, contentElement, false);\n }\n async render(params) {\n const {\n annotations\n } = params;\n const layer = this.div;\n (0, _display_utils.setLayerDimensions)(layer, this.viewport);\n const popupToElements = new Map();\n const elementParams = {\n data: null,\n layer,\n linkService: params.linkService,\n downloadManager: params.downloadManager,\n imageResourcesPath: params.imageResourcesPath || \"\",\n renderForms: params.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: params.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: params.enableScripting === true,\n hasJSActions: params.hasJSActions,\n fieldObjects: params.fieldObjects,\n parent: this,\n elements: null\n };\n for (const data of annotations) {\n if (data.noHTML) {\n continue;\n }\n const isPopupAnnotation = data.annotationType === _util.AnnotationType.POPUP;\n if (!isPopupAnnotation) {\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (width <= 0 || height <= 0) {\n continue;\n }\n } else {\n const elements = popupToElements.get(data.id);\n if (!elements) {\n continue;\n }\n elementParams.elements = elements;\n }\n elementParams.data = data;\n const element = AnnotationElementFactory.create(elementParams);\n if (!element.isRenderable) {\n continue;\n }\n if (!isPopupAnnotation && data.popupRef) {\n const elements = popupToElements.get(data.popupRef);\n if (!elements) {\n popupToElements.set(data.popupRef, [element]);\n } else {\n elements.push(element);\n }\n }\n if (element.annotationEditorType > 0) {\n this.#editableAnnotations.set(element.data.id, element);\n }\n const rendered = element.render();\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n this.#appendElement(rendered, data.id);\n }\n this.#setAnnotationCanvasMap();\n await this.l10n.translate(layer);\n }\n update({\n viewport\n }) {\n const layer = this.div;\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(layer, {\n rotation: viewport.rotation\n });\n this.#setAnnotationCanvasMap();\n layer.hidden = false;\n }\n #setAnnotationCanvasMap() {\n if (!this.#annotationCanvasMap) {\n return;\n }\n const layer = this.div;\n for (const [id, canvas] of this.#annotationCanvasMap) {\n const element = layer.querySelector(`[data-annotation-id=\"${id}\"]`);\n if (!element) {\n continue;\n }\n const {\n firstChild\n } = element;\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else {\n firstChild.before(canvas);\n }\n }\n this.#annotationCanvasMap.clear();\n }\n getEditableAnnotations() {\n return Array.from(this.#editableAnnotations.values());\n }\n getEditableAnnotation(id) {\n return this.#editableAnnotations.get(id);\n }\n}\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 30 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\nfunction scaleAndClamp(x) {\n return Math.max(0, Math.min(255, 255 * x));\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n static G_rgb([g]) {\n g = scaleAndClamp(g);\n return [g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_rgb(color) {\n return color.map(scaleAndClamp);\n }\n static RGB_HTML(color) {\n return `#${color.map(makeColorComp).join(\"\")}`;\n }\n static T_HTML() {\n return \"#00000000\";\n }\n static T_rgb() {\n return [null];\n }\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_rgb([c, y, m, k]) {\n return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n}\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 31 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NullL10n = void 0;\nexports.getL10nFallback = getL10nFallback;\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string: \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n rendering_error: \"An error occurred while rendering the page.\",\n annotation_date_string: \"{{date}}, {{time}}\",\n printing_not_supported: \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled: \"Web fonts are disabled: unable to use embedded PDF fonts.\",\n free_text2_default_content: \"Start typing…\",\n editor_free_text2_aria_label: \"Text Editor\",\n editor_ink2_aria_label: \"Draw Editor\",\n editor_ink_canvas_aria_label: \"User-created image\",\n editor_alt_text_button_label: \"Alt text\",\n editor_alt_text_edit_button_label: \"Edit alt text\",\n editor_alt_text_decorative_tooltip: \"Marked as decorative\"\n};\n{\n DEFAULT_L10N_STRINGS.print_progress_percent = \"{{progress}}%\";\n}\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replaceAll(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n async getDirection() {\n return \"ltr\";\n },\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n async translate(element) {}\n};\nexports.NullL10n = NullL10n;\n\n/***/ }),\n/* 32 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\nvar _xfa_text = __w_pdfjs_require__(25);\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n break;\n case \"select\":\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n } else if (option.attributes.hasOwnProperty(\"selected\")) {\n delete option.attributes.selected;\n }\n }\n }\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n break;\n case \"dataId\":\n break;\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n case \"style\":\n Object.assign(html.style, value);\n break;\n case \"textContent\":\n html.textContent = value;\n break;\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n }\n }\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n const textDivs = [];\n while (stack.length > 0) {\n const [parent, i, html] = stack.at(-1);\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n const child = parent.children[++stack.at(-1)[1]];\n if (child === null) {\n continue;\n }\n const {\n name\n } = child;\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name);\n html.append(childHtml);\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n childHtml.append(node);\n }\n }\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n return {\n textDivs\n };\n }\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n}\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 33 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.InkEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _annotation_layer = __w_pdfjs_require__(29);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _tools = __w_pdfjs_require__(5);\nclass InkEditor extends _editor.AnnotationEditor {\n #baseHeight = 0;\n #baseWidth = 0;\n #boundCanvasPointermove = this.canvasPointermove.bind(this);\n #boundCanvasPointerleave = this.canvasPointerleave.bind(this);\n #boundCanvasPointerup = this.canvasPointerup.bind(this);\n #boundCanvasPointerdown = this.canvasPointerdown.bind(this);\n #currentPath2D = new Path2D();\n #disableEditing = false;\n #hasSomethingToDraw = false;\n #isCanvasInitialized = false;\n #observer = null;\n #realWidth = 0;\n #realHeight = 0;\n #requestFrameCallback = null;\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 1;\n static _type = \"ink\";\n constructor(params) {\n super({\n ...params,\n name: \"inkEditor\"\n });\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.allRawPaths = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n this._willKeepAspectRatio = true;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n, {\n strings: [\"editor_ink_canvas_aria_label\", \"editor_ink2_aria_label\"]\n });\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n this.#updateThickness(value);\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n this.#updateColor(value);\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n this.#updateOpacity(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]];\n }\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]];\n }\n #updateThickness(thickness) {\n const savedThickness = this.thickness;\n this.addCommands({\n cmd: () => {\n this.thickness = thickness;\n this.#fitToContent();\n },\n undo: () => {\n this.thickness = savedThickness;\n this.#fitToContent();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.color;\n this.addCommands({\n cmd: () => {\n this.color = color;\n this.#redraw();\n },\n undo: () => {\n this.color = savedColor;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateOpacity(opacity) {\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.addCommands({\n cmd: () => {\n this.opacity = opacity;\n this.#redraw();\n },\n undo: () => {\n this.opacity = savedOpacity;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n this.#setCanvasDims();\n }\n this.#fitToContent();\n }\n remove() {\n if (this.canvas === null) {\n return;\n }\n if (!this.isEmpty()) {\n this.commit();\n }\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n this.#observer.disconnect();\n this.#observer = null;\n super.remove();\n }\n setParent(parent) {\n if (!this.parent && parent) {\n this._uiManager.removeShouldRescale(this);\n } else if (this.parent && parent === null) {\n this._uiManager.addShouldRescale(this);\n }\n super.setParent(parent);\n }\n onScaleChanging() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const width = this.width * parentWidth;\n const height = this.height * parentHeight;\n this.setDimensions(width, height);\n }\n enableEditMode() {\n if (this.#disableEditing || this.canvas === null) {\n return;\n }\n super.enableEditMode();\n this._isDraggable = false;\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n }\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n super.disableEditMode();\n this._isDraggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n }\n onceAdded() {\n this._isDraggable = !this.isEmpty();\n }\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n #getInitialBBox() {\n const {\n parentRotation,\n parentDimensions: [width, height]\n } = this;\n switch (parentRotation) {\n case 90:\n return [0, height, height, width];\n case 180:\n return [width, height, width, height];\n case 270:\n return [width, 0, height, width];\n default:\n return [0, 0, width, height];\n }\n }\n #setStroke() {\n const {\n ctx,\n color,\n opacity,\n thickness,\n parentScale,\n scaleFactor\n } = this;\n ctx.lineWidth = thickness * parentScale / scaleFactor;\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.miterLimit = 10;\n ctx.strokeStyle = `${color}${(0, _tools.opacityToHex)(opacity)}`;\n }\n #startDrawing(x, y) {\n this.canvas.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n this.canvas.addEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.addEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.canvas.addEventListener(\"pointerup\", this.#boundCanvasPointerup);\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.isEditing = true;\n if (!this.#isCanvasInitialized) {\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.thickness ||= InkEditor._defaultThickness;\n this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.opacity ??= InkEditor._defaultOpacity;\n }\n this.currentPath.push([x, y]);\n this.#hasSomethingToDraw = false;\n this.#setStroke();\n this.#requestFrameCallback = () => {\n this.#drawPoints();\n if (this.#requestFrameCallback) {\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n };\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n #draw(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n if (this.currentPath.length > 1 && x === lastX && y === lastY) {\n return;\n }\n const currentPath = this.currentPath;\n let path2D = this.#currentPath2D;\n currentPath.push([x, y]);\n this.#hasSomethingToDraw = true;\n if (currentPath.length <= 2) {\n path2D.moveTo(...currentPath[0]);\n path2D.lineTo(x, y);\n return;\n }\n if (currentPath.length === 3) {\n this.#currentPath2D = path2D = new Path2D();\n path2D.moveTo(...currentPath[0]);\n }\n this.#makeBezierCurve(path2D, ...currentPath.at(-3), ...currentPath.at(-2), x, y);\n }\n #endPath() {\n if (this.currentPath.length === 0) {\n return;\n }\n const lastPoint = this.currentPath.at(-1);\n this.#currentPath2D.lineTo(...lastPoint);\n }\n #stopDrawing(x, y) {\n this.#requestFrameCallback = null;\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n this.#draw(x, y);\n this.#endPath();\n let bezier;\n if (this.currentPath.length !== 1) {\n bezier = this.#generateBezierPoints();\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n const path2D = this.#currentPath2D;\n const currentPath = this.currentPath;\n this.currentPath = [];\n this.#currentPath2D = new Path2D();\n const cmd = () => {\n this.allRawPaths.push(currentPath);\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this.rebuild();\n };\n const undo = () => {\n this.allRawPaths.pop();\n this.paths.pop();\n this.bezierPath2D.pop();\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n this.#fitToContent();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n #drawPoints() {\n if (!this.#hasSomethingToDraw) {\n return;\n }\n this.#hasSomethingToDraw = false;\n const thickness = Math.ceil(this.thickness * this.parentScale);\n const lastPoints = this.currentPath.slice(-3);\n const x = lastPoints.map(xy => xy[0]);\n const y = lastPoints.map(xy => xy[1]);\n const xMin = Math.min(...x) - thickness;\n const xMax = Math.max(...x) + thickness;\n const yMin = Math.min(...y) - thickness;\n const yMax = Math.max(...y) + thickness;\n const {\n ctx\n } = this;\n ctx.save();\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n ctx.stroke(this.#currentPath2D);\n ctx.restore();\n }\n #makeBezierCurve(path2D, x0, y0, x1, y1, x2, y2) {\n const prevX = (x0 + x1) / 2;\n const prevY = (y0 + y1) / 2;\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n path2D.bezierCurveTo(prevX + 2 * (x1 - prevX) / 3, prevY + 2 * (y1 - prevY) / 3, x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3, x3, y3);\n }\n #generateBezierPoints() {\n const path = this.currentPath;\n if (path.length <= 2) {\n return [[path[0], path[0], path.at(-1), path.at(-1)]];\n }\n const bezierPoints = [];\n let i;\n let [x0, y0] = path[0];\n for (i = 1; i < path.length - 2; i++) {\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x3, y3]]);\n [x0, y0] = [x3, y3];\n }\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x2 + 2 * (x1 - x2) / 3, y2 + 2 * (y1 - y2) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x2, y2]]);\n return bezierPoints;\n }\n #redraw() {\n if (this.isEmpty()) {\n this.#updateTransform();\n return;\n }\n this.#setStroke();\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n this.#updateTransform();\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n }\n commit() {\n if (this.#disableEditing) {\n return;\n }\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n this.#disableEditing = true;\n this.div.classList.add(\"disabled\");\n this.#fitToContent(true);\n this.makeResizable();\n this.parent.addInkEditorIfNeeded(true);\n this.moveInDOM();\n this.div.focus({\n preventScroll: true\n });\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n this.enableEditMode();\n }\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {\n return;\n }\n this.setInForeground();\n event.preventDefault();\n if (event.type !== \"mouse\") {\n this.div.focus();\n }\n this.#startDrawing(event.offsetX, event.offsetY);\n }\n canvasPointermove(event) {\n event.preventDefault();\n this.#draw(event.offsetX, event.offsetY);\n }\n canvasPointerup(event) {\n event.preventDefault();\n this.#endDrawing(event);\n }\n canvasPointerleave(event) {\n this.#endDrawing(event);\n }\n #endDrawing(event) {\n this.canvas.removeEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.removeEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.canvas.removeEventListener(\"pointerup\", this.#boundCanvasPointerup);\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n setTimeout(() => {\n this.canvas.removeEventListener(\"contextmenu\", _display_utils.noContextMenu);\n }, 10);\n this.#stopDrawing(event.offsetX, event.offsetY);\n this.addToAnnotationStorage();\n this.setInBackground();\n }\n #createCanvas() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n _editor.AnnotationEditor._l10nPromise.get(\"editor_ink_canvas_aria_label\").then(msg => this.canvas?.setAttribute(\"aria-label\", msg));\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n get isResizable() {\n return !this.isEmpty() && this.#disableEditing;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n _editor.AnnotationEditor._l10nPromise.get(\"editor_ink2_aria_label\").then(msg => this.div?.setAttribute(\"aria-label\", msg));\n const [x, y, w, h] = this.#getInitialBBox();\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n this.#createCanvas();\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAspectRatio(this.width * parentWidth, this.height * parentHeight);\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n this.#redraw();\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n this.#createObserver();\n return this.div;\n }\n #setCanvasDims() {\n if (!this.#isCanvasInitialized) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n this.#updateTransform();\n }\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {\n return;\n }\n this.#realWidth = roundedWidth;\n this.#realHeight = roundedHeight;\n this.canvas.style.visibility = \"hidden\";\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.fixAndSetPosition();\n if (this.#disableEditing) {\n this.#setScaleFactor(width, height);\n }\n this.#setCanvasDims();\n this.#redraw();\n this.canvas.style.visibility = \"visible\";\n this.fixDims();\n }\n #setScaleFactor(width, height) {\n const padding = this.#getPadding();\n const scaleFactorW = (width - padding) / this.#baseWidth;\n const scaleFactorH = (height - padding) / this.#baseHeight;\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n }\n #updateTransform() {\n const padding = this.#getPadding() / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n }\n static #buildPath2D(bezier) {\n const path2D = new Path2D();\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n if (i === 0) {\n path2D.moveTo(...first);\n }\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n return path2D;\n }\n static #toPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] += blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] + blX;\n points[i + 1] = x + blY;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] += blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trX - points[i + 1];\n points[i + 1] = trY - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n static #fromPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] -= blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] - blY;\n points[i + 1] = x - blX;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] -= blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trY - points[i + 1];\n points[i + 1] = trX - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n #serializePaths(s, tx, ty, rect) {\n const paths = [];\n const padding = this.thickness / 2;\n const shiftX = s * tx + padding;\n const shiftY = s * ty + padding;\n for (const bezier of this.paths) {\n const buffer = [];\n const points = [];\n for (let j = 0, jj = bezier.length; j < jj; j++) {\n const [first, control1, control2, second] = bezier[j];\n const p10 = s * first[0] + shiftX;\n const p11 = s * first[1] + shiftY;\n const p20 = s * control1[0] + shiftX;\n const p21 = s * control1[1] + shiftY;\n const p30 = s * control2[0] + shiftX;\n const p31 = s * control2[1] + shiftY;\n const p40 = s * second[0] + shiftX;\n const p41 = s * second[1] + shiftY;\n if (j === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n buffer.push(p20, p21, p30, p31, p40, p41);\n points.push(p20, p21);\n if (j === jj - 1) {\n points.push(p40, p41);\n }\n }\n paths.push({\n bezier: InkEditor.#toPDFCoordinates(buffer, rect, this.rotation),\n points: InkEditor.#toPDFCoordinates(points, rect, this.rotation)\n });\n }\n return paths;\n }\n #getBbox() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n return [xMin, yMin, xMax, yMax];\n }\n #getPadding() {\n return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0;\n }\n #fitToContent(firstTime = false) {\n if (this.isEmpty()) {\n return;\n }\n if (!this.#disableEditing) {\n this.#redraw();\n return;\n }\n const bbox = this.#getBbox();\n const padding = this.#getPadding();\n this.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n this.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);\n const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.setAspectRatio(width, height);\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n this.#setCanvasDims();\n this.#redraw();\n this.#realWidth = width;\n this.#realHeight = height;\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n }\n static deserialize(data, parent, uiManager) {\n if (data instanceof _annotation_layer.InkAnnotationElement) {\n return null;\n }\n const editor = super.deserialize(data, parent, uiManager);\n editor.thickness = data.thickness;\n editor.color = _util.Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = editor.parentScale;\n const padding = data.thickness / 2;\n editor.#disableEditing = true;\n editor.#realWidth = Math.round(width);\n editor.#realHeight = Math.round(height);\n const {\n paths,\n rect,\n rotation\n } = data;\n for (let {\n bezier\n } of paths) {\n bezier = InkEditor.#fromPDFCoordinates(bezier, rect, rotation);\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (bezier[1] - padding);\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n const path2D = this.#buildPath2D(path);\n editor.bezierPath2D.push(path2D);\n }\n const bbox = editor.#getBbox();\n editor.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n editor.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n editor.#setScaleFactor(width, height);\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const rect = this.getRect(0, 0);\n const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n return {\n annotationType: _util.AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, rect),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n }\n}\nexports.InkEditor = InkEditor;\n\n/***/ }),\n/* 34 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StampEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _annotation_layer = __w_pdfjs_require__(29);\nclass StampEditor extends _editor.AnnotationEditor {\n #bitmap = null;\n #bitmapId = null;\n #bitmapPromise = null;\n #bitmapUrl = null;\n #bitmapFile = null;\n #canvas = null;\n #observer = null;\n #resizeTimeoutId = null;\n #isSvg = false;\n #hasBeenAddedInUndoStack = false;\n static _type = \"stamp\";\n constructor(params) {\n super({\n ...params,\n name: \"stampEditor\"\n });\n this.#bitmapUrl = params.bitmapUrl;\n this.#bitmapFile = params.bitmapFile;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n);\n }\n static get supportedTypes() {\n const types = [\"apng\", \"avif\", \"bmp\", \"gif\", \"jpeg\", \"png\", \"svg+xml\", \"webp\", \"x-icon\"];\n return (0, _util.shadow)(this, \"supportedTypes\", types.map(type => `image/${type}`));\n }\n static get supportedTypesStr() {\n return (0, _util.shadow)(this, \"supportedTypesStr\", this.supportedTypes.join(\",\"));\n }\n static isHandlingMimeForPasting(mime) {\n return this.supportedTypes.includes(mime);\n }\n static paste(item, parent) {\n parent.pasteEditor(_util.AnnotationEditorType.STAMP, {\n bitmapFile: item.getAsFile()\n });\n }\n #getBitmapFetched(data, fromId = false) {\n if (!data) {\n this.remove();\n return;\n }\n this.#bitmap = data.bitmap;\n if (!fromId) {\n this.#bitmapId = data.id;\n this.#isSvg = data.isSvg;\n }\n this.#createCanvas();\n }\n #getBitmapDone() {\n this.#bitmapPromise = null;\n this._uiManager.enableWaiting(false);\n if (this.#canvas) {\n this.div.focus();\n }\n }\n #getBitmap() {\n if (this.#bitmapId) {\n this._uiManager.enableWaiting(true);\n this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => this.#getBitmapFetched(data, true)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapUrl) {\n const url = this.#bitmapUrl;\n this.#bitmapUrl = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapFile) {\n const file = this.#bitmapFile;\n this.#bitmapFile = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromFile(file).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.accept = StampEditor.supportedTypesStr;\n this.#bitmapPromise = new Promise(resolve => {\n input.addEventListener(\"change\", async () => {\n if (!input.files || input.files.length === 0) {\n this.remove();\n } else {\n this._uiManager.enableWaiting(true);\n const data = await this._uiManager.imageManager.getFromFile(input.files[0]);\n this.#getBitmapFetched(data);\n }\n resolve();\n });\n input.addEventListener(\"cancel\", () => {\n this.remove();\n resolve();\n });\n }).finally(() => this.#getBitmapDone());\n input.click();\n }\n remove() {\n if (this.#bitmapId) {\n this.#bitmap = null;\n this._uiManager.imageManager.deleteId(this.#bitmapId);\n this.#canvas?.remove();\n this.#canvas = null;\n this.#observer?.disconnect();\n this.#observer = null;\n }\n super.remove();\n }\n rebuild() {\n if (!this.parent) {\n if (this.#bitmapId) {\n this.#getBitmap();\n }\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (this.#bitmapId) {\n this.#getBitmap();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n onceAdded() {\n this._isDraggable = true;\n this.div.focus();\n }\n isEmpty() {\n return !(this.#bitmapPromise || this.#bitmap || this.#bitmapUrl || this.#bitmapFile);\n }\n get isResizable() {\n return true;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.div.hidden = true;\n if (this.#bitmap) {\n this.#createCanvas();\n } else {\n this.#getBitmap();\n }\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n return this.div;\n }\n #createCanvas() {\n const {\n div\n } = this;\n let {\n width,\n height\n } = this.#bitmap;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const MAX_RATIO = 0.75;\n if (this.width) {\n width = this.width * pageWidth;\n height = this.height * pageHeight;\n } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) {\n const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height);\n width *= factor;\n height *= factor;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(width * parentWidth / pageWidth, height * parentHeight / pageHeight);\n this._uiManager.enableWaiting(false);\n const canvas = this.#canvas = document.createElement(\"canvas\");\n div.append(canvas);\n div.hidden = false;\n this.#drawBitmap(width, height);\n this.#createObserver();\n if (!this.#hasBeenAddedInUndoStack) {\n this.parent.addUndoableEditor(this);\n this.#hasBeenAddedInUndoStack = true;\n }\n this._uiManager._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n subtype: this.editorType,\n data: {\n action: \"inserted_image\"\n }\n }\n });\n this.addAltTextButton();\n }\n #setDimensions(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.setDims(width, height);\n if (this._initialOptions?.isCentered) {\n this.center();\n } else {\n this.fixAndSetPosition();\n }\n this._initialOptions = null;\n if (this.#resizeTimeoutId !== null) {\n clearTimeout(this.#resizeTimeoutId);\n }\n const TIME_TO_WAIT = 200;\n this.#resizeTimeoutId = setTimeout(() => {\n this.#resizeTimeoutId = null;\n this.#drawBitmap(width, height);\n }, TIME_TO_WAIT);\n }\n #scaleBitmap(width, height) {\n const {\n width: bitmapWidth,\n height: bitmapHeight\n } = this.#bitmap;\n let newWidth = bitmapWidth;\n let newHeight = bitmapHeight;\n let bitmap = this.#bitmap;\n while (newWidth > 2 * width || newHeight > 2 * height) {\n const prevWidth = newWidth;\n const prevHeight = newHeight;\n if (newWidth > 2 * width) {\n newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2);\n }\n if (newHeight > 2 * height) {\n newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2);\n }\n const offscreen = new OffscreenCanvas(newWidth, newHeight);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight);\n bitmap = offscreen.transferToImageBitmap();\n }\n return bitmap;\n }\n #drawBitmap(width, height) {\n width = Math.ceil(width);\n height = Math.ceil(height);\n const canvas = this.#canvas;\n if (!canvas || canvas.width === width && canvas.height === height) {\n return;\n }\n canvas.width = width;\n canvas.height = height;\n const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(width, height);\n const ctx = canvas.getContext(\"2d\");\n ctx.filter = this._uiManager.hcmFilter;\n ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, width, height);\n }\n #serializeBitmap(toUrl) {\n if (toUrl) {\n if (this.#isSvg) {\n const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId);\n if (url) {\n return url;\n }\n }\n const canvas = document.createElement(\"canvas\");\n ({\n width: canvas.width,\n height: canvas.height\n } = this.#bitmap);\n const ctx = canvas.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0);\n return canvas.toDataURL();\n }\n if (this.#isSvg) {\n const [pageWidth, pageHeight] = this.pageDimensions;\n const width = Math.round(this.width * pageWidth * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n const height = Math.round(this.height * pageHeight * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n const offscreen = new OffscreenCanvas(width, height);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height);\n return offscreen.transferToImageBitmap();\n }\n return structuredClone(this.#bitmap);\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.#setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n static deserialize(data, parent, uiManager) {\n if (data instanceof _annotation_layer.StampAnnotationElement) {\n return null;\n }\n const editor = super.deserialize(data, parent, uiManager);\n const {\n rect,\n bitmapUrl,\n bitmapId,\n isSvg,\n accessibilityData\n } = data;\n if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) {\n editor.#bitmapId = bitmapId;\n } else {\n editor.#bitmapUrl = bitmapUrl;\n }\n editor.#isSvg = isSvg;\n const [parentWidth, parentHeight] = editor.pageDimensions;\n editor.width = (rect[2] - rect[0]) / parentWidth;\n editor.height = (rect[3] - rect[1]) / parentHeight;\n if (accessibilityData) {\n editor.altTextData = accessibilityData;\n }\n return editor;\n }\n serialize(isForCopying = false, context = null) {\n if (this.isEmpty()) {\n return null;\n }\n const serialized = {\n annotationType: _util.AnnotationEditorType.STAMP,\n bitmapId: this.#bitmapId,\n pageIndex: this.pageIndex,\n rect: this.getRect(0, 0),\n rotation: this.rotation,\n isSvg: this.#isSvg,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n serialized.bitmapUrl = this.#serializeBitmap(true);\n serialized.accessibilityData = this.altTextData;\n return serialized;\n }\n const {\n decorative,\n altText\n } = this.altTextData;\n if (!decorative && altText) {\n serialized.accessibilityData = {\n type: \"Figure\",\n alt: altText\n };\n }\n if (context === null) {\n return serialized;\n }\n context.stamps ||= new Map();\n const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null;\n if (!context.stamps.has(this.#bitmapId)) {\n context.stamps.set(this.#bitmapId, {\n area,\n serialized\n });\n serialized.bitmap = this.#serializeBitmap(false);\n } else if (this.#isSvg) {\n const prevData = context.stamps.get(this.#bitmapId);\n if (area > prevData.area) {\n prevData.area = area;\n prevData.serialized.bitmap.close();\n prevData.serialized.bitmap = this.#serializeBitmap(false);\n }\n }\n return serialized;\n }\n}\nexports.StampEditor = StampEditor;\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AbortException\", ({\n enumerable: true,\n get: function () {\n return _util.AbortException;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_editor_layer.AnnotationEditorLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorParamsType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorParamsType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorUIManager\", ({\n enumerable: true,\n get: function () {\n return _tools.AnnotationEditorUIManager;\n }\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"DOMSVGFactory\", ({\n enumerable: true,\n get: function () {\n return _display_utils.DOMSVGFactory;\n }\n}));\nObject.defineProperty(exports, \"FeatureTest\", ({\n enumerable: true,\n get: function () {\n return _util.FeatureTest;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"ImageKind\", ({\n enumerable: true,\n get: function () {\n return _util.ImageKind;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"PromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.PromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _api.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isDataScheme\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isDataScheme;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"noContextMenu\", ({\n enumerable: true,\n get: function () {\n return _display_utils.noContextMenu;\n }\n}));\nObject.defineProperty(exports, \"normalizeUnicode\", ({\n enumerable: true,\n get: function () {\n return _util.normalizeUnicode;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"setLayerDimensions\", ({\n enumerable: true,\n get: function () {\n return _display_utils.setLayerDimensions;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"updateTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.updateTextLayer;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\nvar _util = __w_pdfjs_require__(1);\nvar _api = __w_pdfjs_require__(2);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _text_layer = __w_pdfjs_require__(26);\nvar _annotation_editor_layer = __w_pdfjs_require__(27);\nvar _tools = __w_pdfjs_require__(5);\nvar _annotation_layer = __w_pdfjs_require__(29);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _xfa_layer = __w_pdfjs_require__(32);\nconst pdfjsVersion = '3.11.174';\nconst pdfjsBuild = 'ce8716743';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.js.map"],"names":["root","factory","globalThis","__webpack_modules__","__unused_webpack_module","exports","Object","defineProperty","value","VerbosityLevel","Util","UnknownErrorException","UnexpectedResponseException","TextRenderingMode","RenderingIntentFlag","PromiseCapability","PermissionFlag","PasswordResponses","PasswordException","PageActionEventType","OPS","MissingPDFException","MAX_IMAGE_SIZE_TO_CACHE","LINE_FACTOR","LINE_DESCENT_FACTOR","InvalidPDFException","ImageKind","IDENTITY_MATRIX","FormatError","FeatureTest","FONT_IDENTITY_MATRIX","DocumentActionEventType","CMapCompressionType","BaseException","BASELINE_FACTOR","AnnotationType","AnnotationReplyType","AnnotationPrefix","AnnotationMode","AnnotationFlag","AnnotationFieldFlag","AnnotationEditorType","AnnotationEditorPrefix","AnnotationEditorParamsType","AnnotationBorderStyleType","AnnotationActionEventType","AbortException","assert","cond","msg","unreachable","bytesToString","createValidAbsoluteUrl","url","baseUrl","options","addDefaultProtocol","startsWith","dots","match","length","tryConvertEncoding","stringToUTF8String","absoluteUrl","URL","_isValidProtocol","getModificationDate","date","Date","buffer","getUTCFullYear","toString","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","join","getUuid","crypto","_crypto","randomUUID","buf","Uint8Array","_crypto2","getRandomValues","i","Math","floor","random","getVerbosityLevel","verbosity","info","INFOS","console","log","isArrayBuffer","v","undefined","byteLength","isArrayEqual","arr1","arr2","ii","isNodeJS","normalizeUnicode","str","NormalizeRegex","NormalizationMap","Map","replaceAll","_","p1","p2","normalize","get","objectFromMap","map","obj","create","key","objectSize","keys","setVerbosityLevel","level","Number","isInteger","shadow","string32","String","fromCharCode","stringToBytes","stringToPDFString","encoding","decoder","TextDecoder","fatal","decode","ex","warn","strBuf","code","PDFStringTranslateTable","charCodeAt","push","charAt","utf8StringToString","unescape","encodeURIComponent","process","versions","nw","electron","type","ANY","DISPLAY","PRINT","SAVE","ANNOTATIONS_FORMS","ANNOTATIONS_STORAGE","ANNOTATIONS_DISABLE","OPLIST","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","NONE","FREETEXT","STAMP","INK","RESIZE","CREATE","FREETEXT_SIZE","FREETEXT_COLOR","FREETEXT_OPACITY","INK_COLOR","INK_THICKNESS","INK_OPACITY","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","CARET","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","F","V","C","WC","WS","DS","WP","DP","O","ERRORS","WARNINGS","BINARY","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotation","endAnnotation","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","NEED_PASSWORD","INCORRECT_PASSWORD","Error","protocol","prop","nonSerializable","enumerable","configurable","writable","message","name","this","constructor","prototype","bytes","apply","chunkEnd","min","chunk","subarray","details","status","isLittleEndian","buffer8","Uint32Array","isEvalSupported","Function","isOffscreenCanvasSupported","OffscreenCanvas","platform","navigator","isWin","isMac","includes","isCSSRoundSupported","CSS","_globalThis$CSS","supports","_globalThis$CSS$suppo","hexNumbers","Array","n","r","g","b","minMax","temp","m1","m2","p","m","d","applyTransform","slice","p3","p4","max","transpose","a","c","first","second","sqrt","sx","sy","rect","rect1","rect2","xLow","xHigh","yLow","yHigh","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t","t1","t2","b2ac","sqrtb2ac","abs","mt","j","jlen","decodeURIComponent","escape","promise","Promise","resolve","reject","data","reason","settled","__w_pdfjs_require__","RenderTask","PDFWorkerUtil","PDFWorker","PDFPageProxy","PDFDocumentProxy","PDFDocumentLoadingTask","PDFDataRangeTransport","LoopbackPort","DefaultStandardFontDataFactory","DefaultFilterFactory","DefaultCanvasFactory","DefaultCMapReaderFactory","_displaySvg","SVGGraphics","build","getDocument","version","_util","_annotation_storage","_display_utils","_font_loader","_displayNode_utils","_canvas","_worker_options","_message_handler","_metadata","_optional_content_config","_transport_stream","_displayFetch_stream","_displayNetwork","_displayNode_stream","_xfa_text","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DELAYED_CLEANUP_TIMEOUT","NodeCanvasFactory","DOMCanvasFactory","NodeCMapReaderFactory","DOMCMapReaderFactory","NodeFilterFactory","DOMFilterFactory","NodeStandardFontDataFactory","DOMStandardFontDataFactory","src","range","task","docId","getUrlProp","getDataProp","httpHeaders","withCredentials","password","rangeTransport","rangeChunkSize","worker","docBaseUrl","isDataScheme","cMapUrl","cMapPacked","CMapReaderFactory","standardFontDataUrl","StandardFontDataFactory","ignoreErrors","stopAtErrors","maxImageSize","canvasMaxAreaInBytes","disableFontFace","fontExtraProperties","enableXfa","ownerDocument","document","disableRange","disableStream","disableAutoFetch","pdfBug","NaN","useSystemFonts","useWorkerFetch","isValidFetchUrl","baseURI","canvasFactory","filterFactory","transportFactory","cMapReaderFactory","isCompressed","standardFontDataFactory","workerParams","port","GlobalWorkerOptions","workerPort","fromPort","_worker","fetchDocParams","apiVersion","evaluatorOptions","transportParams","styleElement","then","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","params","PDFDataTransportStream","initialData","progressiveDone","contentDispositionFilename","PDFNodeStream","PDFFetchStream","PDFNetworkStream","all","workerId","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","catch","_capability","source","sendWithPromise","val","href","window","location","Buffer","isNaN","onPassword","onProgress","_this$_worker","_pendingDestroy","_this$_transport","destroy","_this$_worker2","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","addRangeListener","listener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","begin","onDataProgress","loaded","total","onDataProgressiveRead","onDataProgressiveDone","transportReady","requestDataRange","end","abort","pdfInfo","_pdfInfo","deprecated","getJSActions","js","jsArr","annotationStorage","numPages","fingerprints","isPureXfa","_htmlForXfa","allXfaHtml","getPage","pageNumber","getPageIndex","ref","getDestinations","getDestination","id","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getDocJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","saveDocument","getDownloadInfo","downloadInfoCapability","cleanup","keepLoadedFonts","startCleanup","loadingTask","loadingParams","getFieldObjects","hasJSActions","getCalculationOrderIds","pageIndex","pageInfo","_pageIndex","_pageInfo","_stats","StatTimer","_pdfBug","commonObjs","objs","PDFObjects","_maybeCleanupAfterRender","_intentStates","rotate","userUnit","view","getViewport","scale","rotation","offsetX","offsetY","dontFlip","PageViewport","viewBox","getAnnotations","intent","intentArgs","getRenderingIntent","renderingIntent","getPageJSActions","children","render","canvasContext","viewport","annotationMode","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","printAnnotationStorage","time","intentState","cacheKey","set","streamReaderCancelTimeout","clearTimeout","intentPrint","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","separateAnnots","_pumpOperatorList","complete","error","renderTasks","delete","internalRenderTask","capability","_abortOperatorList","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","_intentState","Set","add","renderTask","_ref3","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","getOperatorList","opListTask","opListReadCapability","_intentState2","streamTextContent","includeMarkedContent","disableNormalization","sendWithStream","highWaterMark","size","textContent","items","getTextContent","getXfa","xfa","XfaText","readableStream","reader","getReader","styles","pump","read","done","assign","getStructTree","_destroy","waitOn","values","force","completed","cancel","clear","resetStats","success","_startRenderPage","_renderPageChunk","operatorListChunk","annotationStorageSerializable","transfers","streamReader","_ref6","RenderingCancelledException","delay","extraDelay","setTimeout","curCacheKey","curIntentState","stats","delayed","postMessage","transfer","event","structuredClone","call","addEventListener","removeEventListener","terminate","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerId","require","pdfjsFilePath","_document","currentScript","_document$currentScri","replace","isSameOrigin","otherUrl","base","origin","other","createCDNWrapper","wrapper","createObjectURL","Blob","_port","_webWorker","_messageHandler","_classStaticPrivateFi","has","WeakMap","_initializeFromPort","_initialize","on","_mainThreadWorkerMessageHandler","workerSrc","Worker","terminateEarly","onWorkerError","_setupFakeWorker","sendTest","testObj","_setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","setup","cachedPort","_classStaticPrivateFi3","pdfjsWorker","loader","async","mainWorkerMessageHandler","eval","loadScript","fontLoader","FontLoader","_params","destroyCapability","_networkStream","_fullReader","_lastProgress","setupMessageHandler","AnnotationStorage","isOpList","SerializableEmpty","PrintAnnotationStorage","serializable","hash","page","_classPrivateFieldGet","hasOwnProperty","resetModified","terminated","cancelAllRequests","sink","getFullReader","evt","onPull","close","ArrayBuffer","enqueue","onCancel","ready","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref10","_numPages","htmlForXfa","exception","updatePassword","_ref11","exportedData","exportedError","inspectFont","FontInspector","_globalThis$FontInspe","enabled","font","fontAdded","FontFaceObject","bind","finally","_ref12","imageData","pageProxy","bitmap","width","height","fetch","filename","_this$_fullReader","cachedPromise","num","gen","results","OptionalContentConfig","metadata","Metadata","_this$_fullReader2","_this$_fullReader3","objId","_classPrivateFieldGet3","onContinue","form","canvas","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_cancelBound","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","_classStaticPrivateFieldSpecGet","StepperManager","_globalThis$StepperMa","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","requestAnimationFrame","executeOperatorList","WeakSet","_editor","_murmurhash","freeze","onSetModified","onResetModified","onAnnotationEditor","getValue","defaultValue","getRawValue","remove","AnnotationEditor","setValue","modified","entry","entries","_type","getAll","setAll","print","MurmurHash3_64","context","hasBitmap","serialized","serialize","update","JSON","stringify","hexdigest","parent","clone","_tools","parameters","focusin","focusout","_zIndex","div","_uiManager","uiManager","annotationElementId","_willKeepAspectRatio","_initialOptions","isCentered","_structTreeParentId","rawDims","pageWidth","pageHeight","pageX","pageY","pageRotation","viewParameters","pageDimensions","pageTranslation","parentDimensions","x","y","isAttachedToDOM","deleted","editorType","getPrototypeOf","_defaultLineColor","_colorManager","getHexCode","editor","fakeEditor","FakeEditor","getNextId","addToAnnotationStorage","l10n","_l10nPromise","strings","_borderLineWidth","style","getComputedStyle","documentElement","parseFloat","getPropertyValue","_value","defaultPropertiesToUpdate","mime","item","propertiesToUpdate","_isDraggable","classList","toggle","center","parentRotation","fixAndSetPosition","addCommands","currentLayer","setInBackground","zIndex","setInForeground","setParent","_focusEventsAllowed","setSelected","target","relatedTarget","closest","preventDefault","_this$parent","isMultipleSelection","commitOrRemove","isEmpty","commit","setAt","tx","ty","screenToPageTranslation","translate","translateInPage","scrollIntoView","block","drag","parentWidth","parentHeight","getBoundingClientRect","findNewParent","bx","by","left","toFixed","top","moveInDOM","pageTranslationToScreen","parentScale","realScale","scaledWidth","scaledHeight","round","setDims","SMALL_EDITOR_SIZE","fixDims","widthPercent","endsWith","heightPercent","getInitialTranslation","altText","createElement","className","setAttribute","tabIndex","noContextMenu","stopPropagation","editAltText","capture","append","PERCENT","getClientDimensions","altTextData","decorative","maxWidth","maxHeight","bindEvents","pointerdown","button","ctrlKey","moveEditorInDOM","_setParentAndPosition","changeParent","getRect","shiftX","shiftY","getRectInCurrentCoords","onceAdded","enableEditMode","disableEditMode","isInEditMode","shouldGetKeyboardEvents","needsToBeRebuilt","rebuild","removeEditor","isResizable","makeResizable","select","unselect","_this$div6","contains","activeElement","focus","updateParams","disableEditing","hidden","enableEditing","enterInEditMode","contentDiv","isEditing","setActiveEditor","setAspectRatio","aspectRatio","MIN_SIZE","angle","classes","_classPrivateMethodGet","prepend","boundResizerPointermove","savedDraggable","pointerMoveOptions","passive","savedX","savedY","savedWidth","savedHeight","savedParentCursor","cursor","savedCursor","pointerUpCallback","newX","newY","newWidth","newHeight","cmd","undo","mustExec","minWidth","minHeight","rotationMatrix","transf","invRotationMatrix","getPoint","getOpposite","isDiagonal","isHorizontal","w","h","point","oppositePoint","transfOppositePoint","oppositeX","oppositeY","ratioX","ratioY","deltaX","deltaY","movementX","movementY","oldDiag","hypot","tooltip","DELAY_TO_SHOW_TOOLTIP","_eventBus","dispatch","subtype","action","innerText","parentNode","isSelected","pointerMoveCallback","setUpDragSession","e","dragSelectedEditors","endDragSession","shiftKey","metaKey","toggleSelected","ColorManager","KeyboardManager","CommandManager","AnnotationEditorUIManager","element","names","opacityToHex","opacity","IdManager","getId","ImageManager","_isSVGFittingCanvas","ctx","getContext","image","Image","drawImage","getImageData","file","lastModified","refCounter","getFromFile","getFromUrl","getSvgUrl","isSvg","svgUrl","deleteId","isValidId","rawData","_data","response","ok","statusText","blob","mustRemoveAspectRatioPromise","fileReader","FileReader","imageElement","imagePromise","onload","result","onerror","readAsDataURL","createImageBitmap","maxSize","overwriteIfSameType","keepUndo","next","splice","redo","hasSomethingToUndo","hasSomethingToRedo","callbacks","allKeys","isMacKey","split","at","exec","self","bubbles","args","checker","altKey","_colors","colors","getColorValues","convert","color","rgb","getRGB","matchMedia","matches","RGB","every","_colorsMapping","makeHexColor","_keyboardManager","proto","arrowChecker","hasSomethingToControl","small","TRANSLATE_SMALL","big","TRANSLATE_BIG","selectAll","unselectAll","translateSelectedEditors","container","viewer","altTextManager","eventBus","pdfDocument","blur","copy","cut","paste","keydown","onEditingAction","onPageChanging","onScaleChanging","onRotationChanging","hasSelectedEditor","_on","PixelsPerInch","PDF_TO_CSS_UNITS","_off","layer","hcmFilter","addHCMFilter","foreground","direction","focusMainContainer","findParent","layerX","layerY","disableUserSelect","addShouldRescale","removeShouldRescale","pagesRotation","hasSelection","lastEditor","lastActiveElement","once","addEditListeners","removeEditListeners","editors","clipboardData","setData","isHandlingMimeForPasting","parse","isArray","newEditors","deserializedEditor","deserialize","getActive","_this$getActive","setEditingState","registerEditorTypes","types","getLayer","currentPageIndex","addLayer","enable","disable","removeLayer","updateMode","mode","editId","updateToolbar","updateDefaultParams","addNewEditor","enableWaiting","mustWait","disableClick","enableClick","getEditors","getEditor","addEditor","addDeletedAnnotationElement","isDeletedAnnotationElement","removeDeletedAnnotationElement","ed","totalX","totalY","savedPageIndex","newPageIndex","mustBeAddedInUndoStack","move","addOrRebuild","isActive","getMode","imageManager","some","_ref21","PDFDateString","DOMSVGFactory","span","visibility","body","computedColor","getCurrentTransform","f","getTransform","getCurrentTransformInverse","invertSelf","getFilenameFromUrl","onlyStripPath","substring","lastIndexOf","getPdfFilenameFromUrl","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","getXfaPageViewport","xfaPage","attributes","parseInt","isPdfFile","test","removeScriptElement","script","head","setLayerDimensions","mustFlip","mustRotate","useRound","widthStr","heightStr","_base_factory","SVG_NS","PDF","BaseFilterFactory","addFilter","maps","tableR","tableG","tableB","mapR","mapG","mapB","bufferR","bufferG","bufferB","filter","fgColor","bgColor","fgRGB","bgRGB","table","getSteps","start","arr","addHighlightHCMFilter","newFgColor","newBgColor","fgGray","bgGray","newFgRGB","newBgRGB","fg","bg","step","newStart","newStep","prev","k","contain","position","svg","createElementNS","feColorMatrix","feComponentTransfer","func","feFunc","rTable","gTable","bTable","BaseCanvasFactory","_createCanvas","fetchData","asTypedArray","arrayBuffer","text","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","responseText","BaseCMapReaderFactory","_fetchData","compressionType","cMapData","BaseStandardFontDataFactory","BaseSVGFactory","_createSVG","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","convertToViewportPoint","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","applyInverseTransform","trim","toLowerCase","pdfDateStringRegex","colorRGB","started","now","times","outBuf","longest","padEnd","input","RegExp","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","reset","canvasAndContext","skipDimensions","seed","h1","h2","blockCounts","tailLength","dataUint32","k1","k2","C1","C2","nativeFontFaces","loadingRequests","loadTestFontId","addNativeFontFace","nativeFontFace","fonts","removeNativeFontFace","insertRule","rule","getElementsByTagName","styleSheet","sheet","cssRules","loadedName","isFontLoadingAPISupported","fontFace","FontFace","load","baseFontName","attached","missingFile","systemFontInfo","loadSystemFont","createNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","hasFonts","_this$_document","supported","userAgent","otherRequest","shift","_loadTestFont","testFont","atob","int32","offset","spliceString","s","insert","called","checksum","btoa","fontFamily","isFontReady","fillText","translatedData","compiledGlyphs","_inspectFont","cssFontInfo","css","weight","fontWeight","italicAngle","mimetype","getPathGenerator","character","cmds","jsBuf","current","readFile","createCanvas","_pattern_helper","_image_utils","CachedCanvases","cache","getCanvas","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","tlX","rTlX","tlY","rTlY","brX","rWidth","brY","rHeight","setTransform","sign","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","transferMaps","startNewPathAndClipBox","clipBox","setCurrentPoint","updatePathMinMax","minX","minY","maxX","maxY","updateRectMinMax","updateScalingPathMinMax","scaleMinMax","updateCurvePathMinMax","box","bezierBoundingBox","getPathBoundingBox","pathType","PathType","singularValueDecompose2dScale","xStrokePad","yStrokePad","updateClipFromPath","intersect","isEmptyClip","Infinity","getClippedPathBoundingBox","putBinaryImageData","imgData","ImageData","putImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","destPos","srcPos","dest","thisChunkHeight","elemsInThisChunk","kind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","mask","srcByte","putBinaryImageMask","convertBlackAndWhiteToRGBA","nonBlackColor","copyCtxState","sourceCtx","destCtx","properties","property","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","smask","layerCtx","layerBox","layerOffsetX","layerOffsetY","layerWidth","layerHeight","maskCtx","backdrop","maskOffsetX","maskOffsetY","hasBackdrop","composeFn","chunkSize","ceil","row","chunkHeight","genericComposeSMask","getImageSmoothingEnabled","interpolate","fround","actualScale","devicePixelRatio","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","canvasCtx","markedContentStack","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","suspendedCtx","contentVisible","cachedCanvases","cachedPatterns","viewportScale","outputScaleX","outputScaleY","_cachedScaleForStroking","_cachedGetSinglePixelWidth","_cachedBitmapsMap","getObject","fallback","savedFillStyle","fillRect","transparentCanvas","compositeCtx","executionStartIdx","continueCallback","argsArrayLen","chunkOperations","endTime","steps","fnId","breakIt","depObjId","objsPool","HTMLCanvasElement","_scaleImage","img","inverseTransform","tmpCanvas","tmpCtx","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","clearRect","_createMaskCanvas","isPatternFill","currentTransform","scaled","maskCanvas","count","mainKey","cachedImage","maskToCanvas","cord1","cord2","normalizeRect","drawnWidth","drawnHeight","fillCanvas","fillCtx","imageSmoothingEnabled","inverse","getPattern","limit","dashArray","dashPhase","flatness","states","checkSMaskState","inSMaskMode","beginSMaskMode","endSMaskMode","cacheId","scratchCanvas","_removeMirroring","__originalSave","__originalRestore","__originalRotate","__originalScale","__originalTranslate","__originalTransform","__originalSetTransform","__originalResetTransform","resetTransform","__originalClip","__originalMoveTo","__originalLineTo","__originalBezierCurveTo","bezierCurveTo","__originalRect","__originalClosePath","__originalBeginPath","beginPath","cp1x","cp1y","cp2x","cp2y","mirrorContextOperations","compose","dirtyBox","old","pop","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","rescaleAndStroke","needRestore","paths","pendingTextPaths","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","typeface","fallbackName","bold","italic","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","getSinglePixelWidth","isInvalidPDFjsFont","chars","glyph","unicode","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","vmetric","vx","vy","remeasure","measuredWidth","measureText","characterScaleX","isInFont","scaledAccentX","scaledAccentY","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","_getPattern","arguments","matrix","getShadingPattern","SHADING","inv","getAxialAlignedBoundingBox","bbox","group","currentCtx","isolated","knockout","canvasBounds","scaleX","scaleY","groupCtx","startTransformInverse","currentMtx","hasOwnCanvas","canvasWidth","canvasHeight","annotationCanvas","savedCtx","compiled","POINT_TYPES","width1","j0","points","lineSize","pos","elem","sum","Int32Array","Path2D","p0","pp","compileType3Glyph","skewX","skewY","positions","trans","images","applyTransferMapsToCanvas","applyTransferMapsToBitmap","imgToPaint","HTMLElement","tag","visible","isVisible","isContentVisible","absDet","normX","normY","getScaleForStroking","scaledLineWidth","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","dashes","hcmFilterId","savedFilter","op","RadialAxialShadingPattern","MeshShadingPattern","DummyShadingPattern","applyBoundingBox","region","BaseShadingPattern","_bbox","_colorStops","_p0","_p1","_r0","_r1","_createGradient","grad","createLinearGradient","createRadialGradient","colorStop","addColorStop","owner","ownerBBox","createPattern","domMatrix","DOMMatrix","drawTriangle","c1","c2","c3","coords","rowSize","tmp","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","_coords","_figures","_bounds","_background","_createMeshCanvas","combinedScale","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","matrixScale","temporaryPatternCanvas","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","adjustedX0","adjustedY0","adjustedX1","adjustedY1","clipBbox","realOutputSize","MAX_PATTERN_SIZE","bboxWidth","bboxHeight","cssColor","convertToRGBA","len32","src32","s1","s2","s3","jj","convertRGBToRGBA","grayToRGBA","inverseDecode","zeroMapping","oneMapping","widthInSource","widthRemainder","CallbackKind","StreamKind","wrapReason","streamId","sourceName","targetName","comObj","actionHandler","streamSink","isCancelled","lastDesiredSize","desiredSize","sinkCapability","stream","streamSinks","streamController","streamControllers","startCall","pullCall","_streamSink$onPull","isClosed","controller","cancelCall","_streamSink$onCancel","allSettled","_streamController$sta","_streamController$pul","_streamController$can","callbackId","callbackCapabilities","_onComObjOnMessage","cbSourceName","cbTargetName","actionName","handler","ah","queueingStrategy","ReadableStream","startCapability","pull","pullCapability","cancelCapability","parsedData","getRaw","INTERNAL","Symbol","OptionalContentGroup","_setVisible","internal","array","operator","state","creator","order","groups","baseState","off","getHash","expression","policy","ids","setVisibility","hasInitialVisibility","getOrder","getGroups","getGroup","pdfDataRangeTransport","_queuedChunks","_progressiveDone","_contentDispositionFilename","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","_onReceiveData","_onProgress","_onProgressiveDone","_enqueue","found","_begin","_progressiveDataLength","_this$_fullRequestRea2","_loaded","_removeRangeReader","indexOf","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","_stream","_done","_filename","_requests","_headersReady","requestCapability","_end","_queuedChunk","_network_utils","createFetchOptions","headers","abortController","method","signal","credentials","redirect","createHeaders","Headers","getArrayBuffer","isHttp","_rangeRequestReaders","_this$_fullRequestRea8","PDFFetchStreamReader","PDFFetchStreamRangeReader","_reader","_withCredentials","_headersCapability","_disableRange","_rangeChunkSize","_abortController","AbortController","_headers","validateResponseStatus","createResponseStatusError","getResponseHeader","allowRangeRequests","suggestedLength","validateRangeRequestCapabilities","extractFilenameFromHeader","_readCapability","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","returnValues","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","contentDispositionStr","iter","quot","part","parts","rfc2231getparam","attributePattern","flags","textdecode","quotindex","extvalue","encodingend","charset","hex","NetworkManager","currXhrId","pendingRequests","requestRange","listeners","requestFull","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onError","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","rangeHeader","getRequestXhr","isPendingRequest","abortRequest","_source","_manager","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","manager","_onHeadersReceived","_onDone","_onError","_url","_fullRequestId","_headersReceivedCapability","_cachedChunks","_storedError","fullRequestXhrId","fullRequestXhr","lengthComputable","_requestId","_close","fileUriRegex","sourceUrl","parsedUrl","host","parseUrl","isFsUrl","_this$_fullRequestRea12","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_readableStream","_error","_setReadableStream","BaseRangeReader","createRequestOptions","auth","hostname","handleResponse","statusCode","_request","http","https","_httpHeaders","Range","fs","lstat","stat","createReadStream","SVG_DEFAULTS","contentType","forceDataSchema","digits","b1","b2","b3","d2","d3","d4","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","len","crc","crc32","deflateSyncUncompressed","literals","deflateBlocks","idat","pi","adler","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","node","from","output","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","pf","pm","acos","clipCount","maskCount","shadingCount","svgFactory","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","loadDependencies","getSVG","svgElement","convertOpList","operatorIdMapping","opList","fn","opTree","opListElement","opListToTree","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","fontStyle","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","_current$txtElement","hasChildNodes","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","childNodes","shadingId","colorStops","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","stop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","walk","shouldBuildText","_node$attributes","child","TextLayerRenderTask","renderTextLayer","textContentSource","textContentStream","scaleFactor","_render","updateTextLayer","textDivs","textDivProperties","mustRescale","getCtx","prevFontSize","prevFontFamily","layout","ascentCache","appendText","geom","textDiv","hasText","hasEOL","_textDivs","_transform","atan2","fontName","fontHeight","fontAscent","cachedAscent","metrics","ascent","fontBoundingBoxAscent","descent","fontBoundingBoxDescent","ratio","pixels","getAscent","_isOffscreenCanvasSupported","sin","cos","divStyle","_container","_rootContainer","_pageWidth","_pageHeight","dir","_fontInspectorEnabled","dataset","shouldScaleText","absScaleX","absScaleY","_textDivProperties","_isReadableStream","_layoutText","textContentItemsStr","_textContentSource","_textContentItemsStr","_globalThis$FontInspe2","_canceled","_layoutTextParams","_processItems","styleCache","br","_ref39","AnnotationEditorLayer","_freetext","_ink","_stamp","accessibilityManager","annotationLayer","pointerup","editorTypes","FreeTextEditor","InkEditor","StampEditor","_initialized","initialize","addInkEditorIfNeeded","isCommitting","pointerEvents","annotationElementIds","editables","getEditableAnnotations","editable","hide","hiddenAnnotationIds","getEditableAnnotation","show","attach","detach","removePointerInTextLayer","deleteAnnotationElement","_classPrivateFieldGet18","moveElementInDOM","addUndoableEditor","pasteEditor","annotationType","annotationEditorType","innerWidth","innerHeight","_annotation_layer","_translateEmpty","editorDivBlur","editorDivFocus","editorDivInput","editorDivKeydown","_defaultColor","_defaultFontSize","_internalPadding","overlayDiv","editorDiv","contentEditable","removeAttribute","preventScroll","_this$_initialOptions","savedText","newText","trimEnd","setText","dblclick","baseX","baseY","_this$editorDiv","_this$editorDiv2","posX","posY","FreeTextAnnotationElement","defaultAppearanceData","fontColor","textPosition","super","isForCopying","padding","structTreeParentId","setFontsize","savedFontsize","savedColor","divs","savedDisplay","display","replaceChildren","line","createTextNode","StampAnnotationElement","InkAnnotationElement","AnnotationLayer","_scripting_utils","_displayL10n_utils","_xfa_layer","GetElementsByNameSet","getRectDims","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","SignatureWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","linkService","downloadManager","imageResourcesPath","renderForms","enableScripting","_fieldObjects","fieldObjects","_createContainer","_createQuadrilaterals","titleObj","contentsObj","richText","hasPopupData","_hasPopupData","popupRef","noRotate","setRotation","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","elementWidth","elementHeight","_commonActions","setColor","jsName","styleName","detail","colorArray","ColorConverters","noView","noPrint","userName","title","readonly","disabled","required","_setRequired","textColor","_dispatchEventFromSandbox","actions","jsEvent","commonActions","_setDefaultPropertiesFromJS","storedData","quadPoints","rectBlX","rectBlY","rectTrX","rectTrY","trX","trY","blX","blY","svgBuffer","rectWidth","rectHeight","backgroundImage","_createPopup","popup","modificationDate","parentRect","elements","_getElementsByName","skipId","fields","fieldObj","exportValues","exportValue","domElement","querySelector","getElementsByName","getAttribute","maybeShow","forceHide","getElementsToTriggerPopup","addHighlightArea","triggers","_editOnDoubleClick","isTooltipOnly","link","isBound","addLinkAttributes","newWindow","_bindNamedAction","attachment","_bindAttachment","setOCGState","_bindLink","Action","_bindJSAction","resetForm","_bindResetFormAction","destination","getDestinationHash","onclick","goToDestination","getAnchorUrl","executeNamedAction","openOrDownloadData","content","otherClickAction","resetFormFields","refs","resetFormRefs","include","allFields","fieldIds","fieldName","field","storage","allIds","dispatchEvent","Event","executeSetOCGState","alt","l10nId","l10nArgs","alternativeText","showElementAndHideCanvas","previousSibling","nodeName","_getKeyModifier","_setEventListener","elementData","baseName","eventName","valueGetter","modifier","focused","_setEventListeners","getter","_this$data$actions","_this$data$actions2","Blur","_this$data$actions3","Focus","_setBackgroundColor","_setTextStyle","TEXT_ALIGNMENT","computedFontSize","roundToOneDecimal","multiLine","lineHeight","textAlignment","textAlign","isRequired","hasAppearance","fieldValue","setPropertyOnSiblings","keyInStorage","maxLen","charLimit","fieldFormattedValues","formattedValue","_this$data$textConten","comb","userValue","lastCommittedValue","commitKey","doNotScroll","overflowY","overflowX","readOnly","maxLength","defaultFieldValue","blurListener","scrollLeft","selRange","setSelectionRange","willCommit","selStart","selectionStart","selEnd","selectionEnd","_blurListener","_this$data$actions4","Keystroke","inputType","change","combWidth","letterSpacing","verticalAlign","checked","checkbox","curChecked","buttonValue","radio","pdfButtonValue","linkElement","lastChild","selectElement","addAnEmptyEntry","combo","multiSelect","multiple","option","selected","optionElement","displayValue","removeEmptyEntry","noneOptionElement","isExport","selectedIndex","selectedValues","getItems","multipleSelection","index","findIndex","selectChild","before","indices","changeEx","keyDown","PopupElement","elementIds","dateObject","toDateObject","toLocaleDateString","toLocaleTimeString","trigger","flatMap","baseColor","outlineColor","BACKGROUND_ENLIGHT","header","localized","contents","_formatContents","XfaLayer","xfaHtml","html","useParentRect","normalizedRect","popupLeft","popupTop","lines","lineSpan","lineCoordinates","square","circle","containerClassName","svgElementName","coordinate","vertices","polyline","inkList","inkLists","contentElement","firstChild","replaceWith","NullL10n","annotations","popupToElements","elementParams","noHTML","isPopupAnnotation","rendered","makeColorComp","scaleAndClamp","G","components","CMYK_RGB","RGB_HTML","getL10nFallback","DEFAULT_L10N_STRINGS","of_pages","page_of_pages","document_properties_kb","document_properties_mb","document_properties_date_string","document_properties_page_size_unit_inches","document_properties_page_size_unit_millimeters","document_properties_page_size_orientation_portrait","document_properties_page_size_orientation_landscape","document_properties_page_size_name_a3","document_properties_page_size_name_a4","document_properties_page_size_name_letter","document_properties_page_size_name_legal","document_properties_page_size_dimension_string","document_properties_page_size_dimension_name_string","document_properties_linearized_yes","document_properties_linearized_no","additional_layers","page_landmark","thumb_page_title","thumb_page_canvas","find_reached_top","find_reached_bottom","find_not_found","page_scale_width","page_scale_fit","page_scale_auto","page_scale_actual","page_scale_percent","loading_error","invalid_file_error","missing_file_error","unexpected_response_error","rendering_error","annotation_date_string","printing_not_supported","printing_not_ready","web_fonts_disabled","free_text2_default_content","editor_free_text2_aria_label","editor_ink2_aria_label","editor_ink_canvas_aria_label","editor_alt_text_button_label","editor_alt_text_edit_button_label","editor_alt_text_decorative_tooltip","print_progress_percent","formatL10nValue","xfaOn","xfaOff","isHTMLAnchorElement","HTMLAnchorElement","dataId","setupStorage","rootHtml","setAttributes","stack","rootDiv","childHtml","xmlns","el","querySelectorAll","canvasPointermove","canvasPointerleave","canvasPointerup","canvasPointerdown","thickness","bezierPath2D","allRawPaths","currentPath","translationX","translationY","_defaultThickness","_defaultOpacity","disconnect","setDimensions","_this$div7","roundedWidth","roundedHeight","bezier","p10","p11","p20","p21","p30","p31","path2D","savedThickness","savedOpacity","lastX","lastY","lastPoint","xy","lastPoints","prevX","prevY","bezierPoints","control1","control2","_this$canvas","ResizeObserver","contentRect","observe","scaleFactorW","scaleFactorH","p40","p41","xMin","xMax","yMin","yMax","firstTime","prevTranslationX","prevTranslationY","unscaledPadding","bitmapUrl","bitmapFile","supportedTypes","supportedTypesStr","getAsFile","bitmapId","accessibilityData","stamps","area","prevData","fromId","getFromId","accept","files","click","factor","addAltTextButton","_this$_initialOptions2","bitmapWidth","bitmapHeight","prevWidth","prevHeight","offscreen","transferToImageBitmap","toUrl","toDataURL","__webpack_module_cache__","moduleId","cachedModule","module","__webpack_exports__","_annotation_editor_layer","_api","_text_layer","pdfjsLib","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/amd/build/pdf.worker.entry.min.js b/amd/build/pdf.worker.entry.min.js deleted file mode 100644 index d76ed402..00000000 --- a/amd/build/pdf.worker.entry.min.js +++ /dev/null @@ -1,3 +0,0 @@ -("undefined"!=typeof window?window:{}).pdfjsWorker=require("./pdf.worker.js"); - -//# sourceMappingURL=pdf.worker.entry.min.js.map \ No newline at end of file diff --git a/amd/build/pdf.worker.entry.min.js.map b/amd/build/pdf.worker.entry.min.js.map deleted file mode 100644 index 6e35a011..00000000 --- a/amd/build/pdf.worker.entry.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"pdf.worker.entry.min.js","sources":["../src/pdf.worker.entry.js"],"sourcesContent":["/* Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(typeof window !== \"undefined\"\n ? window\n : {}\n).pdfjsWorker = require(\"./pdf.worker.js\");\n"],"names":["window","pdfjsWorker","require"],"mappings":"CAemB,oBAAXA,OACJA,OACA,IACFC,YAAcC,QAAQ"} \ No newline at end of file diff --git a/amd/build/pdf.worker.min.js b/amd/build/pdf.worker.min.js deleted file mode 100644 index 02916ff6..00000000 --- a/amd/build/pdf.worker.min.js +++ /dev/null @@ -1,3 +0,0 @@ -function _classStaticPrivateMethodGet(receiver,classConstructor,method){return _classCheckPrivateStaticAccess(receiver,classConstructor),method}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _classStaticPrivateFieldSpecGet(receiver,classConstructor,descriptor){return _classCheckPrivateStaticAccess(receiver,classConstructor),function(descriptor,action){if(void 0===descriptor)throw new TypeError("attempted to "+action+" private static field before its declaration")}(descriptor,"get"),_classApplyDescriptorGet(receiver,descriptor)}function _classCheckPrivateStaticAccess(receiver,classConstructor){if(receiver!==classConstructor)throw new TypeError("Private static access of wrong provenance")}function _classPrivateMethodInitSpec(obj,privateSet){_checkPrivateRedeclaration(obj,privateSet),privateSet.add(obj)}function _classPrivateMethodGet(receiver,privateSet,fn){if(!privateSet.has(receiver))throw new TypeError("attempted to get private field on non-instance");return fn}function _classPrivateFieldInitSpec(obj,privateMap,value){_checkPrivateRedeclaration(obj,privateMap),privateMap.set(obj,value)}function _checkPrivateRedeclaration(obj,privateCollection){if(privateCollection.has(obj))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldGet(receiver,privateMap){return _classApplyDescriptorGet(receiver,_classExtractFieldDescriptor(receiver,privateMap,"get"))}function _classApplyDescriptorGet(receiver,descriptor){return descriptor.get?descriptor.get.call(receiver):descriptor.value}function _classPrivateFieldSet(receiver,privateMap,value){return function(receiver,descriptor,value){if(descriptor.set)descriptor.set.call(receiver,value);else{if(!descriptor.writable)throw new TypeError("attempted to set read only private field");descriptor.value=value}}(receiver,_classExtractFieldDescriptor(receiver,privateMap,"set"),value),value}function _classExtractFieldDescriptor(receiver,privateMap,action){if(!privateMap.has(receiver))throw new TypeError("attempted to "+action+" private field on non-instance");return privateMap.get(receiver)}var root,factory;root=globalThis,factory=()=>(()=>{var __webpack_modules__=[,(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.WorkerTask=exports.WorkerMessageHandler=void 0;var maybePort,_util=__w_pdfjs_require__(2),_core_utils=__w_pdfjs_require__(3),_primitives=__w_pdfjs_require__(4),_pdf_manager=__w_pdfjs_require__(6),_annotation=__w_pdfjs_require__(10),_cleanup_helper=__w_pdfjs_require__(68),_writer=__w_pdfjs_require__(73),_message_handler=__w_pdfjs_require__(104),_worker_stream=__w_pdfjs_require__(105),_struct_tree=__w_pdfjs_require__(72);class WorkerTask{constructor(name){this.name=name,this.terminated=!1,this._capability=new _util.PromiseCapability}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error("Worker task was terminated")}}exports.WorkerTask=WorkerTask;class WorkerMessageHandler{static setup(handler,port){let testMessageProcessed=!1;handler.on("test",(function(data){testMessageProcessed||(testMessageProcessed=!0,handler.send("test",data instanceof Uint8Array))})),handler.on("configure",(function(data){(0,_util.setVerbosityLevel)(data.verbosity)})),handler.on("GetDocRequest",(function(data){return WorkerMessageHandler.createDocumentHandler(data,port)}))}static createDocumentHandler(docParams,port){let pdfManager,terminated=!1,cancelXHRs=null;const WorkerTasks=new Set,verbosity=(0,_util.getVerbosityLevel)(),{docId:docId,apiVersion:apiVersion}=docParams;if("3.11.174"!==apiVersion)throw new Error('The API version "'.concat(apiVersion,'" does not match ')+'the Worker version "'.concat("3.11.174",'".'));const enumerableProperties=[];for(const property in[])enumerableProperties.push(property);if(enumerableProperties.length)throw new Error("The `Array.prototype` contains unexpected enumerable properties: "+enumerableProperties.join(", ")+"; thus breaking e.g. `for...in` iteration of `Array`s.");const workerHandlerName=docId+"_worker";let handler=new _message_handler.MessageHandler(workerHandlerName,docId,port);function ensureNotTerminated(){if(terminated)throw new Error("Worker was terminated")}function startWorkerTask(task){WorkerTasks.add(task)}function finishWorkerTask(task){task.finish(),WorkerTasks.delete(task)}async function loadDocument(recoveryMode){await pdfManager.ensureDoc("checkHeader"),await pdfManager.ensureDoc("parseStartXRef"),await pdfManager.ensureDoc("parse",[recoveryMode]),await pdfManager.ensureDoc("checkFirstPage",[recoveryMode]),await pdfManager.ensureDoc("checkLastPage",[recoveryMode]);const isPureXfa=await pdfManager.ensureDoc("isPureXfa");if(isPureXfa){const task=new WorkerTask("loadXfaFonts");startWorkerTask(task),await Promise.all([pdfManager.loadXfaFonts(handler,task).catch((reason=>{})).then((()=>finishWorkerTask(task))),pdfManager.loadXfaImages()])}const[numPages,fingerprints]=await Promise.all([pdfManager.ensureDoc("numPages"),pdfManager.ensureDoc("fingerprints")]);return{numPages:numPages,fingerprints:fingerprints,htmlForXfa:isPureXfa?await pdfManager.ensureDoc("htmlForXfa"):null}}function getPdfManager(_ref){let{data:data,password:password,disableAutoFetch:disableAutoFetch,rangeChunkSize:rangeChunkSize,length:length,docBaseUrl:docBaseUrl,enableXfa:enableXfa,evaluatorOptions:evaluatorOptions}=_ref;const pdfManagerArgs={source:null,disableAutoFetch:disableAutoFetch,docBaseUrl:docBaseUrl,docId:docId,enableXfa:enableXfa,evaluatorOptions:evaluatorOptions,handler:handler,length:length,password:password,rangeChunkSize:rangeChunkSize},pdfManagerCapability=new _util.PromiseCapability;let newPdfManager;if(data){try{pdfManagerArgs.source=data,newPdfManager=new _pdf_manager.LocalPdfManager(pdfManagerArgs),pdfManagerCapability.resolve(newPdfManager)}catch(ex){pdfManagerCapability.reject(ex)}return pdfManagerCapability.promise}let pdfStream,cachedChunks=[];try{pdfStream=new _worker_stream.PDFWorkerStream(handler)}catch(ex){return pdfManagerCapability.reject(ex),pdfManagerCapability.promise}const fullRequest=pdfStream.getFullReader();fullRequest.headersReady.then((function(){if(fullRequest.isRangeSupported){pdfManagerArgs.source=pdfStream,pdfManagerArgs.length=fullRequest.contentLength,pdfManagerArgs.disableAutoFetch||(pdfManagerArgs.disableAutoFetch=fullRequest.isStreamingSupported),newPdfManager=new _pdf_manager.NetworkPdfManager(pdfManagerArgs);for(const chunk of cachedChunks)newPdfManager.sendProgressiveData(chunk);cachedChunks=[],pdfManagerCapability.resolve(newPdfManager),cancelXHRs=null}})).catch((function(reason){pdfManagerCapability.reject(reason),cancelXHRs=null}));let loaded=0;return new Promise((function(resolve,reject){const readChunk=function(_ref2){let{value:value,done:done}=_ref2;try{if(ensureNotTerminated(),done)return newPdfManager||function(){const pdfFile=(0,_core_utils.arrayBuffersToBytes)(cachedChunks);length&&pdfFile.length!==length&&(0,_util.warn)("reported HTTP length is different from actual");try{pdfManagerArgs.source=pdfFile,newPdfManager=new _pdf_manager.LocalPdfManager(pdfManagerArgs),pdfManagerCapability.resolve(newPdfManager)}catch(ex){pdfManagerCapability.reject(ex)}cachedChunks=[]}(),void(cancelXHRs=null);loaded+=value.byteLength,fullRequest.isStreamingSupported||handler.send("DocProgress",{loaded:loaded,total:Math.max(loaded,fullRequest.contentLength||0)}),newPdfManager?newPdfManager.sendProgressiveData(value):cachedChunks.push(value),fullRequest.read().then(readChunk,reject)}catch(e){reject(e)}};fullRequest.read().then(readChunk,reject)})).catch((function(e){pdfManagerCapability.reject(e),cancelXHRs=null})),cancelXHRs=function(reason){pdfStream.cancelAllRequests(reason)},pdfManagerCapability.promise}return handler.on("GetPage",(function(data){return pdfManager.getPage(data.pageIndex).then((function(page){return Promise.all([pdfManager.ensure(page,"rotate"),pdfManager.ensure(page,"ref"),pdfManager.ensure(page,"userUnit"),pdfManager.ensure(page,"view")]).then((function(_ref4){let[rotate,ref,userUnit,view]=_ref4;return{rotate:rotate,ref:ref,userUnit:userUnit,view:view}}))}))})),handler.on("GetPageIndex",(function(data){const pageRef=_primitives.Ref.get(data.num,data.gen);return pdfManager.ensureCatalog("getPageIndex",[pageRef])})),handler.on("GetDestinations",(function(data){return pdfManager.ensureCatalog("destinations")})),handler.on("GetDestination",(function(data){return pdfManager.ensureCatalog("getDestination",[data.id])})),handler.on("GetPageLabels",(function(data){return pdfManager.ensureCatalog("pageLabels")})),handler.on("GetPageLayout",(function(data){return pdfManager.ensureCatalog("pageLayout")})),handler.on("GetPageMode",(function(data){return pdfManager.ensureCatalog("pageMode")})),handler.on("GetViewerPreferences",(function(data){return pdfManager.ensureCatalog("viewerPreferences")})),handler.on("GetOpenAction",(function(data){return pdfManager.ensureCatalog("openAction")})),handler.on("GetAttachments",(function(data){return pdfManager.ensureCatalog("attachments")})),handler.on("GetDocJSActions",(function(data){return pdfManager.ensureCatalog("jsActions")})),handler.on("GetPageJSActions",(function(_ref5){let{pageIndex:pageIndex}=_ref5;return pdfManager.getPage(pageIndex).then((function(page){return pdfManager.ensure(page,"jsActions")}))})),handler.on("GetOutline",(function(data){return pdfManager.ensureCatalog("documentOutline")})),handler.on("GetOptionalContentConfig",(function(data){return pdfManager.ensureCatalog("optionalContentConfig")})),handler.on("GetPermissions",(function(data){return pdfManager.ensureCatalog("permissions")})),handler.on("GetMetadata",(function(data){return Promise.all([pdfManager.ensureDoc("documentInfo"),pdfManager.ensureCatalog("metadata")])})),handler.on("GetMarkInfo",(function(data){return pdfManager.ensureCatalog("markInfo")})),handler.on("GetData",(function(data){return pdfManager.requestLoadedStream().then((function(stream){return stream.bytes}))})),handler.on("GetAnnotations",(function(_ref6){let{pageIndex:pageIndex,intent:intent}=_ref6;return pdfManager.getPage(pageIndex).then((function(page){const task=new WorkerTask("GetAnnotations: page ".concat(pageIndex));return startWorkerTask(task),page.getAnnotationsData(handler,task,intent).then((data=>(finishWorkerTask(task),data)),(reason=>{throw finishWorkerTask(task),reason}))}))})),handler.on("GetFieldObjects",(function(data){return pdfManager.ensureDoc("fieldObjects")})),handler.on("HasJSActions",(function(data){return pdfManager.ensureDoc("hasJSActions")})),handler.on("GetCalculationOrderIds",(function(data){return pdfManager.ensureDoc("calculationOrderIds")})),handler.on("SaveDocument",(async function(_ref7){let{isPureXfa:isPureXfa,numPages:numPages,annotationStorage:annotationStorage,filename:filename}=_ref7;const globalPromises=[pdfManager.requestLoadedStream(),pdfManager.ensureCatalog("acroForm"),pdfManager.ensureCatalog("acroFormRef"),pdfManager.ensureDoc("startXRef"),pdfManager.ensureDoc("xref"),pdfManager.ensureDoc("linearization"),pdfManager.ensureCatalog("structTreeRoot")],promises=[],newAnnotationsByPage=isPureXfa?null:(0,_core_utils.getNewAnnotationsMap)(annotationStorage),[stream,acroForm,acroFormRef,startXRef,xref,linearization,_structTreeRoot]=await Promise.all(globalPromises),catalogRef=xref.trailer.getRaw("Root")||null;let structTreeRoot;if(newAnnotationsByPage){_structTreeRoot?await _structTreeRoot.canUpdateStructTree({pdfManager:pdfManager,newAnnotationsByPage:newAnnotationsByPage})&&(structTreeRoot=_structTreeRoot):await _struct_tree.StructTreeRoot.canCreateStructureTree({catalogRef:catalogRef,pdfManager:pdfManager,newAnnotationsByPage:newAnnotationsByPage})&&(structTreeRoot=null);const imagePromises=_annotation.AnnotationFactory.generateImages(annotationStorage.values(),xref,pdfManager.evaluatorOptions.isOffscreenCanvasSupported),newAnnotationPromises=void 0===structTreeRoot?promises:[];for(const[pageIndex,annotations]of newAnnotationsByPage)newAnnotationPromises.push(pdfManager.getPage(pageIndex).then((page=>{const task=new WorkerTask("Save (editor): page ".concat(pageIndex));return page.saveNewAnnotations(handler,task,annotations,imagePromises).finally((function(){finishWorkerTask(task)}))})));null===structTreeRoot?promises.push(Promise.all(newAnnotationPromises).then((async newRefs=>(await _struct_tree.StructTreeRoot.createStructureTree({newAnnotationsByPage:newAnnotationsByPage,xref:xref,catalogRef:catalogRef,pdfManager:pdfManager,newRefs:newRefs}),newRefs)))):structTreeRoot&&promises.push(Promise.all(newAnnotationPromises).then((async newRefs=>(await structTreeRoot.updateStructureTree({newAnnotationsByPage:newAnnotationsByPage,pdfManager:pdfManager,newRefs:newRefs}),newRefs))))}if(isPureXfa)promises.push(pdfManager.serializeXfaData(annotationStorage));else for(let pageIndex=0;pageIndexref.needAppearances)),xfa=acroForm instanceof _primitives.Dict&&acroForm.get("XFA")||null;let xfaDatasetsRef=null,hasXfaDatasetsEntry=!1;if(Array.isArray(xfa)){for(let i=0,ii=xfa.length;i{"string"==typeof value&&(infoObj[key]=(0,_util.stringToPDFString)(value))})),newXrefInfo={rootRef:catalogRef,encryptRef:xref.trailer.getRaw("Encrypt")||null,newRef:xref.getNewTemporaryRef(),infoRef:xref.trailer.getRaw("Info")||null,info:infoObj,fileIds:xref.trailer.get("ID")||null,startXRef:linearization?startXRef:null!==(_xref$lastXRefStreamP=xref.lastXRefStreamPos)&&void 0!==_xref$lastXRefStreamP?_xref$lastXRefStreamP:startXRef,filename:filename}}return(0,_writer.incrementalUpdate)({originalData:stream.bytes,xrefInfo:newXrefInfo,newRefs:newRefs,xref:xref,hasXfa:!!xfa,xfaDatasetsRef:xfaDatasetsRef,hasXfaDatasetsEntry:hasXfaDatasetsEntry,needAppearances:needAppearances,acroFormRef:acroFormRef,acroForm:acroForm,xfaData:xfaData}).finally((()=>{xref.resetNewTemporaryRef()}))})),handler.on("GetOperatorList",(function(data,sink){const pageIndex=data.pageIndex;pdfManager.getPage(pageIndex).then((function(page){const task=new WorkerTask("GetOperatorList: page ".concat(pageIndex));startWorkerTask(task);const start=verbosity>=_util.VerbosityLevel.INFOS?Date.now():0;page.getOperatorList({handler:handler,sink:sink,task:task,intent:data.intent,cacheKey:data.cacheKey,annotationStorage:data.annotationStorage}).then((function(operatorListInfo){finishWorkerTask(task),start&&(0,_util.info)("page=".concat(pageIndex+1," - getOperatorList: time=")+"".concat(Date.now()-start,"ms, len=").concat(operatorListInfo.length)),sink.close()}),(function(reason){finishWorkerTask(task),task.terminated||sink.error(reason)}))}))})),handler.on("GetTextContent",(function(data,sink){const{pageIndex:pageIndex,includeMarkedContent:includeMarkedContent,disableNormalization:disableNormalization}=data;pdfManager.getPage(pageIndex).then((function(page){const task=new WorkerTask("GetTextContent: page "+pageIndex);startWorkerTask(task);const start=verbosity>=_util.VerbosityLevel.INFOS?Date.now():0;page.extractTextContent({handler:handler,task:task,sink:sink,includeMarkedContent:includeMarkedContent,disableNormalization:disableNormalization}).then((function(){finishWorkerTask(task),start&&(0,_util.info)("page=".concat(pageIndex+1," - getTextContent: time=")+"".concat(Date.now()-start,"ms")),sink.close()}),(function(reason){finishWorkerTask(task),task.terminated||sink.error(reason)}))}))})),handler.on("GetStructTree",(function(data){return pdfManager.getPage(data.pageIndex).then((function(page){return pdfManager.ensure(page,"getStructTree")}))})),handler.on("FontFallback",(function(data){return pdfManager.fontFallback(data.id,handler)})),handler.on("Cleanup",(function(data){return pdfManager.cleanup(!0)})),handler.on("Terminate",(function(data){terminated=!0;const waitOn=[];if(pdfManager){pdfManager.terminate(new _util.AbortException("Worker was terminated."));const cleanupPromise=pdfManager.cleanup();waitOn.push(cleanupPromise),pdfManager=null}else(0,_cleanup_helper.clearGlobalCaches)();cancelXHRs&&cancelXHRs(new _util.AbortException("Worker was terminated."));for(const task of WorkerTasks)waitOn.push(task.finished),task.terminate();return Promise.all(waitOn).then((function(){handler.destroy(),handler=null}))})),handler.on("Ready",(function(data){!function(data){function onSuccess(doc){ensureNotTerminated(),handler.send("GetDoc",{pdfInfo:doc})}function onFailure(ex){if(ensureNotTerminated(),ex instanceof _util.PasswordException){const task=new WorkerTask("PasswordException: response ".concat(ex.code));startWorkerTask(task),handler.sendWithPromise("PasswordRequest",ex).then((function(_ref3){let{password:password}=_ref3;finishWorkerTask(task),pdfManager.updatePassword(password),pdfManagerReady()})).catch((function(){finishWorkerTask(task),handler.send("DocException",ex)}))}else ex instanceof _util.InvalidPDFException||ex instanceof _util.MissingPDFException||ex instanceof _util.UnexpectedResponseException||ex instanceof _util.UnknownErrorException?handler.send("DocException",ex):handler.send("DocException",new _util.UnknownErrorException(ex.message,ex.toString()))}function pdfManagerReady(){ensureNotTerminated(),loadDocument(!1).then(onSuccess,(function(reason){ensureNotTerminated(),reason instanceof _core_utils.XRefParseException?pdfManager.requestLoadedStream().then((function(){ensureNotTerminated(),loadDocument(!0).then(onSuccess,onFailure)})):onFailure(reason)}))}ensureNotTerminated(),getPdfManager(data).then((function(newPdfManager){if(terminated)throw newPdfManager.terminate(new _util.AbortException("Worker was terminated.")),new Error("Worker was terminated");pdfManager=newPdfManager,pdfManager.requestLoadedStream(!0).then((stream=>{handler.send("DataLoaded",{length:stream.bytes.byteLength})}))})).then(pdfManagerReady,onFailure)}(docParams),docParams=null})),workerHandlerName}static initializeFromPort(port){const handler=new _message_handler.MessageHandler("worker","main",port);WorkerMessageHandler.setup(handler,port),handler.send("ready",null)}}exports.WorkerMessageHandler=WorkerMessageHandler,"undefined"==typeof window&&!_util.isNodeJS&&"undefined"!=typeof self&&"function"==typeof(maybePort=self).postMessage&&"onmessage"in maybePort&&WorkerMessageHandler.initializeFromPort(self)},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.VerbosityLevel=exports.Util=exports.UnknownErrorException=exports.UnexpectedResponseException=exports.TextRenderingMode=exports.RenderingIntentFlag=exports.PromiseCapability=exports.PermissionFlag=exports.PasswordResponses=exports.PasswordException=exports.PageActionEventType=exports.OPS=exports.MissingPDFException=exports.MAX_IMAGE_SIZE_TO_CACHE=exports.LINE_FACTOR=exports.LINE_DESCENT_FACTOR=exports.InvalidPDFException=exports.ImageKind=exports.IDENTITY_MATRIX=exports.FormatError=exports.FeatureTest=exports.FONT_IDENTITY_MATRIX=exports.DocumentActionEventType=exports.CMapCompressionType=exports.BaseException=exports.BASELINE_FACTOR=exports.AnnotationType=exports.AnnotationReplyType=exports.AnnotationPrefix=exports.AnnotationMode=exports.AnnotationFlag=exports.AnnotationFieldFlag=exports.AnnotationEditorType=exports.AnnotationEditorPrefix=exports.AnnotationEditorParamsType=exports.AnnotationBorderStyleType=exports.AnnotationActionEventType=exports.AbortException=void 0,exports.assert=function(cond,msg){cond||unreachable(msg)},exports.bytesToString=bytesToString,exports.createValidAbsoluteUrl=function(url){let baseUrl=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,options=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!url)return null;try{if(options&&"string"==typeof url){if(options.addDefaultProtocol&&url.startsWith("www.")){const dots=url.match(/\./g);(null==dots?void 0:dots.length)>=2&&(url="http://".concat(url))}if(options.tryConvertEncoding)try{url=stringToUTF8String(url)}catch{}}const absoluteUrl=baseUrl?new URL(url,baseUrl):new URL(url);if(_isValidProtocol(absoluteUrl))return absoluteUrl}catch{}return null},exports.getModificationDate=function(){let date=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;const buffer=[date.getUTCFullYear().toString(),(date.getUTCMonth()+1).toString().padStart(2,"0"),date.getUTCDate().toString().padStart(2,"0"),date.getUTCHours().toString().padStart(2,"0"),date.getUTCMinutes().toString().padStart(2,"0"),date.getUTCSeconds().toString().padStart(2,"0")];return buffer.join("")},exports.getUuid=function(){var _crypto2,_crypto3;if("undefined"!=typeof crypto&&"function"==typeof(null===(_crypto2=crypto)||void 0===_crypto2?void 0:_crypto2.randomUUID))return crypto.randomUUID();const buf=new Uint8Array(32);if("undefined"!=typeof crypto&&"function"==typeof(null===(_crypto3=crypto)||void 0===_crypto3?void 0:_crypto3.getRandomValues))crypto.getRandomValues(buf);else for(let i=0;i<32;i++)buf[i]=Math.floor(255*Math.random());return bytesToString(buf)},exports.getVerbosityLevel=function(){return verbosity},exports.info=function(msg){verbosity>=VerbosityLevel.INFOS&&console.log("Info: ".concat(msg))},exports.isArrayBuffer=function(v){return"object"==typeof v&&void 0!==(null==v?void 0:v.byteLength)},exports.isArrayEqual=function(arr1,arr2){if(arr1.length!==arr2.length)return!1;for(let i=0,ii=arr1.length;ip1?p1.normalize("NFKC"):NormalizationMap.get(p2)))},exports.objectFromMap=function(map){const obj=Object.create(null);for(const[key,value]of map)obj[key]=value;return obj},exports.objectSize=function(obj){return Object.keys(obj).length},exports.setVerbosityLevel=function(level){Number.isInteger(level)&&(verbosity=level)},exports.shadow=shadow,exports.string32=function(value){return String.fromCharCode(value>>24&255,value>>16&255,value>>8&255,255&value)},exports.stringToBytes=stringToBytes,exports.stringToPDFString=function(str){if(str[0]>="ï"){let encoding;if("þ"===str[0]&&"ÿ"===str[1]?encoding="utf-16be":"ÿ"===str[0]&&"þ"===str[1]?encoding="utf-16le":"ï"===str[0]&&"»"===str[1]&&"¿"===str[2]&&(encoding="utf-8"),encoding)try{const decoder=new TextDecoder(encoding,{fatal:!0}),buffer=stringToBytes(str);return decoder.decode(buffer)}catch(ex){warn('stringToPDFString: "'.concat(ex,'".'))}}const strBuf=[];for(let i=0,ii=str.length;i=VerbosityLevel.WARNINGS&&console.log("Warning: ".concat(msg))}function unreachable(msg){throw new Error(msg)}function _isValidProtocol(url){switch(null==url?void 0:url.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function shadow(obj,prop,value){let nonSerializable=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return Object.defineProperty(obj,prop,{value:value,enumerable:!nonSerializable,configurable:!0,writable:!1}),value}const BaseException=function(){function BaseException(message,name){this.constructor===BaseException&&unreachable("Cannot initialize BaseException."),this.message=message,this.name=name}return BaseException.prototype=new Error,BaseException.constructor=BaseException,BaseException}();function bytesToString(bytes){"object"==typeof bytes&&void 0!==(null==bytes?void 0:bytes.length)||unreachable("Invalid argument for bytesToString");const length=bytes.length;if(length<8192)return String.fromCharCode.apply(null,bytes);const strBuf=[];for(let i=0;in.toString(16).padStart(2,"0")));exports.Util=class{static makeHexColor(r,g,b){return"#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b])}static scaleMinMax(transform,minMax){let temp;transform[0]?(transform[0]<0&&(temp=minMax[0],minMax[0]=minMax[1],minMax[1]=temp),minMax[0]*=transform[0],minMax[1]*=transform[0],transform[3]<0&&(temp=minMax[2],minMax[2]=minMax[3],minMax[3]=temp),minMax[2]*=transform[3],minMax[3]*=transform[3]):(temp=minMax[0],minMax[0]=minMax[2],minMax[2]=temp,temp=minMax[1],minMax[1]=minMax[3],minMax[3]=temp,transform[1]<0&&(temp=minMax[2],minMax[2]=minMax[3],minMax[3]=temp),minMax[2]*=transform[1],minMax[3]*=transform[1],transform[2]<0&&(temp=minMax[0],minMax[0]=minMax[1],minMax[1]=temp),minMax[0]*=transform[2],minMax[1]*=transform[2]),minMax[0]+=transform[4],minMax[1]+=transform[4],minMax[2]+=transform[5],minMax[3]+=transform[5]}static transform(m1,m2){return[m1[0]*m2[0]+m1[2]*m2[1],m1[1]*m2[0]+m1[3]*m2[1],m1[0]*m2[2]+m1[2]*m2[3],m1[1]*m2[2]+m1[3]*m2[3],m1[0]*m2[4]+m1[2]*m2[5]+m1[4],m1[1]*m2[4]+m1[3]*m2[5]+m1[5]]}static applyTransform(p,m){return[p[0]*m[0]+p[1]*m[2]+m[4],p[0]*m[1]+p[1]*m[3]+m[5]]}static applyInverseTransform(p,m){const d=m[0]*m[3]-m[1]*m[2];return[(p[0]*m[3]-p[1]*m[2]+m[2]*m[5]-m[4]*m[3])/d,(-p[0]*m[1]+p[1]*m[0]+m[4]*m[1]-m[5]*m[0])/d]}static getAxialAlignedBoundingBox(r,m){const p1=this.applyTransform(r,m),p2=this.applyTransform(r.slice(2,4),m),p3=this.applyTransform([r[0],r[3]],m),p4=this.applyTransform([r[2],r[1]],m);return[Math.min(p1[0],p2[0],p3[0],p4[0]),Math.min(p1[1],p2[1],p3[1],p4[1]),Math.max(p1[0],p2[0],p3[0],p4[0]),Math.max(p1[1],p2[1],p3[1],p4[1])]}static inverseTransform(m){const d=m[0]*m[3]-m[1]*m[2];return[m[3]/d,-m[1]/d,-m[2]/d,m[0]/d,(m[2]*m[5]-m[4]*m[3])/d,(m[4]*m[1]-m[5]*m[0])/d]}static singularValueDecompose2dScale(m){const transpose=[m[0],m[2],m[1],m[3]],a=m[0]*transpose[0]+m[1]*transpose[2],b=m[0]*transpose[1]+m[1]*transpose[3],c=m[2]*transpose[0]+m[3]*transpose[2],d=m[2]*transpose[1]+m[3]*transpose[3],first=(a+d)/2,second=Math.sqrt((a+d)**2-4*(a*d-c*b))/2,sx=first+second||1,sy=first-second||1;return[Math.sqrt(sx),Math.sqrt(sy)]}static normalizeRect(rect){const r=rect.slice(0);return rect[0]>rect[2]&&(r[0]=rect[2],r[2]=rect[0]),rect[1]>rect[3]&&(r[1]=rect[3],r[3]=rect[1]),r}static intersect(rect1,rect2){const xLow=Math.max(Math.min(rect1[0],rect1[2]),Math.min(rect2[0],rect2[2])),xHigh=Math.min(Math.max(rect1[0],rect1[2]),Math.max(rect2[0],rect2[2]));if(xLow>xHigh)return null;const yLow=Math.max(Math.min(rect1[1],rect1[3]),Math.min(rect2[1],rect2[3])),yHigh=Math.min(Math.max(rect1[1],rect1[3]),Math.max(rect2[1],rect2[3]));return yLow>yHigh?null:[xLow,yLow,xHigh,yHigh]}static bezierBoundingBox(x0,y0,x1,y1,x2,y2,x3,y3){const tvalues=[],bounds=[[],[]];let a,b,c,t,t1,t2,b2ac,sqrtb2ac;for(let i=0;i<2;++i)if(0===i?(b=6*x0-12*x1+6*x2,a=-3*x0+9*x1-9*x2+3*x3,c=3*x1-3*x0):(b=6*y0-12*y1+6*y2,a=-3*y0+9*y1-9*y2+3*y3,c=3*y1-3*y0),Math.abs(a)<1e-12){if(Math.abs(b)<1e-12)continue;t=-c/b,0{this.resolve=data=>{_classPrivateFieldSet(this,_settled,!0),resolve(data)},this.reject=reason=>{_classPrivateFieldSet(this,_settled,!0),reject(reason)}}))}get settled(){return _classPrivateFieldGet(this,_settled)}};let NormalizeRegex=null,NormalizationMap=null;exports.AnnotationPrefix="pdfjs_internal_id_"},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XRefParseException=exports.XRefEntryException=exports.ParserEOFException=exports.PDF_VERSION_REGEXP=exports.MissingDataException=void 0,exports.arrayBuffersToBytes=function(arr){const length=arr.length;if(0===length)return new Uint8Array(0);if(1===length)return new Uint8Array(arr[0]);let dataLength=0;for(let i=0;i=0;i--){const additionalActions=additionalActionsDicts[i];if(additionalActions instanceof _primitives.Dict)for(const key of additionalActions.getKeys()){const action=eventType[key];if(!action)continue;const actionDict=additionalActions.getRaw(key),parents=new _primitives.RefSet,list=[];_collectJS(actionDict,xref,list,parents),list.length>0&&(actions[action]=list)}}if(dict.has("A")){const actionDict=dict.get("A"),parents=new _primitives.RefSet,list=[];_collectJS(actionDict,xref,list,parents),list.length>0&&(actions.Action=list)}return(0,_util.objectSize)(actions)>0?actions:null},exports.encodeToXmlString=function(str){const buffer=[];let start=0;for(let i=0,ii=str.length;i55295&&(char<57344||char>65533)&&i++,start=i+1}return 0===buffer.length?str:(start126||35===char||40===char||41===char||60===char||62===char||91===char||93===char||123===char||125===char||47===char||37===char)&&(start"\n"===match?"\\n":"\r"===match?"\\r":"\\".concat(match)))},exports.getInheritableProperty=getInheritableProperty,exports.getLookupTableFactory=function(initializer){let lookup;return function(){return initializer&&(lookup=Object.create(null),initializer(lookup),initializer=null),lookup}},exports.getNewAnnotationsMap=function(annotationStorage){if(!annotationStorage)return null;const newAnnotationsByPage=new Map;for(const[key,value]of annotationStorage){if(!key.startsWith(_util.AnnotationEditorPrefix))continue;let annotations=newAnnotationsByPage.get(value.pageIndex);annotations||(annotations=[],newAnnotationsByPage.set(value.pageIndex,annotations)),annotations.push(value)}return newAnnotationsByPage.size>0?newAnnotationsByPage:null},exports.getRotationMatrix=function(rotation,width,height){switch(rotation){case 90:return[0,1,-1,0,width,0];case 180:return[-1,0,0,-1,width,height];case 270:return[0,-1,1,0,0,height];default:throw new Error("Invalid rotation")}},exports.isAscii=function(str){return/^[\x00-\x7F]*$/.test(str)},exports.isWhiteSpace=function(ch){return 32===ch||9===ch||13===ch||10===ch},exports.log2=function(x){return x<=0?0:Math.ceil(Math.log2(x))},exports.numberToString=function(value){if(Number.isInteger(value))return value.toString();const roundedValue=Math.round(100*value);return roundedValue%100==0?(roundedValue/100).toString():roundedValue%10==0?value.toFixed(1):value.toFixed(2)},exports.parseXFAPath=function(path){const positionPattern=/(.+)\[(\d+)\]$/;return path.split(".").map((component=>{const m=component.match(positionPattern);return m?{name:m[1],pos:parseInt(m[2],10)}:{name:component,pos:0}}))},exports.readInt8=function(data,offset){return data[offset]<<24>>24},exports.readUint16=function(data,offset){return data[offset]<<8|data[offset+1]},exports.readUint32=function(data,offset){return(data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3])>>>0},exports.recoverJsURL=function(str){const jsUrl=new RegExp("^\\s*("+["app.launchURL","window.open","xfa.host.gotoURL"].join("|").replaceAll(".","\\.")+")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))","i").exec(str);if(null!=jsUrl&&jsUrl[2]){const url=jsUrl[2];let newWindow=!1;return"true"===jsUrl[3]&&"app.launchURL"===jsUrl[1]&&(newWindow=!0),{url:url,newWindow:newWindow}}return null},exports.stringToUTF16HexString=function(str){const buf=[];for(let i=0,ii=str.length;i>8&255).toString(16).padStart(2,"0"),(255&char).toString(16).padStart(2,"0"))}return buf.join("")},exports.stringToUTF16String=function(str){let bigEndian=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const buf=[];bigEndian&&buf.push("þÿ");for(let i=0,ii=str.length;i>8&255),String.fromCharCode(255&char))}return buf.join("")},exports.toRomanNumerals=function(number){let lowerCase=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(0,_util.assert)(Number.isInteger(number)&&number>0,"The number should be a positive integer.");const romanBuf=[];let pos;for(;number>=1e3;)number-=1e3,romanBuf.push("M");pos=number/100|0,number%=100,romanBuf.push(ROMAN_NUMBER_MAP[pos]),pos=number/10|0,number%=10,romanBuf.push(ROMAN_NUMBER_MAP[10+pos]),romanBuf.push(ROMAN_NUMBER_MAP[20+number]);const romanStr=romanBuf.join("");return lowerCase?romanStr.toLowerCase():romanStr},exports.validateCSSFont=function(cssFontInfo){const CSS_FONT_WEIGHT_VALUES=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:fontFamily,fontWeight:fontWeight,italicAngle:italicAngle}=cssFontInfo;if(!validateFontName(fontFamily,!0))return!1;const weight=fontWeight?fontWeight.toString():"";cssFontInfo.fontWeight=CSS_FONT_WEIGHT_VALUES.has(weight)?weight:"400";const angle=parseFloat(italicAngle);return cssFontInfo.italicAngle=isNaN(angle)||angle<-90||angle>90?"14":italicAngle.toString(),!0},exports.validateFontName=validateFontName;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_base_stream=__w_pdfjs_require__(5);exports.PDF_VERSION_REGEXP=/^[1-9]\.\d$/;class MissingDataException extends _util.BaseException{constructor(begin,end){super("Missing data [".concat(begin,", ").concat(end,")"),"MissingDataException"),this.begin=begin,this.end=end}}exports.MissingDataException=MissingDataException;class ParserEOFException extends _util.BaseException{constructor(msg){super(msg,"ParserEOFException")}}exports.ParserEOFException=ParserEOFException;class XRefEntryException extends _util.BaseException{constructor(msg){super(msg,"XRefEntryException")}}exports.XRefEntryException=XRefEntryException;class XRefParseException extends _util.BaseException{constructor(msg){super(msg,"XRefParseException")}}function getInheritableProperty(_ref8){let values,{dict:dict,key:key,getArray:getArray=!1,stopWhenFound:stopWhenFound=!0}=_ref8;const visited=new _primitives.RefSet;for(;dict instanceof _primitives.Dict&&(!dict.objId||!visited.has(dict.objId));){dict.objId&&visited.put(dict.objId);const value=getArray?dict.getArray(key):dict.get(key);if(void 0!==value){if(stopWhenFound)return value;(values||(values=[])).push(value)}dict=dict.get("Parent")}return values}exports.XRefParseException=XRefParseException;const ROMAN_NUMBER_MAP=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"];function _collectJS(entry,xref,list,parents){if(!entry)return;let parent=null;if(entry instanceof _primitives.Ref){if(parents.has(entry))return;parent=entry,parents.put(parent),entry=xref.fetch(entry)}if(Array.isArray(entry))for(const element of entry)_collectJS(element,xref,list,parents);else if(entry instanceof _primitives.Dict){if((0,_primitives.isName)(entry.get("S"),"JavaScript")){const js=entry.get("JS");let code;js instanceof _base_stream.BaseStream?code=js.getString():"string"==typeof js&&(code=js),code&&(code=(0,_util.stringToPDFString)(code).replaceAll("\0","")),code&&list.push(code)}_collectJS(entry.getRaw("Next"),xref,list,parents)}parent&&parents.remove(parent)}const XMLEntities={60:"<",62:">",38:"&",34:""",39:"'"};function validateFontName(fontFamily){let mustWarn=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const m=/^("|').*("|')$/.exec(fontFamily);if(m&&m[1]===m[2]){if(new RegExp("[^\\\\]".concat(m[1])).test(fontFamily.slice(1,-1)))return mustWarn&&(0,_util.warn)("FontFamily contains unescaped ".concat(m[1],": ").concat(fontFamily,".")),!1}else for(const ident of fontFamily.split(/[ \t]+/))if(/^(\d|(-(\d|-)))/.test(ident)||!/^[\w-\\]+$/.test(ident))return mustWarn&&(0,_util.warn)("FontFamily contains invalid : ".concat(fontFamily,".")),!1;return!0}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.RefSetCache=exports.RefSet=exports.Ref=exports.Name=exports.EOF=exports.Dict=exports.Cmd=exports.CIRCULAR_REF=void 0,exports.clearPrimitiveCaches=function(){CmdCache=Object.create(null),NameCache=Object.create(null),RefCache=Object.create(null)},exports.isCmd=function(v,cmd){return v instanceof Cmd&&(void 0===cmd||v.cmd===cmd)},exports.isDict=function(v,type){return v instanceof Dict&&(void 0===type||isName(v.get("Type"),type))},exports.isName=isName,exports.isRefsEqual=function(v1,v2){return v1.num===v2.num&&v1.gen===v2.gen};var _util=__w_pdfjs_require__(2);const CIRCULAR_REF=Symbol("CIRCULAR_REF");exports.CIRCULAR_REF=CIRCULAR_REF;const EOF=Symbol("EOF");exports.EOF=EOF;let CmdCache=Object.create(null),NameCache=Object.create(null),RefCache=Object.create(null);class Name{constructor(name){this.name=name}static get(name){var _NameCache;return(_NameCache=NameCache)[name]||(_NameCache[name]=new Name(name))}}exports.Name=Name;class Cmd{constructor(cmd){this.cmd=cmd}static get(cmd){var _CmdCache;return(_CmdCache=CmdCache)[cmd]||(_CmdCache[cmd]=new Cmd(cmd))}}exports.Cmd=Cmd;const nonSerializable=function(){return nonSerializable};class Dict{constructor(){let xref=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._map=Object.create(null),this.xref=xref,this.objId=null,this.suppressEncryption=!1,this.__nonSerializable__=nonSerializable}assignXref(newXref){this.xref=newXref}get size(){return Object.keys(this._map).length}get(key1,key2,key3){let value=this._map[key1];return void 0===value&&void 0!==key2&&(value=this._map[key2],void 0===value&&void 0!==key3&&(value=this._map[key3])),value instanceof Ref&&this.xref?this.xref.fetch(value,this.suppressEncryption):value}async getAsync(key1,key2,key3){let value=this._map[key1];return void 0===value&&void 0!==key2&&(value=this._map[key2],void 0===value&&void 0!==key3&&(value=this._map[key3])),value instanceof Ref&&this.xref?this.xref.fetchAsync(value,this.suppressEncryption):value}getArray(key1,key2,key3){let value=this._map[key1];if(void 0===value&&void 0!==key2&&(value=this._map[key2],void 0===value&&void 0!==key3&&(value=this._map[key3])),value instanceof Ref&&this.xref&&(value=this.xref.fetch(value,this.suppressEncryption)),Array.isArray(value)){value=value.slice();for(let i=0,ii=value.length;i{(0,_util.unreachable)("Should not call `set` on the empty dictionary.")},(0,_util.shadow)(this,"empty",emptyDict)}static merge(_ref9){let{xref:xref,dictArray:dictArray,mergeSubDicts:mergeSubDicts=!1}=_ref9;const mergedDict=new Dict(xref),properties=new Map;for(const dict of dictArray)if(dict instanceof Dict)for(const[key,value]of Object.entries(dict._map)){let property=properties.get(key);if(void 0===property)property=[],properties.set(key,property);else if(!(mergeSubDicts&&value instanceof Dict))continue;property.push(value)}for(const[name,values]of properties){if(1===values.length||!(values[0]instanceof Dict)){mergedDict._map[name]=values[0];continue}const subDict=new Dict(xref);for(const dict of values)for(const[key,value]of Object.entries(dict._map))void 0===subDict._map[key]&&(subDict._map[key]=value);subDict.size>0&&(mergedDict._map[name]=subDict)}return properties.clear(),mergedDict.size>0?mergedDict:Dict.empty}clone(){const dict=new Dict(this.xref);for(const key of this.getKeys())dict.set(key,this.getRaw(key));return dict}}exports.Dict=Dict;class Ref{constructor(num,gen){this.num=num,this.gen=gen}toString(){return 0===this.gen?"".concat(this.num,"R"):"".concat(this.num,"R").concat(this.gen)}static fromString(str){const ref=RefCache[str];if(ref)return ref;const m=/^(\d+)R(\d*)$/.exec(str);return m&&"0"!==m[1]?RefCache[str]=new Ref(parseInt(m[1]),m[2]?parseInt(m[2]):0):null}static get(num,gen){var _RefCache;const key=0===gen?"".concat(num,"R"):"".concat(num,"R").concat(gen);return(_RefCache=RefCache)[key]||(_RefCache[key]=new Ref(num,gen))}}exports.Ref=Ref;class RefSet{constructor(){let parent=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._set=new Set(null==parent?void 0:parent._set)}has(ref){return this._set.has(ref.toString())}put(ref){this._set.add(ref.toString())}remove(ref){this._set.delete(ref.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}exports.RefSet=RefSet;class RefSetCache{constructor(){this._map=new Map}get size(){return this._map.size}get(ref){return this._map.get(ref.toString())}has(ref){return this._map.has(ref.toString())}put(ref,obj){this._map.set(ref.toString(),obj)}putAlias(ref,aliasRef){this._map.set(ref.toString(),this.get(aliasRef))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}}function isName(v,name){return v instanceof Name&&(void 0===name||v.name===name)}exports.RefSetCache=RefSetCache},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.BaseStream=void 0;var _util=__w_pdfjs_require__(2);class BaseStream{constructor(){this.constructor===BaseStream&&(0,_util.unreachable)("Cannot initialize BaseStream.")}get length(){(0,_util.unreachable)("Abstract getter `length` accessed")}get isEmpty(){(0,_util.unreachable)("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return(0,_util.shadow)(this,"isDataLoaded",!0)}getByte(){(0,_util.unreachable)("Abstract method `getByte` called")}getBytes(length){(0,_util.unreachable)("Abstract method `getBytes` called")}peekByte(){const peekedByte=this.getByte();return-1!==peekedByte&&this.pos--,peekedByte}peekBytes(length){const bytes=this.getBytes(length);return this.pos-=bytes.length,bytes}getUint16(){const b0=this.getByte(),b1=this.getByte();return-1===b0||-1===b1?-1:(b0<<8)+b1}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(begin,end){(0,_util.unreachable)("Abstract method `getByteRange` called")}getString(length){return(0,_util.bytesToString)(this.getBytes(length))}skip(n){this.pos+=n||1}reset(){(0,_util.unreachable)("Abstract method `reset` called")}moveStart(){(0,_util.unreachable)("Abstract method `moveStart` called")}makeSubStream(start,length){(0,_util.unreachable)("Abstract method `makeSubStream` called")}getBaseStreams(){return null}}exports.BaseStream=BaseStream},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.NetworkPdfManager=exports.LocalPdfManager=void 0;var _util=__w_pdfjs_require__(2),_chunked_stream=__w_pdfjs_require__(7),_core_utils=__w_pdfjs_require__(3),_document=__w_pdfjs_require__(9),_stream=__w_pdfjs_require__(8);class BasePdfManager{constructor(args){var _args$evaluatorOption;this.constructor===BasePdfManager&&(0,_util.unreachable)("Cannot initialize BasePdfManager."),this._docBaseUrl=function(url){if(url){const absoluteUrl=(0,_util.createValidAbsoluteUrl)(url);if(absoluteUrl)return absoluteUrl.href;(0,_util.warn)('Invalid absolute docBaseUrl: "'.concat(url,'".'))}return null}(args.docBaseUrl),this._docId=args.docId,this._password=args.password,this.enableXfa=args.enableXfa,(_args$evaluatorOption=args.evaluatorOptions).isOffscreenCanvasSupported&&(_args$evaluatorOption.isOffscreenCanvasSupported=_util.FeatureTest.isOffscreenCanvasSupported),this.evaluatorOptions=args.evaluatorOptions}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}get catalog(){return this.pdfDocument.catalog}ensureDoc(prop,args){return this.ensure(this.pdfDocument,prop,args)}ensureXRef(prop,args){return this.ensure(this.pdfDocument.xref,prop,args)}ensureCatalog(prop,args){return this.ensure(this.pdfDocument.catalog,prop,args)}getPage(pageIndex){return this.pdfDocument.getPage(pageIndex)}fontFallback(id,handler){return this.pdfDocument.fontFallback(id,handler)}loadXfaFonts(handler,task){return this.pdfDocument.loadXfaFonts(handler,task)}loadXfaImages(){return this.pdfDocument.loadXfaImages()}serializeXfaData(annotationStorage){return this.pdfDocument.serializeXfaData(annotationStorage)}cleanup(){let manuallyTriggered=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.pdfDocument.cleanup(manuallyTriggered)}async ensure(obj,prop,args){(0,_util.unreachable)("Abstract method `ensure` called")}requestRange(begin,end){(0,_util.unreachable)("Abstract method `requestRange` called")}requestLoadedStream(){(0,_util.unreachable)("Abstract method `requestLoadedStream` called")}sendProgressiveData(chunk){(0,_util.unreachable)("Abstract method `sendProgressiveData` called")}updatePassword(password){this._password=password}terminate(reason){(0,_util.unreachable)("Abstract method `terminate` called")}}exports.LocalPdfManager=class extends BasePdfManager{constructor(args){super(args);const stream=new _stream.Stream(args.source);this.pdfDocument=new _document.PDFDocument(this,stream),this._loadedStreamPromise=Promise.resolve(stream)}async ensure(obj,prop,args){const value=obj[prop];return"function"==typeof value?value.apply(obj,args):value}requestRange(begin,end){return Promise.resolve()}requestLoadedStream(){return this._loadedStreamPromise}terminate(reason){}},exports.NetworkPdfManager=class extends BasePdfManager{constructor(args){super(args),this.streamManager=new _chunked_stream.ChunkedStreamManager(args.source,{msgHandler:args.handler,length:args.length,disableAutoFetch:args.disableAutoFetch,rangeChunkSize:args.rangeChunkSize}),this.pdfDocument=new _document.PDFDocument(this,this.streamManager.getStream())}async ensure(obj,prop,args){try{const value=obj[prop];return"function"==typeof value?value.apply(obj,args):value}catch(ex){if(!(ex instanceof _core_utils.MissingDataException))throw ex;return await this.requestRange(ex.begin,ex.end),this.ensure(obj,prop,args)}}requestRange(begin,end){return this.streamManager.requestRange(begin,end)}requestLoadedStream(){let noFetch=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.streamManager.requestAllChunks(noFetch)}sendProgressiveData(chunk){this.streamManager.onReceiveData({chunk:chunk})}terminate(reason){this.streamManager.abort(reason)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChunkedStreamManager=exports.ChunkedStream=void 0;var _core_utils=__w_pdfjs_require__(3),_util=__w_pdfjs_require__(2),_stream=__w_pdfjs_require__(8);class ChunkedStream extends _stream.Stream{constructor(length,chunkSize,manager){super(new Uint8Array(length),0,length,null),this.chunkSize=chunkSize,this._loadedChunks=new Set,this.numChunks=Math.ceil(length/chunkSize),this.manager=manager,this.progressiveDataLength=0,this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const chunks=[];for(let chunk=0,n=this.numChunks;chunk=this.end?this.numChunks:Math.floor(position/this.chunkSize);for(let curChunk=beginChunk;curChunkthis.numChunks)&&chunk!==this.lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(chunk))throw new _core_utils.MissingDataException(pos,pos+1);this.lastSuccessfulEnsureByteChunk=chunk}}ensureRange(begin,end){if(begin>=end)return;if(end<=this.progressiveDataLength)return;const beginChunk=Math.floor(begin/this.chunkSize);if(beginChunk>this.numChunks)return;const endChunk=Math.min(Math.floor((end-1)/this.chunkSize)+1,this.numChunks);for(let chunk=beginChunk;chunk=this.end?-1:(pos>=this.progressiveDataLength&&this.ensureByte(pos),this.bytes[this.pos++])}getBytes(length){const bytes=this.bytes,pos=this.pos,strEnd=this.end;if(!length)return strEnd>this.progressiveDataLength&&this.ensureRange(pos,strEnd),bytes.subarray(pos,strEnd);let end=pos+length;return end>strEnd&&(end=strEnd),end>this.progressiveDataLength&&this.ensureRange(pos,end),this.pos=end,bytes.subarray(pos,end)}getByteRange(begin,end){return begin<0&&(begin=0),end>this.end&&(end=this.end),end>this.progressiveDataLength&&this.ensureRange(begin,end),this.bytes.subarray(begin,end)}makeSubStream(start,length){let dict=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;function ChunkedStreamSubstream(){}length?start+length>this.progressiveDataLength&&this.ensureRange(start,start+length):start>=this.progressiveDataLength&&this.ensureByte(start),ChunkedStreamSubstream.prototype=Object.create(this),ChunkedStreamSubstream.prototype.getMissingChunks=function(){const chunkSize=this.chunkSize,beginChunk=Math.floor(this.start/chunkSize),endChunk=Math.floor((this.end-1)/chunkSize)+1,missingChunks=[];for(let chunk=beginChunk;chunk{const readChunk=_ref10=>{let{value:value,done:done}=_ref10;try{if(done){const chunkData=(0,_core_utils.arrayBuffersToBytes)(chunks);return chunks=null,void resolve(chunkData)}loaded+=value.byteLength,rangeReader.isStreamingSupported&&this.onProgress({loaded:loaded}),chunks.push(value),rangeReader.read().then(readChunk,reject)}catch(e){reject(e)}};rangeReader.read().then(readChunk,reject)})).then((data=>{this.aborted||this.onReceiveData({chunk:data,begin:begin})}))}requestAllChunks(){if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])){const missingChunks=this.stream.getMissingChunks();this._requestChunks(missingChunks)}return this._loadedStreamCapability.promise}_requestChunks(chunks){const requestId=this.currRequestId++,chunksNeeded=new Set;this._chunksNeededByRequest.set(requestId,chunksNeeded);for(const chunk of chunks)this.stream.hasChunk(chunk)||chunksNeeded.add(chunk);if(0===chunksNeeded.size)return Promise.resolve();const capability=new _util.PromiseCapability;this._promisesByRequest.set(requestId,capability);const chunksToRequest=[];for(const chunk of chunksNeeded){let requestIds=this._requestsByChunk.get(chunk);requestIds||(requestIds=[],this._requestsByChunk.set(chunk,requestIds),chunksToRequest.push(chunk)),requestIds.push(requestId)}if(chunksToRequest.length>0){const groupedChunksToRequest=this.groupChunks(chunksToRequest);for(const groupedChunk of groupedChunksToRequest){const begin=groupedChunk.beginChunk*this.chunkSize,end=Math.min(groupedChunk.endChunk*this.chunkSize,this.length);this.sendRequest(begin,end).catch(capability.reject)}}return capability.promise.catch((reason=>{if(!this.aborted)throw reason}))}getStream(){return this.stream}requestRange(begin,end){end=Math.min(end,this.length);const beginChunk=this.getBeginChunk(begin),endChunk=this.getEndChunk(end),chunks=[];for(let chunk=beginChunk;chunk0&&void 0!==arguments[0]?arguments[0]:[];const chunksToRequest=[];for(const range of ranges){const beginChunk=this.getBeginChunk(range.begin),endChunk=this.getEndChunk(range.end);for(let chunk=beginChunk;chunk=0&&prevChunk+1!==chunk&&(groupedChunks.push({beginChunk:beginChunk,endChunk:prevChunk+1}),beginChunk=chunk),i+1===chunks.length&&groupedChunks.push({beginChunk:beginChunk,endChunk:chunk+1}),prevChunk=chunk}return groupedChunks}onProgress(args){this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize+args.loaded,total:this.length})}onReceiveData(args){const chunk=args.chunk,isProgressive=void 0===args.begin,begin=isProgressive?this.progressiveDataLength:args.begin,end=begin+chunk.byteLength,beginChunk=Math.floor(begin/this.chunkSize),endChunk=end0||loadedRequests.push(requestId)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let nextEmptyChunk;if(1===this.stream.numChunksLoaded){const lastChunk=this.stream.numChunks-1;this.stream.hasChunk(lastChunk)||(nextEmptyChunk=lastChunk)}else nextEmptyChunk=this.stream.nextEmptyChunk(endChunk);Number.isInteger(nextEmptyChunk)&&this._requestChunks([nextEmptyChunk])}for(const requestId of loadedRequests){const capability=this._promisesByRequest.get(requestId);this._promisesByRequest.delete(requestId),capability.resolve()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})}onError(err){this._loadedStreamCapability.reject(err)}getBeginChunk(begin){return Math.floor(begin/this.chunkSize)}getEndChunk(end){return Math.floor((end-1)/this.chunkSize)+1}abort(reason){var _this$pdfNetworkStrea;this.aborted=!0,null===(_this$pdfNetworkStrea=this.pdfNetworkStream)||void 0===_this$pdfNetworkStrea||_this$pdfNetworkStrea.cancelAllRequests(reason);for(const capability of this._promisesByRequest.values())capability.reject(reason)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.StringStream=exports.Stream=exports.NullStream=void 0;var _base_stream=__w_pdfjs_require__(5),_util=__w_pdfjs_require__(2);class Stream extends _base_stream.BaseStream{constructor(arrayBuffer,start,length,dict){super(),this.bytes=arrayBuffer instanceof Uint8Array?arrayBuffer:new Uint8Array(arrayBuffer),this.start=start||0,this.pos=this.start,this.end=start+length||this.bytes.length,this.dict=dict}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(length){const bytes=this.bytes,pos=this.pos,strEnd=this.end;if(!length)return bytes.subarray(pos,strEnd);let end=pos+length;return end>strEnd&&(end=strEnd),this.pos=end,bytes.subarray(pos,end)}getByteRange(begin,end){return begin<0&&(begin=0),end>this.end&&(end=this.end),this.bytes.subarray(begin,end)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(start,length){let dict=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new Stream(this.bytes.buffer,start,length,dict)}}exports.Stream=Stream,exports.StringStream=class extends Stream{constructor(str){super((0,_util.stringToBytes)(str))}},exports.NullStream=class extends Stream{constructor(){super(new Uint8Array(0))}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Page=exports.PDFDocument=void 0;var _util=__w_pdfjs_require__(2),_annotation=__w_pdfjs_require__(10),_core_utils=__w_pdfjs_require__(3),_primitives=__w_pdfjs_require__(4),_xfa_fonts=__w_pdfjs_require__(51),_base_stream=__w_pdfjs_require__(5),_crypto=__w_pdfjs_require__(74),_catalog=__w_pdfjs_require__(66),_cleanup_helper=__w_pdfjs_require__(68),_dataset_reader=__w_pdfjs_require__(102),_parser=__w_pdfjs_require__(16),_stream=__w_pdfjs_require__(8),_object_loader=__w_pdfjs_require__(76),_operator_list=__w_pdfjs_require__(64),_evaluator=__w_pdfjs_require__(13),_decode_stream=__w_pdfjs_require__(18),_struct_tree=__w_pdfjs_require__(72),_writer=__w_pdfjs_require__(73),_factory=__w_pdfjs_require__(77),_xref=__w_pdfjs_require__(103);const LETTER_SIZE_MEDIABOX=[0,0,612,792];var _replaceIdByRef=new WeakSet;class Page{constructor(_ref12){let{pdfManager:pdfManager,xref:xref,pageIndex:pageIndex,pageDict:pageDict,ref:_ref11,globalIdFactory:globalIdFactory,fontCache:fontCache,builtInCMapCache:builtInCMapCache,standardFontDataCache:standardFontDataCache,globalImageCache:globalImageCache,systemFontCache:systemFontCache,nonBlendModesSet:nonBlendModesSet,xfaFactory:xfaFactory}=_ref12;_classPrivateMethodInitSpec(this,_replaceIdByRef),this.pdfManager=pdfManager,this.pageIndex=pageIndex,this.pageDict=pageDict,this.xref=xref,this.ref=_ref11,this.fontCache=fontCache,this.builtInCMapCache=builtInCMapCache,this.standardFontDataCache=standardFontDataCache,this.globalImageCache=globalImageCache,this.systemFontCache=systemFontCache,this.nonBlendModesSet=nonBlendModesSet,this.evaluatorOptions=pdfManager.evaluatorOptions,this.resourcesPromise=null,this.xfaFactory=xfaFactory;const idCounters={obj:0};this._localIdFactory=class extends globalIdFactory{static createObjId(){return"p".concat(pageIndex,"_").concat(++idCounters.obj)}static getPageObjId(){return"p".concat(_ref11.toString())}}}_getInheritableProperty(key){let getArray=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const value=(0,_core_utils.getInheritableProperty)({dict:this.pageDict,key:key,getArray:getArray,stopWhenFound:!1});return Array.isArray(value)?1!==value.length&&value[0]instanceof _primitives.Dict?_primitives.Dict.merge({xref:this.xref,dictArray:value}):value[0]:value}get content(){return this.pageDict.getArray("Contents")}get resources(){const resources=this._getInheritableProperty("Resources");return(0,_util.shadow)(this,"resources",resources instanceof _primitives.Dict?resources:_primitives.Dict.empty)}_getBoundingBox(name){if(this.xfaData)return this.xfaData.bbox;let box=this._getInheritableProperty(name,!0);if(Array.isArray(box)&&4===box.length){if(box=_util.Util.normalizeRect(box),box[2]-box[0]>0&&box[3]-box[1]>0)return box;(0,_util.warn)("Empty, or invalid, /".concat(name," entry."))}return null}get mediaBox(){return(0,_util.shadow)(this,"mediaBox",this._getBoundingBox("MediaBox")||LETTER_SIZE_MEDIABOX)}get cropBox(){return(0,_util.shadow)(this,"cropBox",this._getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){let obj=this.pageDict.get("UserUnit");return("number"!=typeof obj||obj<=0)&&(obj=1),(0,_util.shadow)(this,"userUnit",obj)}get view(){const{cropBox:cropBox,mediaBox:mediaBox}=this;if(cropBox!==mediaBox&&!(0,_util.isArrayEqual)(cropBox,mediaBox)){const box=_util.Util.intersect(cropBox,mediaBox);if(box&&box[2]-box[0]>0&&box[3]-box[1]>0)return(0,_util.shadow)(this,"view",box);(0,_util.warn)("Empty /CropBox and /MediaBox intersection.")}return(0,_util.shadow)(this,"view",mediaBox)}get rotate(){let rotate=this._getInheritableProperty("Rotate")||0;return rotate%90!=0?rotate=0:rotate>=360?rotate%=360:rotate<0&&(rotate=(rotate%360+360)%360),(0,_util.shadow)(this,"rotate",rotate)}_onSubStreamError(reason,objId){if(!this.evaluatorOptions.ignoreErrors)throw reason;(0,_util.warn)("getContentStream - ignoring sub-stream (".concat(objId,'): "').concat(reason,'".'))}getContentStream(){return this.pdfManager.ensure(this,"content").then((content=>content instanceof _base_stream.BaseStream?content:Array.isArray(content)?new _decode_stream.StreamsSequenceStream(content,this._onSubStreamError.bind(this)):new _stream.NullStream))}get xfaData(){return(0,_util.shadow)(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}async saveNewAnnotations(handler,task,annotations,imagePromises){if(this.xfaFactory)throw new Error("XFA: Cannot save new annotations.");const partialEvaluator=new _evaluator.PartialEvaluator({xref:this.xref,handler:handler,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),deletedAnnotations=new _primitives.RefSet,existingAnnotations=new _primitives.RefSet;_classPrivateMethodGet(this,_replaceIdByRef,_replaceIdByRef2).call(this,annotations,deletedAnnotations,existingAnnotations);const pageDict=this.pageDict,annotationsArray=this.annotations.filter((a=>!(a instanceof _primitives.Ref&&deletedAnnotations.has(a)))),newData=await _annotation.AnnotationFactory.saveNewAnnotations(partialEvaluator,task,annotations,imagePromises);for(const{ref:ref}of newData.annotations)ref instanceof _primitives.Ref&&!existingAnnotations.has(ref)&&annotationsArray.push(ref);const savedDict=pageDict.get("Annots");pageDict.set("Annots",annotationsArray);const buffer=[];await(0,_writer.writeObject)(this.ref,pageDict,buffer,this.xref),savedDict&&pageDict.set("Annots",savedDict);const objects=newData.dependencies;return objects.push({ref:this.ref,data:buffer.join("")},...newData.annotations),objects}save(handler,task,annotationStorage){const partialEvaluator=new _evaluator.PartialEvaluator({xref:this.xref,handler:handler,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions});return this._parsedAnnotations.then((function(annotations){const newRefsPromises=[];for(const annotation of annotations)annotation.mustBePrinted(annotationStorage)&&newRefsPromises.push(annotation.save(partialEvaluator,task,annotationStorage).catch((function(reason){return(0,_util.warn)("save - ignoring annotation data during "+'"'.concat(task.name,'" task: "').concat(reason,'".')),null})));return Promise.all(newRefsPromises).then((function(newRefs){return newRefs.filter((newRef=>!!newRef))}))}))}loadResources(keys){return this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,"resources")),this.resourcesPromise.then((()=>new _object_loader.ObjectLoader(this.resources,keys,this.xref).load()))}getOperatorList(_ref13){let{handler:handler,sink:sink,task:task,intent:intent,cacheKey:cacheKey,annotationStorage:annotationStorage=null}=_ref13;const contentStreamPromise=this.getContentStream(),resourcesPromise=this.loadResources(["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"]),partialEvaluator=new _evaluator.PartialEvaluator({xref:this.xref,handler:handler,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),newAnnotationsByPage=this.xfaFactory?null:(0,_core_utils.getNewAnnotationsMap)(annotationStorage);let deletedAnnotations=null,newAnnotationsPromise=Promise.resolve(null);if(newAnnotationsByPage){const newAnnotations=newAnnotationsByPage.get(this.pageIndex);if(newAnnotations){const annotationGlobalsPromise=this.pdfManager.ensureDoc("annotationGlobals");let imagePromises;const missingBitmaps=new Set;for(const{bitmapId:bitmapId,bitmap:bitmap}of newAnnotations)!bitmapId||bitmap||missingBitmaps.has(bitmapId)||missingBitmaps.add(bitmapId);const{isOffscreenCanvasSupported:isOffscreenCanvasSupported}=this.evaluatorOptions;if(missingBitmaps.size>0){const annotationWithBitmaps=newAnnotations.slice();for(const[key,annotation]of annotationStorage)key.startsWith(_util.AnnotationEditorPrefix)&&annotation.bitmap&&missingBitmaps.has(annotation.bitmapId)&&annotationWithBitmaps.push(annotation);imagePromises=_annotation.AnnotationFactory.generateImages(annotationWithBitmaps,this.xref,isOffscreenCanvasSupported)}else imagePromises=_annotation.AnnotationFactory.generateImages(newAnnotations,this.xref,isOffscreenCanvasSupported);deletedAnnotations=new _primitives.RefSet,_classPrivateMethodGet(this,_replaceIdByRef,_replaceIdByRef2).call(this,newAnnotations,deletedAnnotations,null),newAnnotationsPromise=annotationGlobalsPromise.then((annotationGlobals=>annotationGlobals?_annotation.AnnotationFactory.printNewAnnotations(annotationGlobals,partialEvaluator,task,newAnnotations,imagePromises):null))}}const pageListPromise=Promise.all([contentStreamPromise,resourcesPromise]).then((_ref14=>{let[contentStream]=_ref14;const opList=new _operator_list.OperatorList(intent,sink);return handler.send("StartRenderPage",{transparency:partialEvaluator.hasBlendModes(this.resources,this.nonBlendModesSet),pageIndex:this.pageIndex,cacheKey:cacheKey}),partialEvaluator.getOperatorList({stream:contentStream,task:task,resources:this.resources,operatorList:opList}).then((function(){return opList}))}));return Promise.all([pageListPromise,this._parsedAnnotations,newAnnotationsPromise]).then((function(_ref15){let[pageOpList,annotations,newAnnotations]=_ref15;if(newAnnotations){annotations=annotations.filter((a=>!(a.ref&&deletedAnnotations.has(a.ref))));for(let i=0,ii=newAnnotations.length;ia.ref&&(0,_primitives.isRefsEqual)(a.ref,newAnnotation.refToReplace)));j>=0&&(annotations.splice(j,1,newAnnotation),newAnnotations.splice(i--,1),ii--)}}annotations=annotations.concat(newAnnotations)}if(0===annotations.length||intent&_util.RenderingIntentFlag.ANNOTATIONS_DISABLE)return pageOpList.flush(!0),{length:pageOpList.totalLength};const renderForms=!!(intent&_util.RenderingIntentFlag.ANNOTATIONS_FORMS),intentAny=!!(intent&_util.RenderingIntentFlag.ANY),intentDisplay=!!(intent&_util.RenderingIntentFlag.DISPLAY),intentPrint=!!(intent&_util.RenderingIntentFlag.PRINT),opListPromises=[];for(const annotation of annotations)(intentAny||intentDisplay&&annotation.mustBeViewed(annotationStorage,renderForms)||intentPrint&&annotation.mustBePrinted(annotationStorage))&&opListPromises.push(annotation.getOperatorList(partialEvaluator,task,intent,renderForms,annotationStorage).catch((function(reason){return(0,_util.warn)("getOperatorList - ignoring annotation data during "+'"'.concat(task.name,'" task: "').concat(reason,'".')),{opList:null,separateForm:!1,separateCanvas:!1}})));return Promise.all(opListPromises).then((function(opLists){let form=!1,canvas=!1;for(const{opList:opList,separateForm:separateForm,separateCanvas:separateCanvas}of opLists)pageOpList.addOpList(opList),form||(form=separateForm),canvas||(canvas=separateCanvas);return pageOpList.flush(!0,{form:form,canvas:canvas}),{length:pageOpList.totalLength}}))}))}extractTextContent(_ref16){let{handler:handler,task:task,includeMarkedContent:includeMarkedContent,disableNormalization:disableNormalization,sink:sink}=_ref16;const contentStreamPromise=this.getContentStream(),resourcesPromise=this.loadResources(["ExtGState","Font","Properties","XObject"]);return Promise.all([contentStreamPromise,resourcesPromise]).then((_ref17=>{let[contentStream]=_ref17;return new _evaluator.PartialEvaluator({xref:this.xref,handler:handler,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}).getTextContent({stream:contentStream,task:task,resources:this.resources,includeMarkedContent:includeMarkedContent,disableNormalization:disableNormalization,sink:sink,viewBox:this.view})}))}async getStructTree(){const structTreeRoot=await this.pdfManager.ensureCatalog("structTreeRoot");return structTreeRoot?(await this._parsedAnnotations,(await this.pdfManager.ensure(this,"_parseStructTree",[structTreeRoot])).serializable):null}_parseStructTree(structTreeRoot){const tree=new _struct_tree.StructTreePage(structTreeRoot,this.pageDict);return tree.parse(this.ref),tree}async getAnnotationsData(handler,task,intent){const annotations=await this._parsedAnnotations;if(0===annotations.length)return annotations;const annotationsData=[],textContentPromises=[];let partialEvaluator;const intentAny=!!(intent&_util.RenderingIntentFlag.ANY),intentDisplay=!!(intent&_util.RenderingIntentFlag.DISPLAY),intentPrint=!!(intent&_util.RenderingIntentFlag.PRINT);for(const annotation of annotations){const isVisible=intentAny||intentDisplay&&annotation.viewable;(isVisible||intentPrint&&annotation.printable)&&annotationsData.push(annotation.data),annotation.hasTextContent&&isVisible&&(partialEvaluator||(partialEvaluator=new _evaluator.PartialEvaluator({xref:this.xref,handler:handler,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions})),textContentPromises.push(annotation.extractTextContent(partialEvaluator,task,[-1/0,-1/0,1/0,1/0]).catch((function(reason){(0,_util.warn)('getAnnotationsData - ignoring textContent during "'.concat(task.name,'" task: "').concat(reason,'".'))}))))}return await Promise.all(textContentPromises),annotationsData}get annotations(){const annots=this._getInheritableProperty("Annots");return(0,_util.shadow)(this,"annotations",Array.isArray(annots)?annots:[])}get _parsedAnnotations(){const promise=this.pdfManager.ensure(this,"annotations").then((async annots=>{if(0===annots.length)return annots;const annotationGlobals=await this.pdfManager.ensureDoc("annotationGlobals");if(!annotationGlobals)return[];const annotationPromises=[];for(const annotationRef of annots)annotationPromises.push(_annotation.AnnotationFactory.create(this.xref,annotationRef,annotationGlobals,this._localIdFactory,!1,this.ref).catch((function(reason){return(0,_util.warn)('_parsedAnnotations: "'.concat(reason,'".')),null})));const sortedAnnotations=[];let popupAnnotations;for(const annotation of await Promise.all(annotationPromises))annotation&&(annotation instanceof _annotation.PopupAnnotation?(popupAnnotations||(popupAnnotations=[])).push(annotation):sortedAnnotations.push(annotation));return popupAnnotations&&sortedAnnotations.push(...popupAnnotations),sortedAnnotations}));return(0,_util.shadow)(this,"_parsedAnnotations",promise)}get jsActions(){const actions=(0,_core_utils.collectActions)(this.xref,this.pageDict,_util.PageActionEventType);return(0,_util.shadow)(this,"jsActions",actions)}}function _replaceIdByRef2(annotations,deletedAnnotations,existingAnnotations){for(const annotation of annotations)if(annotation.id){const ref=_primitives.Ref.fromString(annotation.id);if(!ref){(0,_util.warn)("A non-linked annotation cannot be modified: ".concat(annotation.id));continue}if(annotation.deleted){deletedAnnotations.put(ref);continue}null==existingAnnotations||existingAnnotations.put(ref),annotation.ref=ref,delete annotation.id}}exports.Page=Page;const PDF_HEADER_SIGNATURE=new Uint8Array([37,80,68,70,45]),STARTXREF_SIGNATURE=new Uint8Array([115,116,97,114,116,120,114,101,102]),ENDOBJ_SIGNATURE=new Uint8Array([101,110,100,111,98,106]);function find(stream,signature){let limit=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1024,backwards=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const signatureLength=signature.length,scanBytes=stream.peekBytes(limit),scanLength=scanBytes.length-signatureLength;if(scanLength<=0)return!1;if(backwards){const signatureEnd=signatureLength-1;let pos=scanBytes.length-1;for(;pos>=signatureEnd;){let j=0;for(;j=signatureLength)return stream.pos+=pos-signatureEnd,!0;pos--}}else{let pos=0;for(;pos<=scanLength;){let j=0;for(;j=signatureLength)return stream.pos+=pos,!0;pos++}}return!1}var _collectFieldObjects=new WeakSet;function _collectFieldObjects2(name,fieldRef,promises,annotationGlobals){const field=this.xref.fetchIfRef(fieldRef);if(field.has("T")){const partName=(0,_util.stringToPDFString)(field.get("T"));name=""===name?partName:"".concat(name,".").concat(partName)}if(promises.has(name)||promises.set(name,[]),promises.get(name).push(_annotation.AnnotationFactory.create(this.xref,fieldRef,annotationGlobals,this._localIdFactory,!0,null).then((annotation=>null==annotation?void 0:annotation.getFieldObject())).catch((function(reason){return(0,_util.warn)('#collectFieldObjects: "'.concat(reason,'".')),null}))),field.has("Kids"))for(const kid of field.get("Kids"))_classPrivateMethodGet(this,_collectFieldObjects,_collectFieldObjects2).call(this,name,kid,promises,annotationGlobals)}exports.PDFDocument=class{constructor(pdfManager,stream){if(_classPrivateMethodInitSpec(this,_collectFieldObjects),stream.length<=0)throw new _util.InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=pdfManager,this.stream=stream,this.xref=new _xref.XRef(stream,pdfManager),this._pagePromises=new Map,this._version=null;const idCounters={font:0};this._globalIdFactory=class{static getDocId(){return"g_".concat(pdfManager.docId)}static createFontId(){return"f".concat(++idCounters.font)}static createObjId(){(0,_util.unreachable)("Abstract method `createObjId` called.")}static getPageObjId(){(0,_util.unreachable)("Abstract method `getPageObjId` called.")}}}parse(recoveryMode){this.xref.parse(recoveryMode),this.catalog=new _catalog.Catalog(this.pdfManager,this.xref)}get linearization(){let linearization=null;try{linearization=_parser.Linearization.create(this.stream)}catch(err){if(err instanceof _core_utils.MissingDataException)throw err;(0,_util.info)(err)}return(0,_util.shadow)(this,"linearization",linearization)}get startXRef(){const stream=this.stream;let startXRef=0;if(this.linearization)stream.reset(),find(stream,ENDOBJ_SIGNATURE)&&(startXRef=stream.pos+6-stream.start);else{const step=1024,startXRefLength=STARTXREF_SIGNATURE.length;let found=!1,pos=stream.end;for(;!found&&pos>0;)pos-=step-startXRefLength,pos<0&&(pos=0),stream.pos=pos,found=find(stream,STARTXREF_SIGNATURE,step,!0);if(found){let ch;stream.skip(9);do{ch=stream.getByte()}while((0,_core_utils.isWhiteSpace)(ch));let str="";for(;ch>=32&&ch<=57;)str+=String.fromCharCode(ch),ch=stream.getByte();startXRef=parseInt(str,10),isNaN(startXRef)&&(startXRef=0)}}return(0,_util.shadow)(this,"startXRef",startXRef)}checkHeader(){const stream=this.stream;if(stream.reset(),!find(stream,PDF_HEADER_SIGNATURE))return;stream.moveStart(),stream.skip(PDF_HEADER_SIGNATURE.length);let ch,version="";for(;(ch=stream.getByte())>32&&version.length<7;)version+=String.fromCharCode(ch);_core_utils.PDF_VERSION_REGEXP.test(version)?this._version=version:(0,_util.warn)("Invalid PDF header version: ".concat(version))}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let num=0;return num=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages,(0,_util.shadow)(this,"numPages",num)}_hasOnlyDocumentSignatures(fields){let recursionDepth=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!!Array.isArray(fields)&&fields.every((field=>{if(!((field=this.xref.fetchIfRef(field))instanceof _primitives.Dict))return!1;if(field.has("Kids"))return++recursionDepth>10?((0,_util.warn)("_hasOnlyDocumentSignatures: maximum recursion depth reached"),!1):this._hasOnlyDocumentSignatures(field.get("Kids"),recursionDepth);const isSignature=(0,_primitives.isName)(field.get("FT"),"Sig"),rectangle=field.get("Rect"),isInvisible=Array.isArray(rectangle)&&rectangle.every((value=>0===value));return isSignature&&isInvisible}))}get _xfaStreams(){const acroForm=this.catalog.acroForm;if(!acroForm)return null;const xfa=acroForm.get("XFA"),entries={"xdp:xdp":"",template:"",datasets:"",config:"",connectionSet:"",localeSet:"",stylesheet:"","/xdp:xdp":""};if(xfa instanceof _base_stream.BaseStream&&!xfa.isEmpty)return entries["xdp:xdp"]=xfa,entries;if(!Array.isArray(xfa)||0===xfa.length)return null;for(let i=0,ii=xfa.length;i{fonts.set(fontName,font)}));const promises=[];for(const[fontName,font]of fonts){const descriptor=font.get("FontDescriptor");if(!(descriptor instanceof _primitives.Dict))continue;let fontFamily=descriptor.get("FontFamily");fontFamily=fontFamily.replaceAll(/[ ]+(\d)/g,"$1");const cssFontInfo={fontFamily:fontFamily,fontWeight:descriptor.get("FontWeight"),italicAngle:-descriptor.get("ItalicAngle")};(0,_core_utils.validateCSSFont)(cssFontInfo)&&promises.push(partialEvaluator.handleSetFont(resources,[_primitives.Name.get(fontName),1],null,operatorList,task,initialState,null,cssFontInfo).catch((function(reason){return(0,_util.warn)('loadXfaFonts: "'.concat(reason,'".')),null})))}await Promise.all(promises);const missingFonts=this.xfaFactory.setFonts(pdfFonts);if(!missingFonts)return;options.ignoreErrors=!0,promises.length=0,pdfFonts.length=0;const reallyMissingFonts=new Set;for(const missing of missingFonts)(0,_xfa_fonts.getXfaFontName)("".concat(missing,"-Regular"))||reallyMissingFonts.add(missing);reallyMissingFonts.size&&missingFonts.push("PdfJS-Fallback");for(const missing of missingFonts)if(!reallyMissingFonts.has(missing))for(const fontInfo of[{name:"Regular",fontWeight:400,italicAngle:0},{name:"Bold",fontWeight:700,italicAngle:0},{name:"Italic",fontWeight:400,italicAngle:12},{name:"BoldItalic",fontWeight:700,italicAngle:12}]){const name="".concat(missing,"-").concat(fontInfo.name),dict=(0,_xfa_fonts.getXfaFontDict)(name);promises.push(partialEvaluator.handleSetFont(resources,[_primitives.Name.get(name),1],null,operatorList,task,initialState,dict,{fontFamily:missing,fontWeight:fontInfo.fontWeight,italicAngle:fontInfo.italicAngle}).catch((function(reason){return(0,_util.warn)('loadXfaFonts: "'.concat(reason,'".')),null})))}await Promise.all(promises),this.xfaFactory.appendFonts(pdfFonts,reallyMissingFonts)}async serializeXfaData(annotationStorage){return this.xfaFactory?this.xfaFactory.serializeData(annotationStorage):null}get version(){return this.catalog.version||this._version}get formInfo(){const formInfo={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},acroForm=this.catalog.acroForm;if(!acroForm)return(0,_util.shadow)(this,"formInfo",formInfo);try{const fields=acroForm.get("Fields"),hasFields=Array.isArray(fields)&&fields.length>0;formInfo.hasFields=hasFields;const xfa=acroForm.get("XFA");formInfo.hasXfa=Array.isArray(xfa)&&xfa.length>0||xfa instanceof _base_stream.BaseStream&&!xfa.isEmpty;const hasSignatures=!!(1&acroForm.get("SigFlags")),hasOnlyDocumentSignatures=hasSignatures&&this._hasOnlyDocumentSignatures(fields);formInfo.hasAcroForm=hasFields&&!hasOnlyDocumentSignatures,formInfo.hasSignatures=hasSignatures}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)('Cannot fetch form information: "'.concat(ex,'".'))}return(0,_util.shadow)(this,"formInfo",formInfo)}get documentInfo(){const docInfo={PDFFormatVersion:this.version,Language:this.catalog.lang,EncryptFilterName:this.xref.encrypt?this.xref.encrypt.filterName:null,IsLinearized:!!this.linearization,IsAcroFormPresent:this.formInfo.hasAcroForm,IsXFAPresent:this.formInfo.hasXfa,IsCollectionPresent:!!this.catalog.collection,IsSignaturesPresent:this.formInfo.hasSignatures};let infoDict;try{infoDict=this.xref.trailer.get("Info")}catch(err){if(err instanceof _core_utils.MissingDataException)throw err;(0,_util.info)("The document information dictionary is invalid.")}if(!(infoDict instanceof _primitives.Dict))return(0,_util.shadow)(this,"documentInfo",docInfo);for(const key of infoDict.getKeys()){const value=infoDict.get(key);switch(key){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if("string"==typeof value){docInfo[key]=(0,_util.stringToPDFString)(value);continue}break;case"Trapped":if(value instanceof _primitives.Name){docInfo[key]=value;continue}break;default:let customValue;switch(typeof value){case"string":customValue=(0,_util.stringToPDFString)(value);break;case"number":case"boolean":customValue=value;break;default:value instanceof _primitives.Name&&(customValue=value)}if(void 0===customValue){(0,_util.warn)('Bad value, for custom key "'.concat(key,'", in Info: ').concat(value,"."));continue}docInfo.Custom||(docInfo.Custom=Object.create(null)),docInfo.Custom[key]=customValue;continue}(0,_util.warn)('Bad value, for key "'.concat(key,'", in Info: ').concat(value,"."))}return(0,_util.shadow)(this,"documentInfo",docInfo)}get fingerprints(){function validate(data){return"string"==typeof data&&data.length>0&&"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"!==data}function hexString(hash){const buf=[];for(const num of hash){const hex=num.toString(16);buf.push(hex.padStart(2,"0"))}return buf.join("")}const idArray=this.xref.trailer.get("ID");let hashOriginal,hashModified;return Array.isArray(idArray)&&validate(idArray[0])?(hashOriginal=(0,_util.stringToBytes)(idArray[0]),idArray[1]!==idArray[0]&&validate(idArray[1])&&(hashModified=(0,_util.stringToBytes)(idArray[1]))):hashOriginal=(0,_crypto.calculateMD5)(this.stream.getByteRange(0,1024),0,1024),(0,_util.shadow)(this,"fingerprints",[hexString(hashOriginal),hashModified?hexString(hashModified):null])}async _getLinearizationPage(pageIndex){const{catalog:catalog,linearization:linearization,xref:xref}=this,ref=_primitives.Ref.get(linearization.objectNumberFirst,0);try{const obj=await xref.fetchAsync(ref);if(obj instanceof _primitives.Dict){let type=obj.getRaw("Type");if(type instanceof _primitives.Ref&&(type=await xref.fetchAsync(type)),(0,_primitives.isName)(type,"Page")||!obj.has("Type")&&!obj.has("Kids"))return catalog.pageKidsCountCache.has(ref)||catalog.pageKidsCountCache.put(ref,1),catalog.pageIndexCache.has(ref)||catalog.pageIndexCache.put(ref,0),[obj,ref]}throw new _util.FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(reason){return(0,_util.warn)('_getLinearizationPage: "'.concat(reason.message,'".')),catalog.getPageDict(pageIndex)}}getPage(pageIndex){const cachedPromise=this._pagePromises.get(pageIndex);if(cachedPromise)return cachedPromise;const{catalog:catalog,linearization:linearization,xfaFactory:xfaFactory}=this;let promise;return promise=xfaFactory?Promise.resolve([_primitives.Dict.empty,null]):(null==linearization?void 0:linearization.pageFirst)===pageIndex?this._getLinearizationPage(pageIndex):catalog.getPageDict(pageIndex),promise=promise.then((_ref18=>{let[pageDict,ref]=_ref18;return new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:pageIndex,pageDict:pageDict,ref:ref,globalIdFactory:this._globalIdFactory,fontCache:catalog.fontCache,builtInCMapCache:catalog.builtInCMapCache,standardFontDataCache:catalog.standardFontDataCache,globalImageCache:catalog.globalImageCache,systemFontCache:catalog.systemFontCache,nonBlendModesSet:catalog.nonBlendModesSet,xfaFactory:xfaFactory})})),this._pagePromises.set(pageIndex,promise),promise}async checkFirstPage(){if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0]))try{await this.getPage(0)}catch(reason){if(reason instanceof _core_utils.XRefEntryException)throw this._pagePromises.delete(0),await this.cleanup(),new _core_utils.XRefParseException}}async checkLastPage(){let recoveryMode=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{catalog:catalog,pdfManager:pdfManager}=this;let numPages;catalog.setActualNumPages();try{if(await Promise.all([pdfManager.ensureDoc("xfaFactory"),pdfManager.ensureDoc("linearization"),pdfManager.ensureCatalog("numPages")]),this.xfaFactory)return;if(numPages=this.linearization?this.linearization.numPages:catalog.numPages,!Number.isInteger(numPages))throw new _util.FormatError("Page count is not an integer.");if(numPages<=1)return;await this.getPage(numPages-1)}catch(reason){if(this._pagePromises.delete(numPages-1),await this.cleanup(),reason instanceof _core_utils.XRefEntryException&&!recoveryMode)throw new _core_utils.XRefParseException;let pagesTree;(0,_util.warn)("checkLastPage - invalid /Pages tree /Count: ".concat(numPages,"."));try{pagesTree=await catalog.getAllPageDicts(recoveryMode)}catch(reasonAll){if(reasonAll instanceof _core_utils.XRefEntryException&&!recoveryMode)throw new _core_utils.XRefParseException;return void catalog.setActualNumPages(1)}for(const[pageIndex,[pageDict,ref]]of pagesTree){let promise;pageDict instanceof Error?(promise=Promise.reject(pageDict),promise.catch((()=>{}))):promise=Promise.resolve(new Page({pdfManager:pdfManager,xref:this.xref,pageIndex:pageIndex,pageDict:pageDict,ref:ref,globalIdFactory:this._globalIdFactory,fontCache:catalog.fontCache,builtInCMapCache:catalog.builtInCMapCache,standardFontDataCache:catalog.standardFontDataCache,globalImageCache:catalog.globalImageCache,systemFontCache:catalog.systemFontCache,nonBlendModesSet:catalog.nonBlendModesSet,xfaFactory:null})),this._pagePromises.set(pageIndex,promise)}catalog.setActualNumPages(pagesTree.size)}}fontFallback(id,handler){return this.catalog.fontFallback(id,handler)}async cleanup(){let manuallyTriggered=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.catalog?this.catalog.cleanup(manuallyTriggered):(0,_cleanup_helper.clearGlobalCaches)()}get fieldObjects(){if(!this.formInfo.hasFields)return(0,_util.shadow)(this,"fieldObjects",Promise.resolve(null));const promise=this.pdfManager.ensureDoc("annotationGlobals").then((async annotationGlobals=>{if(!annotationGlobals)return null;const allFields=Object.create(null),fieldPromises=new Map;for(const fieldRef of this.catalog.acroForm.get("Fields"))_classPrivateMethodGet(this,_collectFieldObjects,_collectFieldObjects2).call(this,"",fieldRef,fieldPromises,annotationGlobals);const allPromises=[];for(const[name,promises]of fieldPromises)allPromises.push(Promise.all(promises).then((fields=>{(fields=fields.filter((field=>!!field))).length>0&&(allFields[name]=fields)})));return await Promise.all(allPromises),allFields}));return(0,_util.shadow)(this,"fieldObjects",promise)}get hasJSActions(){const promise=this.pdfManager.ensureDoc("_parseHasJSActions");return(0,_util.shadow)(this,"hasJSActions",promise)}async _parseHasJSActions(){const[catalogJsActions,fieldObjects]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return!!catalogJsActions||!!fieldObjects&&Object.values(fieldObjects).some((fieldObject=>fieldObject.some((object=>null!==object.actions))))}get calculationOrderIds(){const acroForm=this.catalog.acroForm;if(null==acroForm||!acroForm.has("CO"))return(0,_util.shadow)(this,"calculationOrderIds",null);const calculationOrder=acroForm.get("CO");if(!Array.isArray(calculationOrder)||0===calculationOrder.length)return(0,_util.shadow)(this,"calculationOrderIds",null);const ids=[];for(const id of calculationOrder)id instanceof _primitives.Ref&&ids.push(id.toString());return 0===ids.length?(0,_util.shadow)(this,"calculationOrderIds",null):(0,_util.shadow)(this,"calculationOrderIds",ids)}get annotationGlobals(){return(0,_util.shadow)(this,"annotationGlobals",_annotation.AnnotationFactory.createGlobals(this.pdfManager))}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PopupAnnotation=exports.MarkupAnnotation=exports.AnnotationFactory=exports.AnnotationBorderStyle=exports.Annotation=void 0,exports.getQuadPoints=getQuadPoints;var _util=__w_pdfjs_require__(2),_core_utils=__w_pdfjs_require__(3),_default_appearance=__w_pdfjs_require__(11),_primitives=__w_pdfjs_require__(4),_stream=__w_pdfjs_require__(8),_base_stream=__w_pdfjs_require__(5),_bidi=__w_pdfjs_require__(60),_catalog=__w_pdfjs_require__(66),_colorspace=__w_pdfjs_require__(12),_file_spec=__w_pdfjs_require__(69),_jpeg_stream=__w_pdfjs_require__(26),_object_loader=__w_pdfjs_require__(76),_operator_list=__w_pdfjs_require__(64),_writer=__w_pdfjs_require__(73),_factory=__w_pdfjs_require__(77);function getRgbColor(color){let defaultColor=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Uint8ClampedArray(3);if(!Array.isArray(color))return defaultColor;const rgbColor=defaultColor||new Uint8ClampedArray(3);switch(color.length){case 0:return null;case 1:return _colorspace.ColorSpace.singletons.gray.getRgbItem(color,0,rgbColor,0),rgbColor;case 3:return _colorspace.ColorSpace.singletons.rgb.getRgbItem(color,0,rgbColor,0),rgbColor;case 4:return _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color,0,rgbColor,0),rgbColor;default:return defaultColor}}function getPdfColorArray(color){return Array.from(color,(c=>c/255))}function getQuadPoints(dict,rect){const quadPoints=dict.getArray("QuadPoints");if(!Array.isArray(quadPoints)||0===quadPoints.length||quadPoints.length%8>0)return null;const quadPointsLists=[];for(let i=0,ii=quadPoints.length/8;irect[2]||minYrect[3]))return null;quadPointsLists.push([{x:minX,y:maxY},{x:maxX,y:maxY},{x:minX,y:minY},{x:maxX,y:minY}])}return quadPointsLists}function getTransformMatrix(rect,bbox,matrix){const[minX,minY,maxX,maxY]=_util.Util.getAxialAlignedBoundingBox(bbox,matrix);if(minX===maxX||minY===maxY)return[1,0,0,1,rect[0],rect[1]];const xRatio=(rect[2]-rect[0])/(maxX-minX),yRatio=(rect[3]-rect[1])/(maxY-minY);return[xRatio,0,0,yRatio,rect[0]-minX*xRatio,rect[1]-minY*yRatio]}exports.AnnotationFactory=class{static createGlobals(pdfManager){return Promise.all([pdfManager.ensureCatalog("acroForm"),pdfManager.ensureDoc("xfaDatasets"),pdfManager.ensureCatalog("structTreeRoot"),pdfManager.ensureCatalog("baseUrl"),pdfManager.ensureCatalog("attachments")]).then((_ref19=>{let[acroForm,xfaDatasets,structTreeRoot,baseUrl,attachments]=_ref19;return{pdfManager:pdfManager,acroForm:acroForm instanceof _primitives.Dict?acroForm:_primitives.Dict.empty,xfaDatasets:xfaDatasets,structTreeRoot:structTreeRoot,baseUrl:baseUrl,attachments:attachments}}),(reason=>((0,_util.warn)('createGlobals: "'.concat(reason,'".')),null)))}static async create(xref,ref,annotationGlobals,idFactory,collectFields,pageRef){const pageIndex=collectFields?await this._getPageIndex(xref,ref,annotationGlobals.pdfManager):null;return annotationGlobals.pdfManager.ensure(this,"_create",[xref,ref,annotationGlobals,idFactory,collectFields,pageIndex,pageRef])}static _create(xref,ref,annotationGlobals,idFactory){let collectFields=arguments.length>4&&void 0!==arguments[4]&&arguments[4],pageIndex=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,pageRef=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null;const dict=xref.fetchIfRef(ref);if(!(dict instanceof _primitives.Dict))return;const{acroForm:acroForm,pdfManager:pdfManager}=annotationGlobals,id=ref instanceof _primitives.Ref?ref.toString():"annot_".concat(idFactory.createObjId());let subtype=dict.get("Subtype");subtype=subtype instanceof _primitives.Name?subtype.name:null;const parameters={xref:xref,ref:ref,dict:dict,subtype:subtype,id:id,annotationGlobals:annotationGlobals,collectFields:collectFields,needAppearances:!collectFields&&!0===acroForm.get("NeedAppearances"),pageIndex:pageIndex,evaluatorOptions:pdfManager.evaluatorOptions,pageRef:pageRef};switch(subtype){case"Link":return new LinkAnnotation(parameters);case"Text":return new TextAnnotation(parameters);case"Widget":let fieldType=(0,_core_utils.getInheritableProperty)({dict:dict,key:"FT"});switch(fieldType=fieldType instanceof _primitives.Name?fieldType.name:null,fieldType){case"Tx":return new TextWidgetAnnotation(parameters);case"Btn":return new ButtonWidgetAnnotation(parameters);case"Ch":return new ChoiceWidgetAnnotation(parameters);case"Sig":return new SignatureWidgetAnnotation(parameters)}return(0,_util.warn)('Unimplemented widget field type "'.concat(fieldType,'", ')+"falling back to base field type."),new WidgetAnnotation(parameters);case"Popup":return new PopupAnnotation(parameters);case"FreeText":return new FreeTextAnnotation(parameters);case"Line":return new LineAnnotation(parameters);case"Square":return new SquareAnnotation(parameters);case"Circle":return new CircleAnnotation(parameters);case"PolyLine":return new PolylineAnnotation(parameters);case"Polygon":return new PolygonAnnotation(parameters);case"Caret":return new CaretAnnotation(parameters);case"Ink":return new InkAnnotation(parameters);case"Highlight":return new HighlightAnnotation(parameters);case"Underline":return new UnderlineAnnotation(parameters);case"Squiggly":return new SquigglyAnnotation(parameters);case"StrikeOut":return new StrikeOutAnnotation(parameters);case"Stamp":return new StampAnnotation(parameters);case"FileAttachment":return new FileAttachmentAnnotation(parameters);default:return collectFields||(subtype?(0,_util.warn)('Unimplemented annotation type "'.concat(subtype,'", ')+"falling back to base annotation."):(0,_util.warn)("Annotation is missing the required /Subtype.")),new Annotation(parameters)}}static async _getPageIndex(xref,ref,pdfManager){try{const annotDict=await xref.fetchIfRefAsync(ref);if(!(annotDict instanceof _primitives.Dict))return-1;const pageRef=annotDict.getRaw("P");if(pageRef instanceof _primitives.Ref)try{return await pdfManager.ensureCatalog("getPageIndex",[pageRef])}catch(ex){(0,_util.info)('_getPageIndex -- not a valid page reference: "'.concat(ex,'".'))}if(annotDict.has("Kids"))return-1;const numPages=await pdfManager.ensureDoc("numPages");for(let pageIndex=0;pageIndex=0?structParent:-1,annotationGlobals.structTreeRoot.addAnnotationIdToPage(params.pageRef,structParent)}if(this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:params.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:params.subtype,hasOwnCanvas:!1,noRotate:!!(this.flags&_util.AnnotationFlag.NOROTATE),noHTML:isLocked&&isContentLocked},params.collectFields){const kids=dict.get("Kids");if(Array.isArray(kids)){const kidIds=[];for(const kid of kids)kid instanceof _primitives.Ref&&kidIds.push(kid.toString());0!==kidIds.length&&(this.data.kidIds=kidIds)}this.data.actions=(0,_core_utils.collectActions)(xref,dict,_util.AnnotationActionEventType),this.data.fieldName=this._constructFieldName(dict),this.data.pageIndex=params.pageIndex}this._isOffscreenCanvasSupported=params.evaluatorOptions.isOffscreenCanvasSupported,this._fallbackFontDict=null,this._needAppearances=!1}_hasFlag(flags,flag){return!!(flags&flag)}_isViewable(flags){return!this._hasFlag(flags,_util.AnnotationFlag.INVISIBLE)&&!this._hasFlag(flags,_util.AnnotationFlag.NOVIEW)}_isPrintable(flags){return this._hasFlag(flags,_util.AnnotationFlag.PRINT)&&!this._hasFlag(flags,_util.AnnotationFlag.HIDDEN)&&!this._hasFlag(flags,_util.AnnotationFlag.INVISIBLE)}mustBeViewed(annotationStorage,_renderForms){var _annotationStorage$ge;const noView=null==annotationStorage||null===(_annotationStorage$ge=annotationStorage.get(this.data.id))||void 0===_annotationStorage$ge?void 0:_annotationStorage$ge.noView;return void 0!==noView?!noView:this.viewable&&!this._hasFlag(this.flags,_util.AnnotationFlag.HIDDEN)}mustBePrinted(annotationStorage){var _annotationStorage$ge2;const noPrint=null==annotationStorage||null===(_annotationStorage$ge2=annotationStorage.get(this.data.id))||void 0===_annotationStorage$ge2?void 0:_annotationStorage$ge2.noPrint;return void 0!==noPrint?!noPrint:this.printable}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&0!==this.flags&&this._isPrintable(this.flags)}_parseStringHelper(data){const str="string"==typeof data?(0,_util.stringToPDFString)(data):"";return{str:str,dir:str&&"rtl"===(0,_bidi.bidi)(str).dir?"rtl":"ltr"}}setDefaultAppearance(params){const{dict:dict,annotationGlobals:annotationGlobals}=params,defaultAppearance=(0,_core_utils.getInheritableProperty)({dict:dict,key:"DA"})||annotationGlobals.acroForm.get("DA");this._defaultAppearance="string"==typeof defaultAppearance?defaultAppearance:"",this.data.defaultAppearanceData=(0,_default_appearance.parseDefaultAppearance)(this._defaultAppearance)}setTitle(title){this._title=this._parseStringHelper(title)}setContents(contents){this._contents=this._parseStringHelper(contents)}setModificationDate(modificationDate){this.modificationDate="string"==typeof modificationDate?modificationDate:null}setFlags(flags){this.flags=Number.isInteger(flags)&&flags>0?flags:0}hasFlag(flag){return this._hasFlag(this.flags,flag)}setRectangle(rectangle){this.rectangle=Array.isArray(rectangle)&&4===rectangle.length?_util.Util.normalizeRect(rectangle):[0,0,0,0]}setColor(color){this.color=getRgbColor(color)}setLineEndings(lineEndings){if(this.lineEndings=["None","None"],Array.isArray(lineEndings)&&2===lineEndings.length)for(let i=0;i<2;i++){const obj=lineEndings[i];if(obj instanceof _primitives.Name)switch(obj.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[i]=obj.name;continue}(0,_util.warn)("Ignoring invalid lineEnding: ".concat(obj))}}setRotation(mk,dict){this.rotation=0;let angle=mk instanceof _primitives.Dict?mk.get("R")||0:dict.get("Rotate")||0;Number.isInteger(angle)&&0!==angle&&(angle%=360,angle<0&&(angle+=360),angle%90==0&&(this.rotation=angle))}setBorderAndBackgroundColors(mk){mk instanceof _primitives.Dict?(this.borderColor=getRgbColor(mk.getArray("BC"),null),this.backgroundColor=getRgbColor(mk.getArray("BG"),null)):this.borderColor=this.backgroundColor=null}setBorderStyle(borderStyle){if(this.borderStyle=new AnnotationBorderStyle,borderStyle instanceof _primitives.Dict)if(borderStyle.has("BS")){const dict=borderStyle.get("BS"),dictType=dict.get("Type");dictType&&!(0,_primitives.isName)(dictType,"Border")||(this.borderStyle.setWidth(dict.get("W"),this.rectangle),this.borderStyle.setStyle(dict.get("S")),this.borderStyle.setDashArray(dict.getArray("D")))}else if(borderStyle.has("Border")){const array=borderStyle.getArray("Border");Array.isArray(array)&&array.length>=3&&(this.borderStyle.setHorizontalCornerRadius(array[0]),this.borderStyle.setVerticalCornerRadius(array[1]),this.borderStyle.setWidth(array[2],this.rectangle),4===array.length&&this.borderStyle.setDashArray(array[3],!0))}else this.borderStyle.setWidth(0)}setAppearance(dict){this.appearance=null;const appearanceStates=dict.get("AP");if(!(appearanceStates instanceof _primitives.Dict))return;const normalAppearanceState=appearanceStates.get("N");if(normalAppearanceState instanceof _base_stream.BaseStream)return void(this.appearance=normalAppearanceState);if(!(normalAppearanceState instanceof _primitives.Dict))return;const as=dict.get("AS");if(!(as instanceof _primitives.Name&&normalAppearanceState.has(as.name)))return;const appearance=normalAppearanceState.get(as.name);appearance instanceof _base_stream.BaseStream&&(this.appearance=appearance)}setOptionalContent(dict){this.oc=null;const oc=dict.get("OC");oc instanceof _primitives.Name?(0,_util.warn)("setOptionalContent: Support for /Name-entry is not implemented."):oc instanceof _primitives.Dict&&(this.oc=oc)}loadResources(keys,appearance){return appearance.dict.getAsync("Resources").then((resources=>{if(resources)return new _object_loader.ObjectLoader(resources,keys,resources.xref).load().then((function(){return resources}))}))}async getOperatorList(evaluator,task,intent,renderForms,annotationStorage){const data=this.data;let appearance=this.appearance;const isUsingOwnCanvas=!!(this.data.hasOwnCanvas&&intent&_util.RenderingIntentFlag.DISPLAY);if(!appearance){if(!isUsingOwnCanvas)return{opList:new _operator_list.OperatorList,separateForm:!1,separateCanvas:!1};appearance=new _stream.StringStream(""),appearance.dict=new _primitives.Dict}const appearanceDict=appearance.dict,resources=await this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"],appearance),bbox=appearanceDict.getArray("BBox")||[0,0,1,1],matrix=appearanceDict.getArray("Matrix")||[1,0,0,1,0,0],transform=getTransformMatrix(data.rect,bbox,matrix),opList=new _operator_list.OperatorList;let optionalContent;return this.oc&&(optionalContent=await evaluator.parseMarkedContentProps(this.oc,null)),void 0!==optionalContent&&opList.addOp(_util.OPS.beginMarkedContentProps,["OC",optionalContent]),opList.addOp(_util.OPS.beginAnnotation,[data.id,data.rect,transform,matrix,isUsingOwnCanvas]),await evaluator.getOperatorList({stream:appearance,task:task,resources:resources,operatorList:opList,fallbackFontDict:this._fallbackFontDict}),opList.addOp(_util.OPS.endAnnotation,[]),void 0!==optionalContent&&opList.addOp(_util.OPS.endMarkedContent,[]),this.reset(),{opList:opList,separateForm:!1,separateCanvas:isUsingOwnCanvas}}async save(evaluator,task,annotationStorage){return null}get hasTextContent(){return!1}async extractTextContent(evaluator,task,viewBox){if(!this.appearance)return;const resources=await this.loadResources(["ExtGState","Font","Properties","XObject"],this.appearance),text=[],buffer=[];let firstPosition=null;const sink={desiredSize:Math.Infinity,ready:!0,enqueue(chunk,size){for(const item of chunk.items)void 0!==item.str&&(firstPosition||(firstPosition=item.transform.slice(-2)),buffer.push(item.str),item.hasEOL&&(text.push(buffer.join("")),buffer.length=0))}};if(await evaluator.getTextContent({stream:this.appearance,task:task,resources:resources,includeMarkedContent:!0,sink:sink,viewBox:viewBox}),this.reset(),buffer.length&&text.push(buffer.join("")),text.length>1||text[0]){const appearanceDict=this.appearance.dict,bbox=appearanceDict.getArray("BBox")||[0,0,1,1],matrix=appearanceDict.getArray("Matrix")||[1,0,0,1,0,0],rect=this.data.rect,transform=getTransformMatrix(rect,bbox,matrix);transform[4]-=rect[0],transform[5]-=rect[1],firstPosition=_util.Util.applyTransform(firstPosition,transform),firstPosition=_util.Util.applyTransform(firstPosition,matrix),this.data.textPosition=firstPosition,this.data.textContent=text}}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const stream of this._streams)stream.reset()}_constructFieldName(dict){if(!dict.has("T")&&!dict.has("Parent"))return(0,_util.warn)("Unknown field name, falling back to empty field name."),"";if(!dict.has("Parent"))return(0,_util.stringToPDFString)(dict.get("T"));const fieldName=[];dict.has("T")&&fieldName.unshift((0,_util.stringToPDFString)(dict.get("T")));let loopDict=dict;const visited=new _primitives.RefSet;for(dict.objId&&visited.put(dict.objId);loopDict.has("Parent")&&(loopDict=loopDict.get("Parent"),loopDict instanceof _primitives.Dict&&(!loopDict.objId||!visited.has(loopDict.objId)));)loopDict.objId&&visited.put(loopDict.objId),loopDict.has("T")&&fieldName.unshift((0,_util.stringToPDFString)(loopDict.get("T")));return fieldName.join(".")}}exports.Annotation=Annotation;class AnnotationBorderStyle{constructor(){this.width=1,this.style=_util.AnnotationBorderStyleType.SOLID,this.dashArray=[3],this.horizontalCornerRadius=0,this.verticalCornerRadius=0}setWidth(width){let rect=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0];if(width instanceof _primitives.Name)this.width=0;else if("number"==typeof width){if(width>0){const maxWidth=(rect[2]-rect[0])/2,maxHeight=(rect[3]-rect[1])/2;maxWidth>0&&maxHeight>0&&(width>maxWidth||width>maxHeight)&&((0,_util.warn)("AnnotationBorderStyle.setWidth - ignoring width: ".concat(width)),width=1)}this.width=width}}setStyle(style){if(style instanceof _primitives.Name)switch(style.name){case"S":this.style=_util.AnnotationBorderStyleType.SOLID;break;case"D":this.style=_util.AnnotationBorderStyleType.DASHED;break;case"B":this.style=_util.AnnotationBorderStyleType.BEVELED;break;case"I":this.style=_util.AnnotationBorderStyleType.INSET;break;case"U":this.style=_util.AnnotationBorderStyleType.UNDERLINE}}setDashArray(dashArray){let forceStyle=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(Array.isArray(dashArray)&&dashArray.length>0){let isValid=!0,allZeros=!0;for(const element of dashArray){if(!(+element>=0)){isValid=!1;break}element>0&&(allZeros=!1)}isValid&&!allZeros?(this.dashArray=dashArray,forceStyle&&this.setStyle(_primitives.Name.get("D"))):this.width=0}else dashArray&&(this.width=0)}setHorizontalCornerRadius(radius){Number.isInteger(radius)&&(this.horizontalCornerRadius=radius)}setVerticalCornerRadius(radius){Number.isInteger(radius)&&(this.verticalCornerRadius=radius)}}exports.AnnotationBorderStyle=AnnotationBorderStyle;class MarkupAnnotation extends Annotation{constructor(params){super(params);const{dict:dict}=params;if(dict.has("IRT")){const rawIRT=dict.getRaw("IRT");this.data.inReplyTo=rawIRT instanceof _primitives.Ref?rawIRT.toString():null;const rt=dict.get("RT");this.data.replyType=rt instanceof _primitives.Name?rt.name:_util.AnnotationReplyType.REPLY}let popupRef=null;if(this.data.replyType===_util.AnnotationReplyType.GROUP){const parent=dict.get("IRT");this.setTitle(parent.get("T")),this.data.titleObj=this._title,this.setContents(parent.get("Contents")),this.data.contentsObj=this._contents,parent.has("CreationDate")?(this.setCreationDate(parent.get("CreationDate")),this.data.creationDate=this.creationDate):this.data.creationDate=null,parent.has("M")?(this.setModificationDate(parent.get("M")),this.data.modificationDate=this.modificationDate):this.data.modificationDate=null,popupRef=parent.getRaw("Popup"),parent.has("C")?(this.setColor(parent.getArray("C")),this.data.color=this.color):this.data.color=null}else this.data.titleObj=this._title,this.setCreationDate(dict.get("CreationDate")),this.data.creationDate=this.creationDate,popupRef=dict.getRaw("Popup"),dict.has("C")||(this.data.color=null);this.data.popupRef=popupRef instanceof _primitives.Ref?popupRef.toString():null,dict.has("RC")&&(this.data.richText=_factory.XFAFactory.getRichTextAsHtml(dict.get("RC")))}setCreationDate(creationDate){this.creationDate="string"==typeof creationDate?creationDate:null}_setDefaultAppearance(_ref20){let{xref:xref,extra:extra,strokeColor:strokeColor,fillColor:fillColor,blendMode:blendMode,strokeAlpha:strokeAlpha,fillAlpha:fillAlpha,pointsCallback:pointsCallback}=_ref20,minX=Number.MAX_VALUE,minY=Number.MAX_VALUE,maxX=Number.MIN_VALUE,maxY=Number.MIN_VALUE;const buffer=["q"];extra&&buffer.push(extra),strokeColor&&buffer.push("".concat(strokeColor[0]," ").concat(strokeColor[1]," ").concat(strokeColor[2]," RG")),fillColor&&buffer.push("".concat(fillColor[0]," ").concat(fillColor[1]," ").concat(fillColor[2]," rg"));let pointsArray=this.data.quadPoints;pointsArray||(pointsArray=[[{x:this.rectangle[0],y:this.rectangle[3]},{x:this.rectangle[2],y:this.rectangle[3]},{x:this.rectangle[0],y:this.rectangle[1]},{x:this.rectangle[2],y:this.rectangle[1]}]]);for(const points of pointsArray){const[mX,MX,mY,MY]=pointsCallback(buffer,points);minX=Math.min(minX,mX),maxX=Math.max(maxX,MX),minY=Math.min(minY,mY),maxY=Math.max(maxY,MY)}buffer.push("Q");const formDict=new _primitives.Dict(xref),appearanceStreamDict=new _primitives.Dict(xref);appearanceStreamDict.set("Subtype",_primitives.Name.get("Form"));const appearanceStream=new _stream.StringStream(buffer.join(" "));appearanceStream.dict=appearanceStreamDict,formDict.set("Fm0",appearanceStream);const gsDict=new _primitives.Dict(xref);blendMode&&gsDict.set("BM",_primitives.Name.get(blendMode)),"number"==typeof strokeAlpha&&gsDict.set("CA",strokeAlpha),"number"==typeof fillAlpha&&gsDict.set("ca",fillAlpha);const stateDict=new _primitives.Dict(xref);stateDict.set("GS0",gsDict);const resources=new _primitives.Dict(xref);resources.set("ExtGState",stateDict),resources.set("XObject",formDict);const appearanceDict=new _primitives.Dict(xref);appearanceDict.set("Resources",resources);const bbox=this.data.rect=[minX,minY,maxX,maxY];appearanceDict.set("BBox",bbox),this.appearance=new _stream.StringStream("/GS0 gs /Fm0 Do"),this.appearance.dict=appearanceDict,this._streams.push(this.appearance,appearanceStream)}static async createNewAnnotation(xref,annotation,dependencies,params){const annotationRef=annotation.ref||(annotation.ref=xref.getNewTemporaryRef()),ap=await this.createNewAppearanceStream(annotation,xref,params),buffer=[];let annotationDict;if(ap){const apRef=xref.getNewTemporaryRef();annotationDict=this.createNewDict(annotation,xref,{apRef:apRef}),await(0,_writer.writeObject)(apRef,ap,buffer,xref),dependencies.push({ref:apRef,data:buffer.join("")})}else annotationDict=this.createNewDict(annotation,xref,{});return Number.isInteger(annotation.parentTreeId)&&annotationDict.set("StructParent",annotation.parentTreeId),buffer.length=0,await(0,_writer.writeObject)(annotationRef,annotationDict,buffer,xref),{ref:annotationRef,data:buffer.join("")}}static async createNewPrintAnnotation(annotationGlobals,xref,annotation,params){const ap=await this.createNewAppearanceStream(annotation,xref,params),annotationDict=this.createNewDict(annotation,xref,{ap:ap}),newAnnotation=new this.prototype.constructor({dict:annotationDict,xref:xref,annotationGlobals:annotationGlobals,evaluatorOptions:params.evaluatorOptions});return annotation.ref&&(newAnnotation.ref=newAnnotation.refToReplace=annotation.ref),newAnnotation}}exports.MarkupAnnotation=MarkupAnnotation;class WidgetAnnotation extends Annotation{constructor(params){var _this$appearance;super(params);const{dict:dict,xref:xref,annotationGlobals:annotationGlobals}=params,data=this.data;this._needAppearances=params.needAppearances,data.annotationType=_util.AnnotationType.WIDGET,void 0===data.fieldName&&(data.fieldName=this._constructFieldName(dict)),void 0===data.actions&&(data.actions=(0,_core_utils.collectActions)(xref,dict,_util.AnnotationActionEventType));let fieldValue=(0,_core_utils.getInheritableProperty)({dict:dict,key:"V",getArray:!0});data.fieldValue=this._decodeFormValue(fieldValue);const defaultFieldValue=(0,_core_utils.getInheritableProperty)({dict:dict,key:"DV",getArray:!0});if(data.defaultFieldValue=this._decodeFormValue(defaultFieldValue),void 0===fieldValue&&annotationGlobals.xfaDatasets){const path=this._title.str;path&&(this._hasValueFromXFA=!0,data.fieldValue=fieldValue=annotationGlobals.xfaDatasets.getValue(path))}void 0===fieldValue&&null!==data.defaultFieldValue&&(data.fieldValue=data.defaultFieldValue),data.alternativeText=(0,_util.stringToPDFString)(dict.get("TU")||""),this.setDefaultAppearance(params),data.hasAppearance||(data.hasAppearance=this._needAppearances&&void 0!==data.fieldValue&&null!==data.fieldValue);const fieldType=(0,_core_utils.getInheritableProperty)({dict:dict,key:"FT"});data.fieldType=fieldType instanceof _primitives.Name?fieldType.name:null;const localResources=(0,_core_utils.getInheritableProperty)({dict:dict,key:"DR"}),acroFormResources=annotationGlobals.acroForm.get("DR"),appearanceResources=null===(_this$appearance=this.appearance)||void 0===_this$appearance?void 0:_this$appearance.dict.get("Resources");this._fieldResources={localResources:localResources,acroFormResources:acroFormResources,appearanceResources:appearanceResources,mergedResources:_primitives.Dict.merge({xref:xref,dictArray:[localResources,appearanceResources,acroFormResources],mergeSubDicts:!0})},data.fieldFlags=(0,_core_utils.getInheritableProperty)({dict:dict,key:"Ff"}),(!Number.isInteger(data.fieldFlags)||data.fieldFlags<0)&&(data.fieldFlags=0),data.readOnly=this.hasFieldFlag(_util.AnnotationFieldFlag.READONLY),data.required=this.hasFieldFlag(_util.AnnotationFieldFlag.REQUIRED),data.hidden=this._hasFlag(data.annotationFlags,_util.AnnotationFlag.HIDDEN)||this._hasFlag(data.annotationFlags,_util.AnnotationFlag.NOVIEW)}_decodeFormValue(formValue){return Array.isArray(formValue)?formValue.filter((item=>"string"==typeof item)).map((item=>(0,_util.stringToPDFString)(item))):formValue instanceof _primitives.Name?(0,_util.stringToPDFString)(formValue.name):"string"==typeof formValue?(0,_util.stringToPDFString)(formValue):null}hasFieldFlag(flag){return!!(this.data.fieldFlags&flag)}_isViewable(flags){return!this._hasFlag(flags,_util.AnnotationFlag.INVISIBLE)}mustBeViewed(annotationStorage,renderForms){return renderForms?this.viewable:super.mustBeViewed(annotationStorage,renderForms)&&!this._hasFlag(this.flags,_util.AnnotationFlag.NOVIEW)}getRotationMatrix(annotationStorage){var _annotationStorage$ge3;let rotation=null==annotationStorage||null===(_annotationStorage$ge3=annotationStorage.get(this.data.id))||void 0===_annotationStorage$ge3?void 0:_annotationStorage$ge3.rotation;if(void 0===rotation&&(rotation=this.rotation),0===rotation)return _util.IDENTITY_MATRIX;const width=this.data.rect[2]-this.data.rect[0],height=this.data.rect[3]-this.data.rect[1];return(0,_core_utils.getRotationMatrix)(rotation,width,height)}getBorderAndBackgroundAppearances(annotationStorage){var _annotationStorage$ge4;let rotation=null==annotationStorage||null===(_annotationStorage$ge4=annotationStorage.get(this.data.id))||void 0===_annotationStorage$ge4?void 0:_annotationStorage$ge4.rotation;if(void 0===rotation&&(rotation=this.rotation),!this.backgroundColor&&!this.borderColor)return"";const width=this.data.rect[2]-this.data.rect[0],height=this.data.rect[3]-this.data.rect[1],rect=0===rotation||180===rotation?"0 0 ".concat(width," ").concat(height," re"):"0 0 ".concat(height," ").concat(width," re");let str="";if(this.backgroundColor&&(str="".concat((0,_default_appearance.getPdfColor)(this.backgroundColor,!0)," ").concat(rect," f ")),this.borderColor){const borderWidth=this.borderStyle.width||1;str+="".concat(borderWidth," w ").concat((0,_default_appearance.getPdfColor)(this.borderColor,!1)," ").concat(rect," S ")}return str}async getOperatorList(evaluator,task,intent,renderForms,annotationStorage){if(renderForms&&!(this instanceof SignatureWidgetAnnotation)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new _operator_list.OperatorList,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(evaluator,task,intent,renderForms,annotationStorage);const content=await this._getAppearance(evaluator,task,intent,annotationStorage);if(this.appearance&&null===content)return super.getOperatorList(evaluator,task,intent,renderForms,annotationStorage);const opList=new _operator_list.OperatorList;if(!this._defaultAppearance||null===content)return{opList:opList,separateForm:!1,separateCanvas:!1};const isUsingOwnCanvas=!!(this.data.hasOwnCanvas&&intent&_util.RenderingIntentFlag.DISPLAY),bbox=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],transform=getTransformMatrix(this.data.rect,bbox,[1,0,0,1,0,0]);let optionalContent;this.oc&&(optionalContent=await evaluator.parseMarkedContentProps(this.oc,null)),void 0!==optionalContent&&opList.addOp(_util.OPS.beginMarkedContentProps,["OC",optionalContent]),opList.addOp(_util.OPS.beginAnnotation,[this.data.id,this.data.rect,transform,this.getRotationMatrix(annotationStorage),isUsingOwnCanvas]);const stream=new _stream.StringStream(content);return await evaluator.getOperatorList({stream:stream,task:task,resources:this._fieldResources.mergedResources,operatorList:opList}),opList.addOp(_util.OPS.endAnnotation,[]),void 0!==optionalContent&&opList.addOp(_util.OPS.endMarkedContent,[]),{opList:opList,separateForm:!1,separateCanvas:isUsingOwnCanvas}}_getMKDict(rotation){const mk=new _primitives.Dict(null);return rotation&&mk.set("R",rotation),this.borderColor&&mk.set("BC",getPdfColorArray(this.borderColor)),this.backgroundColor&&mk.set("BG",getPdfColorArray(this.backgroundColor)),mk.size>0?mk:null}amendSavedDict(annotationStorage,dict){}async save(evaluator,task,annotationStorage){var _appearance;const storageEntry=null==annotationStorage?void 0:annotationStorage.get(this.data.id);let value=null==storageEntry?void 0:storageEntry.value,rotation=null==storageEntry?void 0:storageEntry.rotation;if(value===this.data.fieldValue||void 0===value){if(!this._hasValueFromXFA&&void 0===rotation)return null;value||(value=this.data.fieldValue)}if(void 0===rotation&&!this._hasValueFromXFA&&Array.isArray(value)&&Array.isArray(this.data.fieldValue)&&value.length===this.data.fieldValue.length&&value.every(((x,i)=>x===this.data.fieldValue[i])))return null;void 0===rotation&&(rotation=this.rotation);let appearance=null;if(!this._needAppearances&&(appearance=await this._getAppearance(evaluator,task,_util.RenderingIntentFlag.SAVE,annotationStorage),null===appearance))return null;let needAppearances=!1;null!==(_appearance=appearance)&&void 0!==_appearance&&_appearance.needAppearances&&(needAppearances=!0,appearance=null);const{xref:xref}=evaluator,originalDict=xref.fetchIfRef(this.ref);if(!(originalDict instanceof _primitives.Dict))return null;const dict=new _primitives.Dict(xref);for(const key of originalDict.getKeys())"AP"!==key&&dict.set(key,originalDict.getRaw(key));const xfa={path:this.data.fieldName,value:value},encoder=val=>(0,_core_utils.isAscii)(val)?val:(0,_core_utils.stringToUTF16String)(val,!0);dict.set("V",Array.isArray(value)?value.map(encoder):encoder(value)),this.amendSavedDict(annotationStorage,dict);const maybeMK=this._getMKDict(rotation);maybeMK&&dict.set("MK",maybeMK);const buffer=[],changes=[{ref:this.ref,data:"",xfa:xfa,needAppearances:needAppearances}];if(null!==appearance){const newRef=xref.getNewTemporaryRef(),AP=new _primitives.Dict(xref);dict.set("AP",AP),AP.set("N",newRef);const resources=this._getSaveFieldResources(xref),appearanceStream=new _stream.StringStream(appearance),appearanceDict=appearanceStream.dict=new _primitives.Dict(xref);appearanceDict.set("Subtype",_primitives.Name.get("Form")),appearanceDict.set("Resources",resources),appearanceDict.set("BBox",[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]]);const rotationMatrix=this.getRotationMatrix(annotationStorage);rotationMatrix!==_util.IDENTITY_MATRIX&&appearanceDict.set("Matrix",rotationMatrix),await(0,_writer.writeObject)(newRef,appearanceStream,buffer,xref),changes.push({ref:newRef,data:buffer.join(""),xfa:null,needAppearances:!1}),buffer.length=0}return dict.set("M","D:".concat((0,_util.getModificationDate)())),await(0,_writer.writeObject)(this.ref,dict,buffer,xref),changes[0].data=buffer.join(""),changes}async _getAppearance(evaluator,task,intent,annotationStorage){if(this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD))return null;const storageEntry=null==annotationStorage?void 0:annotationStorage.get(this.data.id);let value,rotation;if(storageEntry&&(value=storageEntry.formattedValue||storageEntry.value,rotation=storageEntry.rotation),void 0===rotation&&void 0===value&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const colors=this.getBorderAndBackgroundAppearances(annotationStorage);if(void 0===value&&(value=this.data.fieldValue,!value))return"/Tx BMC q ".concat(colors,"Q EMC");if(Array.isArray(value)&&1===value.length&&(value=value[0]),(0,_util.assert)("string"==typeof value,"Expected `value` to be a string."),value=value.trim(),this.data.combo){const option=this.data.options.find((_ref21=>{let{exportValue:exportValue}=_ref21;return value===exportValue}));value=(null==option?void 0:option.displayValue)||value}if(""===value)return"/Tx BMC q ".concat(colors,"Q EMC");void 0===rotation&&(rotation=this.rotation);let lines,lineCount=-1;this.data.multiLine?(lines=value.split(/\r\n?|\n/).map((line=>line.normalize("NFC"))),lineCount=lines.length):lines=[value.replace(/\r\n?|\n/,"").normalize("NFC")];let totalHeight=this.data.rect[3]-this.data.rect[1],totalWidth=this.data.rect[2]-this.data.rect[0];90!==rotation&&270!==rotation||([totalWidth,totalHeight]=[totalHeight,totalWidth]),this._defaultAppearance||(this.data.defaultAppearanceData=(0,_default_appearance.parseDefaultAppearance)(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let defaultAppearance,fontSize,lineHeight,font=await WidgetAnnotation._getFontData(evaluator,task,this.data.defaultAppearanceData,this._fieldResources.mergedResources);const encodedLines=[];let encodingError=!1;for(const line of lines){const encodedString=font.encodeString(line);encodedString.length>1&&(encodingError=!0),encodedLines.push(encodedString.join(""))}if(encodingError&&intent&_util.RenderingIntentFlag.SAVE)return{needAppearances:!0};if(encodingError&&this._isOffscreenCanvasSupported){const fontFamily=this.data.comb?"monospace":"sans-serif",fakeUnicodeFont=new _default_appearance.FakeUnicodeFont(evaluator.xref,fontFamily),resources=fakeUnicodeFont.createFontResources(lines.join("")),newFont=resources.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){const oldFont=this._fieldResources.mergedResources.get("Font");for(const key of newFont.getKeys())oldFont.set(key,newFont.getRaw(key))}else this._fieldResources.mergedResources.set("Font",newFont);const fontName=fakeUnicodeFont.fontName.name;font=await WidgetAnnotation._getFontData(evaluator,task,{fontName:fontName,fontSize:0},resources);for(let i=0,ii=encodedLines.length;i2)return"/Tx BMC q ".concat(colors,"BT ")+defaultAppearance+" 1 0 0 1 ".concat((0,_core_utils.numberToString)(2)," ").concat((0,_core_utils.numberToString)(bottomPadding)," Tm (").concat((0,_core_utils.escapeString)(encodedLines[0]),") Tj")+" ET Q EMC";const renderedText=this._renderText(encodedLines[0],font,fontSize,totalWidth,alignment,{shift:0},2,bottomPadding);return"/Tx BMC q ".concat(colors,"BT ")+defaultAppearance+" 1 0 0 1 0 0 Tm ".concat(renderedText)+" ET Q EMC"}static async _getFontData(evaluator,task,appearanceData,resources){const operatorList=new _operator_list.OperatorList,initialState={font:null,clone(){return this}},{fontName:fontName,fontSize:fontSize}=appearanceData;return await evaluator.handleSetFont(resources,[fontName&&_primitives.Name.get(fontName),fontSize],null,operatorList,task,initialState,null),initialState.font}_getTextWidth(text,font){return font.charsToGlyphs(text).reduce(((width,glyph)=>width+glyph.width),0)/1e3}_computeFontSize(height,width,text,font,lineCount){let{fontSize:fontSize}=this.data.defaultAppearanceData,lineHeight=(fontSize||12)*_util.LINE_FACTOR,numberOfLines=Math.round(height/lineHeight);if(!fontSize){const roundWithTwoDigits=x=>Math.floor(100*x)/100;if(-1===lineCount){const textWidth=this._getTextWidth(text,font);fontSize=roundWithTwoDigits(Math.min(height/_util.LINE_FACTOR,textWidth>width?width/textWidth:1/0)),numberOfLines=1}else{const lines=text.split(/\r\n?|\n/),cachedLines=[];for(const line of lines){const encoded=font.encodeString(line).join(""),glyphs=font.charsToGlyphs(encoded),positions=font.getCharPositions(encoded);cachedLines.push({line:encoded,glyphs:glyphs,positions:positions})}const isTooBig=fsize=>{let totalHeight=0;for(const cache of cachedLines)if(totalHeight+=this._splitLine(null,font,fsize,width,cache).length*fsize,totalHeight>height)return!0;return!1};for(numberOfLines=Math.max(numberOfLines,lineCount);lineHeight=height/numberOfLines,fontSize=roundWithTwoDigits(lineHeight/_util.LINE_FACTOR),isTooBig(fontSize);)numberOfLines++}const{fontName:fontName,fontColor:fontColor}=this.data.defaultAppearanceData;this._defaultAppearance=(0,_default_appearance.createDefaultAppearance)({fontSize:fontSize,fontName:fontName,fontColor:fontColor})}return[this._defaultAppearance,fontSize,height/numberOfLines]}_renderText(text,font,fontSize,totalWidth,alignment,prevInfo,hPadding,vPadding){let shift;shift=1===alignment?(totalWidth-this._getTextWidth(text,font)*fontSize)/2:2===alignment?totalWidth-this._getTextWidth(text,font)*fontSize-hPadding:hPadding;const shiftStr=(0,_core_utils.numberToString)(shift-prevInfo.shift);return prevInfo.shift=shift,vPadding=(0,_core_utils.numberToString)(vPadding),"".concat(shiftStr," ").concat(vPadding," Td (").concat((0,_core_utils.escapeString)(text),") Tj")}_getSaveFieldResources(xref){var _this$data$defaultApp;const{localResources:localResources,appearanceResources:appearanceResources,acroFormResources:acroFormResources}=this._fieldResources,fontName=null===(_this$data$defaultApp=this.data.defaultAppearanceData)||void 0===_this$data$defaultApp?void 0:_this$data$defaultApp.fontName;if(!fontName)return localResources||_primitives.Dict.empty;for(const resources of[localResources,appearanceResources])if(resources instanceof _primitives.Dict){const localFont=resources.get("Font");if(localFont instanceof _primitives.Dict&&localFont.has(fontName))return resources}if(acroFormResources instanceof _primitives.Dict){const acroFormFont=acroFormResources.get("Font");if(acroFormFont instanceof _primitives.Dict&&acroFormFont.has(fontName)){const subFontDict=new _primitives.Dict(xref);subFontDict.set(fontName,acroFormFont.getRaw(fontName));const subResourcesDict=new _primitives.Dict(xref);return subResourcesDict.set("Font",subFontDict),_primitives.Dict.merge({xref:xref,dictArray:[subResourcesDict,localResources],mergeSubDicts:!0})}}return localResources||_primitives.Dict.empty}getFieldObject(){return null}}class TextWidgetAnnotation extends WidgetAnnotation{constructor(params){super(params),this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML,this._hasText=!0;const dict=params.dict;"string"!=typeof this.data.fieldValue&&(this.data.fieldValue="");let alignment=(0,_core_utils.getInheritableProperty)({dict:dict,key:"Q"});(!Number.isInteger(alignment)||alignment<0||alignment>2)&&(alignment=null),this.data.textAlignment=alignment;let maximumLength=(0,_core_utils.getInheritableProperty)({dict:dict,key:"MaxLen"});(!Number.isInteger(maximumLength)||maximumLength<0)&&(maximumLength=0),this.data.maxLen=maximumLength,this.data.multiLine=this.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE),this.data.comb=this.hasFieldFlag(_util.AnnotationFieldFlag.COMB)&&!this.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE)&&!this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD)&&!this.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT)&&0!==this.data.maxLen,this.data.doNotScroll=this.hasFieldFlag(_util.AnnotationFieldFlag.DONOTSCROLL)}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(defaultAppearance,font,text,fontSize,width,height,hPadding,vPadding,descent,lineHeight,annotationStorage){const combWidth=width/this.data.maxLen,colors=this.getBorderAndBackgroundAppearances(annotationStorage),buf=[],positions=font.getCharPositions(text);for(const[start,end]of positions)buf.push("(".concat((0,_core_utils.escapeString)(text.substring(start,end)),") Tj"));const renderedComb=buf.join(" ".concat((0,_core_utils.numberToString)(combWidth)," 0 Td "));return"/Tx BMC q ".concat(colors,"BT ")+defaultAppearance+" 1 0 0 1 ".concat((0,_core_utils.numberToString)(hPadding)," ").concat((0,_core_utils.numberToString)(vPadding+descent)," Tm ").concat(renderedComb)+" ET Q EMC"}_getMultilineAppearance(defaultAppearance,lines,font,fontSize,width,height,alignment,hPadding,vPadding,descent,lineHeight,annotationStorage){const buf=[],totalWidth=width-2*hPadding,prevInfo={shift:0};for(let i=0,ii=lines.length;i4&&void 0!==arguments[4]?arguments[4]:{};line=cache.line||line;const glyphs=cache.glyphs||font.charsToGlyphs(line);if(glyphs.length<=1)return[line];const positions=cache.positions||font.getCharPositions(line),scale=fontSize/1e3,chunks=[];let lastSpacePosInStringStart=-1,lastSpacePosInStringEnd=-1,lastSpacePos=-1,startChunk=0,currentWidth=0;for(let i=0,ii=glyphs.length;iwidth?(chunks.push(line.substring(startChunk,start)),startChunk=start,currentWidth=glyphWidth,lastSpacePosInStringStart=-1,lastSpacePos=-1):(currentWidth+=glyphWidth,lastSpacePosInStringStart=start,lastSpacePosInStringEnd=end,lastSpacePos=i):currentWidth+glyphWidth>width?-1!==lastSpacePosInStringStart?(chunks.push(line.substring(startChunk,lastSpacePosInStringEnd)),startChunk=lastSpacePosInStringEnd,i=lastSpacePos+1,lastSpacePosInStringStart=-1,currentWidth=0):(chunks.push(line.substring(startChunk,start)),startChunk=start,currentWidth=glyphWidth):currentWidth+=glyphWidth}return startChunk"Off"!==v));exportValues.length=0,exportValues.push("Off",otherYes)}exportValues.includes(this.data.fieldValue)||(this.data.fieldValue="Off"),this.data.exportValue=exportValues[1];const checkedAppearance=normalAppearance.get(this.data.exportValue);this.checkedAppearance=checkedAppearance instanceof _base_stream.BaseStream?checkedAppearance:null;const uncheckedAppearance=normalAppearance.get("Off");this.uncheckedAppearance=uncheckedAppearance instanceof _base_stream.BaseStream?uncheckedAppearance:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(params,"check"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processRadioButton(params){this.data.fieldValue=this.data.buttonValue=null;const fieldParent=params.dict.get("Parent");if(fieldParent instanceof _primitives.Dict){this.parent=params.dict.getRaw("Parent");const fieldParentValue=fieldParent.get("V");fieldParentValue instanceof _primitives.Name&&(this.data.fieldValue=this._decodeFormValue(fieldParentValue))}const appearanceStates=params.dict.get("AP");if(!(appearanceStates instanceof _primitives.Dict))return;const normalAppearance=appearanceStates.get("N");if(!(normalAppearance instanceof _primitives.Dict))return;for(const key of normalAppearance.getKeys())if("Off"!==key){this.data.buttonValue=this._decodeFormValue(key);break}const checkedAppearance=normalAppearance.get(this.data.buttonValue);this.checkedAppearance=checkedAppearance instanceof _base_stream.BaseStream?checkedAppearance:null;const uncheckedAppearance=normalAppearance.get("Off");this.uncheckedAppearance=uncheckedAppearance instanceof _base_stream.BaseStream?uncheckedAppearance:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(params,"disc"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processPushButton(params){const{dict:dict,annotationGlobals:annotationGlobals}=params;dict.has("A")||dict.has("AA")||this.data.alternativeText?(this.data.isTooltipOnly=!dict.has("A")&&!dict.has("AA"),_catalog.Catalog.parseDestDictionary({destDict:dict,resultObj:this.data,docBaseUrl:annotationGlobals.baseUrl,docAttachments:annotationGlobals.attachments})):(0,_util.warn)("Push buttons without action dictionaries are not supported")}getFieldObject(){let exportValues,type="button";return this.data.checkBox?(type="checkbox",exportValues=this.data.exportValue):this.data.radioButton&&(type="radiobutton",exportValues=this.data.buttonValue),{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:exportValues,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:type}}get fallbackFontDict(){const dict=new _primitives.Dict;return dict.set("BaseFont",_primitives.Name.get("ZapfDingbats")),dict.set("Type",_primitives.Name.get("FallbackType")),dict.set("Subtype",_primitives.Name.get("FallbackType")),dict.set("Encoding",_primitives.Name.get("ZapfDingbatsEncoding")),(0,_util.shadow)(this,"fallbackFontDict",dict)}}class ChoiceWidgetAnnotation extends WidgetAnnotation{constructor(params){super(params);const{dict:dict,xref:xref}=params;this.indices=dict.getArray("I"),this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0,this.data.options=[];const options=(0,_core_utils.getInheritableProperty)({dict:dict,key:"Opt"});if(Array.isArray(options))for(let i=0,ii=options.length;i=0&&i0?this.data.fieldValue[0]:null;return{id:this.data.id,value:value,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:type}}amendSavedDict(annotationStorage,dict){var _annotationStorage$ge5;if(!this.hasIndices)return;let values=null==annotationStorage||null===(_annotationStorage$ge5=annotationStorage.get(this.data.id))||void 0===_annotationStorage$ge5?void 0:_annotationStorage$ge5.value;Array.isArray(values)||(values=[values]);const indices=[],{options:options}=this.data;for(let i=0,j=0,ii=options.length;ilineWidth&&(lineWidth=width,value=displayValue)}[defaultAppearance,fontSize]=this._computeFontSize(lineHeight,totalWidth-4,value,font,-1)}const lineHeight=fontSize*_util.LINE_FACTOR,vPadding=(lineHeight-fontSize)/2,numberOfVisibleLines=Math.floor(totalHeight/lineHeight);let firstIndex=0;if(valueIndices.length>0){const minIndex=Math.min(...valueIndices),maxIndex=Math.max(...valueIndices);firstIndex=Math.max(0,maxIndex-numberOfVisibleLines+1),firstIndex>minIndex&&(firstIndex=minIndex)}const end=Math.min(firstIndex+numberOfVisibleLines+1,lineCount),buf=["/Tx BMC q","1 1 ".concat(totalWidth," ").concat(totalHeight," re W n")];if(valueIndices.length){buf.push("0.600006 0.756866 0.854904 rg");for(const index of valueIndices)firstIndex<=index&&index1)return null;line=encoded.join(""),encodedLines.push(line);let lineWidth=0;const glyphs=helv.charsToGlyphs(line);for(const glyph of glyphs)lineWidth+=glyph.width*scale;totalWidth=Math.max(totalWidth,lineWidth)}let hscale=1;totalWidth>w&&(hscale=w/totalWidth);let vscale=1;const lineHeight=_util.LINE_FACTOR*fontSize,lineAscent=(_util.LINE_FACTOR-_util.LINE_DESCENT_FACTOR)*fontSize,totalHeight=lineHeight*lines.length;totalHeight>h&&(vscale=h/totalHeight);const newFontSize=fontSize*Math.min(hscale,vscale);let firstPoint,clipBox,matrix;switch(rotation){case 0:matrix=[1,0,0,1],clipBox=[rect[0],rect[1],w,h],firstPoint=[rect[0],rect[3]-lineAscent];break;case 90:matrix=[0,1,-1,0],clipBox=[rect[1],-rect[2],w,h],firstPoint=[rect[1],-rect[0]-lineAscent];break;case 180:matrix=[-1,0,0,-1],clipBox=[-rect[2],-rect[3],w,h],firstPoint=[-rect[2],-rect[1]-lineAscent];break;case 270:matrix=[0,-1,1,0],clipBox=[-rect[3],rect[0],w,h],firstPoint=[-rect[3],rect[2]-lineAscent]}const buffer=["q","".concat(matrix.join(" ")," 0 0 cm"),"".concat(clipBox.join(" ")," re W n"),"BT","".concat((0,_default_appearance.getPdfColor)(color,!0)),"0 Tc /Helv ".concat((0,_core_utils.numberToString)(newFontSize)," Tf")];buffer.push("".concat(firstPoint.join(" ")," Td (").concat((0,_core_utils.escapeString)(encodedLines[0]),") Tj"));const vShift=(0,_core_utils.numberToString)(lineHeight);for(let i=1,ii=encodedLines.length;i(buffer.push("".concat(lineCoordinates[0]," ").concat(lineCoordinates[1]," m"),"".concat(lineCoordinates[2]," ").concat(lineCoordinates[3]," l"),"S"),[points[0].x-borderWidth,points[1].x+borderWidth,points[3].y-borderWidth,points[1].y+borderWidth])})}}}class SquareAnnotation extends MarkupAnnotation{constructor(params){super(params);const{dict:dict,xref:xref}=params;if(this.data.annotationType=_util.AnnotationType.SQUARE,this.data.hasOwnCanvas=this.data.noRotate,!this.appearance){const strokeColor=this.color?getPdfColorArray(this.color):[0,0,0],strokeAlpha=dict.get("CA"),interiorColor=getRgbColor(dict.getArray("IC"),null),fillColor=interiorColor?getPdfColorArray(interiorColor):null,fillAlpha=fillColor?strokeAlpha:null;if(0===this.borderStyle.width&&!fillColor)return;this._setDefaultAppearance({xref:xref,extra:"".concat(this.borderStyle.width," w"),strokeColor:strokeColor,fillColor:fillColor,strokeAlpha:strokeAlpha,fillAlpha:fillAlpha,pointsCallback:(buffer,points)=>{const x=points[2].x+this.borderStyle.width/2,y=points[2].y+this.borderStyle.width/2,width=points[3].x-points[2].x-this.borderStyle.width,height=points[1].y-points[3].y-this.borderStyle.width;return buffer.push("".concat(x," ").concat(y," ").concat(width," ").concat(height," re")),fillColor?buffer.push("B"):buffer.push("S"),[points[0].x,points[1].x,points[3].y,points[1].y]}})}}}class CircleAnnotation extends MarkupAnnotation{constructor(params){super(params);const{dict:dict,xref:xref}=params;if(this.data.annotationType=_util.AnnotationType.CIRCLE,!this.appearance){const strokeColor=this.color?getPdfColorArray(this.color):[0,0,0],strokeAlpha=dict.get("CA"),interiorColor=getRgbColor(dict.getArray("IC"),null),fillColor=interiorColor?getPdfColorArray(interiorColor):null,fillAlpha=fillColor?strokeAlpha:null;if(0===this.borderStyle.width&&!fillColor)return;const controlPointsDistance=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:xref,extra:"".concat(this.borderStyle.width," w"),strokeColor:strokeColor,fillColor:fillColor,strokeAlpha:strokeAlpha,fillAlpha:fillAlpha,pointsCallback:(buffer,points)=>{const x0=points[0].x+this.borderStyle.width/2,y0=points[0].y-this.borderStyle.width/2,x1=points[3].x-this.borderStyle.width/2,y1=points[3].y+this.borderStyle.width/2,xMid=x0+(x1-x0)/2,yMid=y0+(y1-y0)/2,xOffset=(x1-x0)/2*controlPointsDistance,yOffset=(y1-y0)/2*controlPointsDistance;return buffer.push("".concat(xMid," ").concat(y1," m"),"".concat(xMid+xOffset," ").concat(y1," ").concat(x1," ").concat(yMid+yOffset," ").concat(x1," ").concat(yMid," c"),"".concat(x1," ").concat(yMid-yOffset," ").concat(xMid+xOffset," ").concat(y0," ").concat(xMid," ").concat(y0," c"),"".concat(xMid-xOffset," ").concat(y0," ").concat(x0," ").concat(yMid-yOffset," ").concat(x0," ").concat(yMid," c"),"".concat(x0," ").concat(yMid+yOffset," ").concat(xMid-xOffset," ").concat(y1," ").concat(xMid," ").concat(y1," c"),"h"),fillColor?buffer.push("B"):buffer.push("S"),[points[0].x,points[1].x,points[3].y,points[1].y]}})}}}class PolylineAnnotation extends MarkupAnnotation{constructor(params){super(params);const{dict:dict,xref:xref}=params;this.data.annotationType=_util.AnnotationType.POLYLINE,this.data.hasOwnCanvas=this.data.noRotate,this.data.vertices=[],this instanceof PolygonAnnotation||(this.setLineEndings(dict.getArray("LE")),this.data.lineEndings=this.lineEndings);const rawVertices=dict.getArray("Vertices");if(Array.isArray(rawVertices)){for(let i=0,ii=rawVertices.length;i{const vertices=this.data.vertices;for(let i=0,ii=vertices.length;i{for(const inkList of this.data.inkLists){for(let i=0,ii=inkList.length;ip.points))),ink.set("F",4),ink.set("Rotate",rotation);const bs=new _primitives.Dict(xref);ink.set("BS",bs),bs.set("W",thickness),ink.set("C",Array.from(color,(c=>c/255))),ink.set("CA",opacity);const n=new _primitives.Dict(xref);return ink.set("AP",n),apRef?n.set("N",apRef):n.set("N",ap),ink}static async createNewAppearanceStream(annotation,xref,params){const{color:color,rect:rect,paths:paths,thickness:thickness,opacity:opacity}=annotation,appearanceBuffer=["".concat(thickness," w 1 J 1 j"),"".concat((0,_default_appearance.getPdfColor)(color,!1))];1!==opacity&&appearanceBuffer.push("/R0 gs");const buffer=[];for(const{bezier:bezier}of paths){buffer.length=0,buffer.push("".concat((0,_core_utils.numberToString)(bezier[0])," ").concat((0,_core_utils.numberToString)(bezier[1])," m"));for(let i=2,ii=bezier.length;i(buffer.push("".concat(points[0].x," ").concat(points[0].y," m"),"".concat(points[1].x," ").concat(points[1].y," l"),"".concat(points[3].x," ").concat(points[3].y," l"),"".concat(points[2].x," ").concat(points[2].y," l"),"f"),[points[0].x,points[1].x,points[3].y,points[1].y])})}}else this.data.popupRef=null}}class UnderlineAnnotation extends MarkupAnnotation{constructor(params){super(params);const{dict:dict,xref:xref}=params;if(this.data.annotationType=_util.AnnotationType.UNDERLINE,this.data.quadPoints=getQuadPoints(dict,null)){if(!this.appearance){const strokeColor=this.color?getPdfColorArray(this.color):[0,0,0],strokeAlpha=dict.get("CA");this._setDefaultAppearance({xref:xref,extra:"[] 0 d 0.571 w",strokeColor:strokeColor,strokeAlpha:strokeAlpha,pointsCallback:(buffer,points)=>(buffer.push("".concat(points[2].x," ").concat(points[2].y+1.3," m"),"".concat(points[3].x," ").concat(points[3].y+1.3," l"),"S"),[points[0].x,points[1].x,points[3].y,points[1].y])})}}else this.data.popupRef=null}}class SquigglyAnnotation extends MarkupAnnotation{constructor(params){super(params);const{dict:dict,xref:xref}=params;if(this.data.annotationType=_util.AnnotationType.SQUIGGLY,this.data.quadPoints=getQuadPoints(dict,null)){if(!this.appearance){const strokeColor=this.color?getPdfColorArray(this.color):[0,0,0],strokeAlpha=dict.get("CA");this._setDefaultAppearance({xref:xref,extra:"[] 0 d 1 w",strokeColor:strokeColor,strokeAlpha:strokeAlpha,pointsCallback:(buffer,points)=>{const dy=(points[0].y-points[2].y)/6;let shift=dy,x=points[2].x;const y=points[2].y,xEnd=points[3].x;buffer.push("".concat(x," ").concat(y+shift," m"));do{x+=2,shift=0===shift?dy:0,buffer.push("".concat(x," ").concat(y+shift," l"))}while(x(buffer.push("".concat((points[0].x+points[2].x)/2," ")+"".concat((points[0].y+points[2].y)/2," m"),"".concat((points[1].x+points[3].x)/2," ")+"".concat((points[1].y+points[3].y)/2," l"),"S"),[points[0].x,points[1].x,points[3].y,points[1].y])})}}else this.data.popupRef=null}}class StampAnnotation extends MarkupAnnotation{constructor(params){super(params),this.data.annotationType=_util.AnnotationType.STAMP,this.data.hasOwnCanvas=this.data.noRotate}static async createImage(bitmap,xref){const{width:width,height:height}=bitmap,canvas=new OffscreenCanvas(width,height),ctx=canvas.getContext("2d",{alpha:!0});ctx.drawImage(bitmap,0,0);const data=ctx.getImageData(0,0,width,height).data,buf32=new Uint32Array(data.buffer),hasAlpha=buf32.some(_util.FeatureTest.isLittleEndian?x=>x>>>24!=255:x=>255!=(255&x));hasAlpha&&(ctx.fillStyle="white",ctx.fillRect(0,0,width,height),ctx.drawImage(bitmap,0,0));const jpegBufferPromise=canvas.convertToBlob({type:"image/jpeg",quality:1}).then((blob=>blob.arrayBuffer())),xobjectName=_primitives.Name.get("XObject"),imageName=_primitives.Name.get("Image"),image=new _primitives.Dict(xref);image.set("Type",xobjectName),image.set("Subtype",imageName),image.set("BitsPerComponent",8),image.set("ColorSpace",_primitives.Name.get("DeviceRGB")),image.set("Filter",_primitives.Name.get("DCTDecode")),image.set("BBox",[0,0,width,height]),image.set("Width",width),image.set("Height",height);let smaskStream=null;if(hasAlpha){const alphaBuffer=new Uint8Array(buf32.length);if(_util.FeatureTest.isLittleEndian)for(let i=0,ii=buf32.length;i>>24;else for(let i=0,ii=buf32.length;i=0&&fillAlpha<=1?fillAlpha:null}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FakeUnicodeFont=void 0,exports.createDefaultAppearance=function(_ref25){let{fontSize:fontSize,fontName:fontName,fontColor:fontColor}=_ref25;return"/".concat((0,_core_utils.escapePDFName)(fontName)," ").concat(fontSize," Tf ").concat(getPdfColor(fontColor,!0))},exports.getPdfColor=getPdfColor,exports.parseAppearanceStream=function(stream,evaluatorOptions,xref){return new AppearanceStreamEvaluator(stream,evaluatorOptions,xref).parse()},exports.parseDefaultAppearance=function(str){return new DefaultAppearanceEvaluator(str).parse()};var _primitives=__w_pdfjs_require__(4),_core_utils=__w_pdfjs_require__(3),_util=__w_pdfjs_require__(2),_colorspace=__w_pdfjs_require__(12),_evaluator=__w_pdfjs_require__(13),_image_utils=__w_pdfjs_require__(59),_function=__w_pdfjs_require__(57),_stream=__w_pdfjs_require__(8);class DefaultAppearanceEvaluator extends _evaluator.EvaluatorPreprocessor{constructor(str){super(new _stream.StringStream(str))}parse(){const operation={fn:0,args:[]},result={fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3)};try{for(;operation.args.length=0,this.read(operation);){if(0!==this.savedStatesDepth)continue;const{fn:fn,args:args}=operation;switch(0|fn){case _util.OPS.setFont:const[fontName,fontSize]=args;fontName instanceof _primitives.Name&&(result.fontName=fontName.name),"number"==typeof fontSize&&fontSize>0&&(result.fontSize=fontSize);break;case _util.OPS.setFillRGBColor:_colorspace.ColorSpace.singletons.rgb.getRgbItem(args,0,result.fontColor,0);break;case _util.OPS.setFillGray:_colorspace.ColorSpace.singletons.gray.getRgbItem(args,0,result.fontColor,0);break;case _util.OPS.setFillCMYKColor:_colorspace.ColorSpace.singletons.cmyk.getRgbItem(args,0,result.fontColor,0)}}}catch(reason){(0,_util.warn)('parseDefaultAppearance - ignoring errors: "'.concat(reason,'".'))}return result}}class AppearanceStreamEvaluator extends _evaluator.EvaluatorPreprocessor{constructor(stream,evaluatorOptions,xref){var _stream$dict;super(stream),this.stream=stream,this.evaluatorOptions=evaluatorOptions,this.xref=xref,this.resources=null===(_stream$dict=stream.dict)||void 0===_stream$dict?void 0:_stream$dict.get("Resources")}parse(){const operation={fn:0,args:[]};let result={scaleFactor:1,fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3),fillColorSpace:_colorspace.ColorSpace.singletons.gray},breakLoop=!1;const stack=[];try{for(;operation.args.length=0,!breakLoop&&this.read(operation);){const{fn:fn,args:args}=operation;switch(0|fn){case _util.OPS.save:stack.push({scaleFactor:result.scaleFactor,fontSize:result.fontSize,fontName:result.fontName,fontColor:result.fontColor.slice(),fillColorSpace:result.fillColorSpace});break;case _util.OPS.restore:result=stack.pop()||result;break;case _util.OPS.setTextMatrix:result.scaleFactor*=Math.hypot(args[0],args[1]);break;case _util.OPS.setFont:const[fontName,fontSize]=args;fontName instanceof _primitives.Name&&(result.fontName=fontName.name),"number"==typeof fontSize&&fontSize>0&&(result.fontSize=fontSize*result.scaleFactor);break;case _util.OPS.setFillColorSpace:result.fillColorSpace=_colorspace.ColorSpace.parse({cs:args[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:this._localColorSpaceCache});break;case _util.OPS.setFillColor:result.fillColorSpace.getRgbItem(args,0,result.fontColor,0);break;case _util.OPS.setFillRGBColor:_colorspace.ColorSpace.singletons.rgb.getRgbItem(args,0,result.fontColor,0);break;case _util.OPS.setFillGray:_colorspace.ColorSpace.singletons.gray.getRgbItem(args,0,result.fontColor,0);break;case _util.OPS.setFillCMYKColor:_colorspace.ColorSpace.singletons.cmyk.getRgbItem(args,0,result.fontColor,0);break;case _util.OPS.showText:case _util.OPS.showSpacedText:case _util.OPS.nextLineShowText:case _util.OPS.nextLineSetSpacingShowText:breakLoop=!0}}}catch(reason){(0,_util.warn)('parseAppearanceStream - ignoring errors: "'.concat(reason,'".'))}return this.stream.reset(),delete result.scaleFactor,delete result.fillColorSpace,result}get _localColorSpaceCache(){return(0,_util.shadow)(this,"_localColorSpaceCache",new _image_utils.LocalColorSpaceCache)}get _pdfFunctionFactory(){const pdfFunctionFactory=new _function.PDFFunctionFactory({xref:this.xref,isEvalSupported:this.evaluatorOptions.isEvalSupported});return(0,_util.shadow)(this,"_pdfFunctionFactory",pdfFunctionFactory)}}function getPdfColor(color,isFill){if(color[0]===color[1]&&color[1]===color[2]){const gray=color[0]/255;return"".concat((0,_core_utils.numberToString)(gray)," ").concat(isFill?"g":"G")}return Array.from(color,(c=>(0,_core_utils.numberToString)(c/255))).join(" ")+" ".concat(isFill?"rg":"RG")}class FakeUnicodeFont{constructor(xref,fontFamily){this.xref=xref,this.widths=null,this.firstChar=1/0,this.lastChar=-1/0,this.fontFamily=fontFamily;const canvas=new OffscreenCanvas(1,1);this.ctxMeasure=canvas.getContext("2d"),FakeUnicodeFont._fontNameId||(FakeUnicodeFont._fontNameId=1),this.fontName=_primitives.Name.get("InvalidPDFjsFont_".concat(fontFamily,"_").concat(FakeUnicodeFont._fontNameId++))}get toUnicodeRef(){if(!FakeUnicodeFont._toUnicodeRef){const toUnicode="/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo\n<< /Registry (Adobe)\n/Ordering (UCS) /Supplement 0 >> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000> \nendcodespacerange\n1 beginbfrange\n<0000> <0000>\nendbfrange\nendcmap CMapName currentdict /CMap defineresource pop end end",toUnicodeStream=FakeUnicodeFont.toUnicodeStream=new _stream.StringStream(toUnicode),toUnicodeDict=new _primitives.Dict(this.xref);toUnicodeStream.dict=toUnicodeDict,toUnicodeDict.set("Length",toUnicode.length),FakeUnicodeFont._toUnicodeRef=this.xref.getNewPersistentRef(toUnicodeStream)}return FakeUnicodeFont._toUnicodeRef}get fontDescriptorRef(){if(!FakeUnicodeFont._fontDescriptorRef){const fontDescriptor=new _primitives.Dict(this.xref);fontDescriptor.set("Type",_primitives.Name.get("FontDescriptor")),fontDescriptor.set("FontName",this.fontName),fontDescriptor.set("FontFamily","MyriadPro Regular"),fontDescriptor.set("FontBBox",[0,0,0,0]),fontDescriptor.set("FontStretch",_primitives.Name.get("Normal")),fontDescriptor.set("FontWeight",400),fontDescriptor.set("ItalicAngle",0),FakeUnicodeFont._fontDescriptorRef=this.xref.getNewPersistentRef(fontDescriptor)}return FakeUnicodeFont._fontDescriptorRef}get descendantFontRef(){const descendantFont=new _primitives.Dict(this.xref);descendantFont.set("BaseFont",this.fontName),descendantFont.set("Type",_primitives.Name.get("Font")),descendantFont.set("Subtype",_primitives.Name.get("CIDFontType0")),descendantFont.set("CIDToGIDMap",_primitives.Name.get("Identity")),descendantFont.set("FirstChar",this.firstChar),descendantFont.set("LastChar",this.lastChar),descendantFont.set("FontDescriptor",this.fontDescriptorRef),descendantFont.set("DW",1e3);const widths=[],chars=[...this.widths.entries()].sort();let currentChar=null,currentWidths=null;for(const[char,width]of chars)currentChar?char===currentChar+currentWidths.length?currentWidths.push(width):(widths.push(currentChar,currentWidths),currentChar=char,currentWidths=[width]):(currentChar=char,currentWidths=[width]);currentChar&&widths.push(currentChar,currentWidths),descendantFont.set("W",widths);const cidSystemInfo=new _primitives.Dict(this.xref);return cidSystemInfo.set("Ordering","Identity"),cidSystemInfo.set("Registry","Adobe"),cidSystemInfo.set("Supplement",0),descendantFont.set("CIDSystemInfo",cidSystemInfo),this.xref.getNewPersistentRef(descendantFont)}get baseFontRef(){const baseFont=new _primitives.Dict(this.xref);return baseFont.set("BaseFont",this.fontName),baseFont.set("Type",_primitives.Name.get("Font")),baseFont.set("Subtype",_primitives.Name.get("Type0")),baseFont.set("Encoding",_primitives.Name.get("Identity-H")),baseFont.set("DescendantFonts",[this.descendantFontRef]),baseFont.set("ToUnicode",this.toUnicodeRef),this.xref.getNewPersistentRef(baseFont)}get resources(){const resources=new _primitives.Dict(this.xref),font=new _primitives.Dict(this.xref);return font.set(this.fontName.name,this.baseFontRef),resources.set("Font",font),resources}_createContext(){return this.widths=new Map,this.ctxMeasure.font="1000px ".concat(this.fontFamily),this.ctxMeasure}createFontResources(text){const ctx=this._createContext();for(const line of text.split(/\r\n?|\n/))for(const char of line.split("")){const code=char.charCodeAt(0);if(this.widths.has(code))continue;const metrics=ctx.measureText(char),width=Math.ceil(metrics.width);this.widths.set(code,width),this.firstChar=Math.min(code,this.firstChar),this.lastChar=Math.max(code,this.lastChar)}return this.resources}createAppearance(text,rect,rotation,fontSize,bgColor,strokeAlpha){const ctx=this._createContext(),lines=[];let maxWidth=-1/0;for(const line of text.split(/\r\n?|\n/)){lines.push(line);const lineWidth=ctx.measureText(line).width;maxWidth=Math.max(maxWidth,lineWidth);for(const char of line.split("")){const code=char.charCodeAt(0);let width=this.widths.get(code);if(void 0===width){const metrics=ctx.measureText(char);width=Math.ceil(metrics.width),this.widths.set(code,width),this.firstChar=Math.min(code,this.firstChar),this.lastChar=Math.max(code,this.lastChar)}}}maxWidth*=fontSize/1e3;const[x1,y1,x2,y2]=rect;let w=x2-x1,h=y2-y1;rotation%180!=0&&([w,h]=[h,w]);let hscale=1;maxWidth>w&&(hscale=w/maxWidth);let vscale=1;const lineHeight=_util.LINE_FACTOR*fontSize,lineDescent=_util.LINE_DESCENT_FACTOR*fontSize,maxHeight=lineHeight*lines.length;maxHeight>h&&(vscale=h/maxHeight);const newFontSize=fontSize*Math.min(hscale,vscale),buffer=["q","0 0 ".concat((0,_core_utils.numberToString)(w)," ").concat((0,_core_utils.numberToString)(h)," re W n"),"BT","1 0 0 1 0 ".concat((0,_core_utils.numberToString)(h+lineDescent)," Tm 0 Tc ").concat(getPdfColor(bgColor,!0)),"/".concat(this.fontName.name," ").concat((0,_core_utils.numberToString)(newFontSize)," Tf")],{resources:resources}=this;if(1!==(strokeAlpha="number"==typeof strokeAlpha&&strokeAlpha>=0&&strokeAlpha<=1?strokeAlpha:1)){buffer.push("/R0 gs");const extGState=new _primitives.Dict(this.xref),r0=new _primitives.Dict(this.xref);r0.set("ca",strokeAlpha),r0.set("CA",strokeAlpha),r0.set("Type",_primitives.Name.get("ExtGState")),extGState.set("R0",r0),resources.set("ExtGState",extGState)}const vShift=(0,_core_utils.numberToString)(lineHeight);for(const line of lines)buffer.push("0 -".concat(vShift," Td <").concat((0,_core_utils.stringToUTF16HexString)(line),"> Tj"));buffer.push("ET","Q");const appearance=buffer.join("\n"),appearanceStreamDict=new _primitives.Dict(this.xref);if(appearanceStreamDict.set("Subtype",_primitives.Name.get("Form")),appearanceStreamDict.set("Type",_primitives.Name.get("XObject")),appearanceStreamDict.set("BBox",[0,0,w,h]),appearanceStreamDict.set("Length",appearance.length),appearanceStreamDict.set("Resources",resources),rotation){const matrix=(0,_core_utils.getRotationMatrix)(rotation,w,h);appearanceStreamDict.set("Matrix",matrix)}const ap=new _stream.StringStream(appearance);return ap.dict=appearanceStreamDict,ap}}exports.FakeUnicodeFont=FakeUnicodeFont},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColorSpace=void 0;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_base_stream=__w_pdfjs_require__(5),_core_utils=__w_pdfjs_require__(3);class ColorSpace{constructor(name,numComps){this.constructor===ColorSpace&&(0,_util.unreachable)("Cannot initialize ColorSpace."),this.name=name,this.numComps=numComps}getRgb(src,srcOffset){const rgb=new Uint8ClampedArray(3);return this.getRgbItem(src,srcOffset,rgb,0),rgb}getRgbItem(src,srcOffset,dest,destOffset){(0,_util.unreachable)("Should not call ColorSpace.getRgbItem")}getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){(0,_util.unreachable)("Should not call ColorSpace.getRgbBuffer")}getOutputLength(inputLength,alpha01){(0,_util.unreachable)("Should not call ColorSpace.getOutputLength")}isPassthrough(bits){return!1}isDefaultDecode(decodeMap,bpc){return ColorSpace.isDefaultDecode(decodeMap,this.numComps)}fillRgb(dest,originalWidth,originalHeight,width,height,actualHeight,bpc,comps,alpha01){const count=originalWidth*originalHeight;let rgbBuf=null;const numComponentColors=1<numComponentColors&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const allColors=bpc<=8?new Uint8Array(numComponentColors):new Uint16Array(numComponentColors);for(let i=0;i2&&void 0!==arguments[2]?arguments[2]:null,pdfFunctionFactory=arguments.length>3?arguments[3]:void 0;if((cs=xref.fetchIfRef(cs))instanceof _primitives.Name)switch(cs.name){case"G":case"DeviceGray":return this.singletons.gray;case"RGB":case"DeviceRGB":return this.singletons.rgb;case"CMYK":case"DeviceCMYK":return this.singletons.cmyk;case"Pattern":return new PatternCS(null);default:if(resources instanceof _primitives.Dict){const colorSpaces=resources.get("ColorSpace");if(colorSpaces instanceof _primitives.Dict){const resourcesCS=colorSpaces.get(cs.name);if(resourcesCS){if(resourcesCS instanceof _primitives.Name)return this._parse(resourcesCS,xref,resources,pdfFunctionFactory);cs=resourcesCS;break}}}throw new _util.FormatError("Unrecognized ColorSpace: ".concat(cs.name))}if(Array.isArray(cs)){const mode=xref.fetchIfRef(cs[0]).name;let params,numComps,baseCS,whitePoint,blackPoint,gamma;switch(mode){case"G":case"DeviceGray":return this.singletons.gray;case"RGB":case"DeviceRGB":return this.singletons.rgb;case"CMYK":case"DeviceCMYK":return this.singletons.cmyk;case"CalGray":return params=xref.fetchIfRef(cs[1]),whitePoint=params.getArray("WhitePoint"),blackPoint=params.getArray("BlackPoint"),gamma=params.get("Gamma"),new CalGrayCS(whitePoint,blackPoint,gamma);case"CalRGB":params=xref.fetchIfRef(cs[1]),whitePoint=params.getArray("WhitePoint"),blackPoint=params.getArray("BlackPoint"),gamma=params.getArray("Gamma");const matrix=params.getArray("Matrix");return new CalRGBCS(whitePoint,blackPoint,gamma,matrix);case"ICCBased":const dict=xref.fetchIfRef(cs[1]).dict;numComps=dict.get("N");const alt=dict.get("Alternate");if(alt){const altCS=this._parse(alt,xref,resources,pdfFunctionFactory);if(altCS.numComps===numComps)return altCS;(0,_util.warn)("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(1===numComps)return this.singletons.gray;if(3===numComps)return this.singletons.rgb;if(4===numComps)return this.singletons.cmyk;break;case"Pattern":return baseCS=cs[1]||null,baseCS&&(baseCS=this._parse(baseCS,xref,resources,pdfFunctionFactory)),new PatternCS(baseCS);case"I":case"Indexed":baseCS=this._parse(cs[1],xref,resources,pdfFunctionFactory);const hiVal=xref.fetchIfRef(cs[2])+1,lookup=xref.fetchIfRef(cs[3]);return new IndexedCS(baseCS,hiVal,lookup);case"Separation":case"DeviceN":const name=xref.fetchIfRef(cs[1]);numComps=Array.isArray(name)?name.length:1,baseCS=this._parse(cs[2],xref,resources,pdfFunctionFactory);const tintFn=pdfFunctionFactory.create(cs[3]);return new AlternateCS(numComps,baseCS,tintFn);case"Lab":params=xref.fetchIfRef(cs[1]),whitePoint=params.getArray("WhitePoint"),blackPoint=params.getArray("BlackPoint");const range=params.getArray("Range");return new LabCS(whitePoint,blackPoint,range);default:throw new _util.FormatError("Unimplemented ColorSpace object: ".concat(mode))}}throw new _util.FormatError("Unrecognized ColorSpace object: ".concat(cs))}static isDefaultDecode(decode,numComps){if(!Array.isArray(decode))return!0;if(2*numComps!==decode.length)return(0,_util.warn)("The decode map is not the correct length"),!0;for(let i=0,ii=decode.length;i=.99554525?1:_classPrivateMethodGet(this,_adjustToRange,_adjustToRange2).call(this,0,1,1.055*color**(1/2.4)-.055)}function _adjustToRange2(min,max,value){return Math.max(min,Math.min(max,value))}function _decodeL2(L){return L<0?-_classPrivateMethodGet(this,_decodeL,_decodeL2).call(this,-L):L>8?((L+16)/116)**3:L*_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_DECODE_L_CONSTANT)}function _compensateBlackPoint2(sourceBlackPoint,XYZ_Flat,result){if(0===sourceBlackPoint[0]&&0===sourceBlackPoint[1]&&0===sourceBlackPoint[2])return result[0]=XYZ_Flat[0],result[1]=XYZ_Flat[1],void(result[2]=XYZ_Flat[2]);const zeroDecodeL=_classPrivateMethodGet(this,_decodeL,_decodeL2).call(this,0),X_Scale=(1-zeroDecodeL)/(1-_classPrivateMethodGet(this,_decodeL,_decodeL2).call(this,sourceBlackPoint[0])),X_Offset=1-X_Scale,Y_Scale=(1-zeroDecodeL)/(1-_classPrivateMethodGet(this,_decodeL,_decodeL2).call(this,sourceBlackPoint[1])),Y_Offset=1-Y_Scale,Z_Scale=(1-zeroDecodeL)/(1-_classPrivateMethodGet(this,_decodeL,_decodeL2).call(this,sourceBlackPoint[2])),Z_Offset=1-Z_Scale;result[0]=XYZ_Flat[0]*X_Scale+X_Offset,result[1]=XYZ_Flat[1]*Y_Scale+Y_Offset,result[2]=XYZ_Flat[2]*Z_Scale+Z_Offset}function _normalizeWhitePointToFlat2(sourceWhitePoint,XYZ_In,result){if(1===sourceWhitePoint[0]&&1===sourceWhitePoint[2])return result[0]=XYZ_In[0],result[1]=XYZ_In[1],void(result[2]=XYZ_In[2]);const LMS=result;_classPrivateMethodGet(this,_matrixProduct,_matrixProduct2).call(this,_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_BRADFORD_SCALE_MATRIX),XYZ_In,LMS);const LMS_Flat=_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_tempNormalizeMatrix);_classPrivateMethodGet(this,_toFlat,_toFlat2).call(this,sourceWhitePoint,LMS,LMS_Flat),_classPrivateMethodGet(this,_matrixProduct,_matrixProduct2).call(this,_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_BRADFORD_SCALE_INVERSE_MATRIX),LMS_Flat,result)}function _normalizeWhitePointToD2(sourceWhitePoint,XYZ_In,result){const LMS=result;_classPrivateMethodGet(this,_matrixProduct,_matrixProduct2).call(this,_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_BRADFORD_SCALE_MATRIX),XYZ_In,LMS);const LMS_D65=_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_tempNormalizeMatrix);_classPrivateMethodGet(this,_toD,_toD2).call(this,sourceWhitePoint,LMS,LMS_D65),_classPrivateMethodGet(this,_matrixProduct,_matrixProduct2).call(this,_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_BRADFORD_SCALE_INVERSE_MATRIX),LMS_D65,result)}function _toRgb6(src,srcOffset,dest,destOffset,scale){const A=_classPrivateMethodGet(this,_adjustToRange,_adjustToRange2).call(this,0,1,src[srcOffset]*scale),B=_classPrivateMethodGet(this,_adjustToRange,_adjustToRange2).call(this,0,1,src[srcOffset+1]*scale),C=_classPrivateMethodGet(this,_adjustToRange,_adjustToRange2).call(this,0,1,src[srcOffset+2]*scale),AGR=1===A?1:A**this.GR,BGG=1===B?1:B**this.GG,CGB=1===C?1:C**this.GB,X=this.MXA*AGR+this.MXB*BGG+this.MXC*CGB,Y=this.MYA*AGR+this.MYB*BGG+this.MYC*CGB,Z=this.MZA*AGR+this.MZB*BGG+this.MZC*CGB,XYZ=_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_tempConvertMatrix);XYZ[0]=X,XYZ[1]=Y,XYZ[2]=Z;const XYZ_Flat=_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_tempConvertMatrix2);_classPrivateMethodGet(this,_normalizeWhitePointToFlat,_normalizeWhitePointToFlat2).call(this,this.whitePoint,XYZ,XYZ_Flat);const XYZ_Black=_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_tempConvertMatrix);_classPrivateMethodGet(this,_compensateBlackPoint,_compensateBlackPoint2).call(this,this.blackPoint,XYZ_Flat,XYZ_Black);const XYZ_D65=_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_tempConvertMatrix2);_classPrivateMethodGet(this,_normalizeWhitePointToD,_normalizeWhitePointToD2).call(this,_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_FLAT_WHITEPOINT_MATRIX),XYZ_Black,XYZ_D65);const SRGB=_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_tempConvertMatrix);_classPrivateMethodGet(this,_matrixProduct,_matrixProduct2).call(this,_classStaticPrivateFieldSpecGet(CalRGBCS,CalRGBCS,_SRGB_D65_XYZ_TO_RGB_MATRIX),XYZ_D65,SRGB),dest[destOffset]=255*_classPrivateMethodGet(this,_sRGBTransferFunction,_sRGBTransferFunction2).call(this,SRGB[0]),dest[destOffset+1]=255*_classPrivateMethodGet(this,_sRGBTransferFunction,_sRGBTransferFunction2).call(this,SRGB[1]),dest[destOffset+2]=255*_classPrivateMethodGet(this,_sRGBTransferFunction,_sRGBTransferFunction2).call(this,SRGB[2])}var _BRADFORD_SCALE_MATRIX={writable:!0,value:new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296])},_BRADFORD_SCALE_INVERSE_MATRIX={writable:!0,value:new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867])},_SRGB_D65_XYZ_TO_RGB_MATRIX={writable:!0,value:new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252])},_FLAT_WHITEPOINT_MATRIX={writable:!0,value:new Float32Array([1,1,1])},_tempNormalizeMatrix={writable:!0,value:new Float32Array(3)},_tempConvertMatrix={writable:!0,value:new Float32Array(3)},_tempConvertMatrix2={writable:!0,value:new Float32Array(3)},_DECODE_L_CONSTANT={writable:!0,value:(24/116)**3/8},_fn_g=new WeakSet,_decode=new WeakSet,_toRgb7=new WeakSet;class LabCS extends ColorSpace{constructor(whitePoint,blackPoint,range){if(super("Lab",3),_classPrivateMethodInitSpec(this,_toRgb7),_classPrivateMethodInitSpec(this,_decode),_classPrivateMethodInitSpec(this,_fn_g),!whitePoint)throw new _util.FormatError("WhitePoint missing - required for color space Lab");if([this.XW,this.YW,this.ZW]=whitePoint,[this.amin,this.amax,this.bmin,this.bmax]=range||[-100,100,-100,100],[this.XB,this.YB,this.ZB]=blackPoint||[0,0,0],this.XW<0||this.ZW<0||1!==this.YW)throw new _util.FormatError("Invalid WhitePoint components, no fallback available");(this.XB<0||this.YB<0||this.ZB<0)&&((0,_util.info)("Invalid BlackPoint, falling back to default"),this.XB=this.YB=this.ZB=0),(this.amin>this.amax||this.bmin>this.bmax)&&((0,_util.info)("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100)}getRgbItem(src,srcOffset,dest,destOffset){_classPrivateMethodGet(this,_toRgb7,_toRgb8).call(this,src,srcOffset,!1,dest,destOffset)}getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){const maxVal=(1<=6/29?x**3:108/841*(x-4/29)}function _decode2(value,high1,low2,high2){return low2+value*(high2-low2)/high1}function _toRgb8(src,srcOffset,maxVal,dest,destOffset){let Ls=src[srcOffset],as=src[srcOffset+1],bs=src[srcOffset+2];!1!==maxVal&&(Ls=_classPrivateMethodGet(this,_decode,_decode2).call(this,Ls,maxVal,0,100),as=_classPrivateMethodGet(this,_decode,_decode2).call(this,as,maxVal,this.amin,this.amax),bs=_classPrivateMethodGet(this,_decode,_decode2).call(this,bs,maxVal,this.bmin,this.bmax)),as>this.amax?as=this.amax:asthis.bmax?bs=this.bmax:bs{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PartialEvaluator=exports.EvaluatorPreprocessor=void 0;var _util=__w_pdfjs_require__(2),_cmap=__w_pdfjs_require__(14),_primitives=__w_pdfjs_require__(4),_fonts=__w_pdfjs_require__(34),_encodings=__w_pdfjs_require__(37),_standard_fonts=__w_pdfjs_require__(41),_pattern=__w_pdfjs_require__(50),_xfa_fonts=__w_pdfjs_require__(51),_to_unicode_map=__w_pdfjs_require__(42),_function=__w_pdfjs_require__(57),_parser=__w_pdfjs_require__(16),_image_utils=__w_pdfjs_require__(59),_stream=__w_pdfjs_require__(8),_base_stream=__w_pdfjs_require__(5),_bidi=__w_pdfjs_require__(60),_colorspace=__w_pdfjs_require__(12),_decode_stream=__w_pdfjs_require__(18),_fonts_utils=__w_pdfjs_require__(38),_font_substitutions=__w_pdfjs_require__(61),_glyphlist=__w_pdfjs_require__(39),_metrics=__w_pdfjs_require__(45),_unicode=__w_pdfjs_require__(40),_image_resizer=__w_pdfjs_require__(62),_murmurhash=__w_pdfjs_require__(63),_operator_list=__w_pdfjs_require__(64),_image=__w_pdfjs_require__(65);const DefaultPartialEvaluatorOptions=Object.freeze({maxImageSize:-1,disableFontFace:!1,ignoreErrors:!1,isEvalSupported:!0,isOffscreenCanvasSupported:!1,canvasMaxAreaInBytes:-1,fontExtraProperties:!1,useSystemFonts:!0,cMapUrl:null,standardFontDataUrl:null}),PatternType_TILING=1,PatternType_SHADING=2,deferred=Promise.resolve();function normalizeBlendMode(value){let parsingArray=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(Array.isArray(value)){for(const val of value){const maybeBM=normalizeBlendMode(val,!0);if(maybeBM)return maybeBM}return(0,_util.warn)("Unsupported blend mode Array: ".concat(value)),"source-over"}if(!(value instanceof _primitives.Name))return parsingArray?null:"source-over";switch(value.name){case"Normal":case"Compatible":return"source-over";case"Multiply":return"multiply";case"Screen":return"screen";case"Overlay":return"overlay";case"Darken":return"darken";case"Lighten":return"lighten";case"ColorDodge":return"color-dodge";case"ColorBurn":return"color-burn";case"HardLight":return"hard-light";case"SoftLight":return"soft-light";case"Difference":return"difference";case"Exclusion":return"exclusion";case"Hue":return"hue";case"Saturation":return"saturation";case"Color":return"color";case"Luminosity":return"luminosity"}return parsingArray?null:((0,_util.warn)("Unsupported blend mode: ".concat(value.name)),"source-over")}function incrementCachedImageMaskCount(data){var _data$args$;data.fn===_util.OPS.paintImageMaskXObject&&(null===(_data$args$=data.args[0])||void 0===_data$args$?void 0:_data$args$.count)>0&&data.args[0].count++}class TimeSlotManager{constructor(){this.reset()}check(){return!(++this.checked0&&void 0!==arguments[0]?arguments[0]:null;const newEvaluator=Object.create(this);return newEvaluator.options=Object.assign(Object.create(null),this.options,newOptions),newEvaluator}hasBlendModes(resources,nonBlendModesSet){if(!(resources instanceof _primitives.Dict))return!1;if(resources.objId&&nonBlendModesSet.has(resources.objId))return!1;const processed=new _primitives.RefSet(nonBlendModesSet);resources.objId&&processed.put(resources.objId);const nodes=[resources],xref=this.xref;for(;nodes.length;){const node=nodes.shift(),graphicStates=node.get("ExtGState");if(graphicStates instanceof _primitives.Dict)for(let graphicState of graphicStates.getRawValues()){if(graphicState instanceof _primitives.Ref){if(processed.has(graphicState))continue;try{graphicState=xref.fetch(graphicState)}catch(ex){processed.put(graphicState),(0,_util.info)('hasBlendModes - ignoring ExtGState: "'.concat(ex,'".'));continue}}if(!(graphicState instanceof _primitives.Dict))continue;graphicState.objId&&processed.put(graphicState.objId);const bm=graphicState.get("BM");if(bm instanceof _primitives.Name){if("Normal"!==bm.name)return!0}else if(void 0!==bm&&Array.isArray(bm))for(const element of bm)if(element instanceof _primitives.Name&&"Normal"!==element.name)return!0}const xObjects=node.get("XObject");if(xObjects instanceof _primitives.Dict)for(let xObject of xObjects.getRawValues()){if(xObject instanceof _primitives.Ref){if(processed.has(xObject))continue;try{xObject=xref.fetch(xObject)}catch(ex){processed.put(xObject),(0,_util.info)('hasBlendModes - ignoring XObject: "'.concat(ex,'".'));continue}}if(!(xObject instanceof _base_stream.BaseStream))continue;xObject.dict.objId&&processed.put(xObject.dict.objId);const xResources=xObject.dict.get("Resources");xResources instanceof _primitives.Dict&&(xResources.objId&&processed.has(xResources.objId)||(nodes.push(xResources),xResources.objId&&processed.put(xResources.objId)))}}for(const ref of processed)nonBlendModesSet.put(ref);return!1}async fetchBuiltInCMap(name){const cachedData=this.builtInCMapCache.get(name);if(cachedData)return cachedData;let data;if(null!==this.options.cMapUrl){const url="".concat(this.options.cMapUrl).concat(name,".bcmap"),response=await fetch(url);if(!response.ok)throw new Error('fetchBuiltInCMap: failed to fetch file "'.concat(url,'" with "').concat(response.statusText,'".'));data={cMapData:new Uint8Array(await response.arrayBuffer()),compressionType:_util.CMapCompressionType.BINARY}}else data=await this.handler.sendWithPromise("FetchBuiltInCMap",{name:name});return data.compressionType!==_util.CMapCompressionType.NONE&&this.builtInCMapCache.set(name,data),data}async fetchStandardFontData(name){const cachedData=this.standardFontDataCache.get(name);if(cachedData)return new _stream.Stream(cachedData);if(this.options.useSystemFonts&&"Symbol"!==name&&"ZapfDingbats"!==name)return null;const filename=(0,_standard_fonts.getFontNameToFileMap)()[name];let data;if(null!==this.options.standardFontDataUrl){const url="".concat(this.options.standardFontDataUrl).concat(filename),response=await fetch(url);response.ok?data=await response.arrayBuffer():(0,_util.warn)('fetchStandardFontData: failed to fetch file "'.concat(url,'" with "').concat(response.statusText,'".'))}else try{data=await this.handler.sendWithPromise("FetchStandardFontData",{filename:filename})}catch(e){(0,_util.warn)('fetchStandardFontData: failed to fetch file "'.concat(filename,'" with "').concat(e,'".'))}return data?(this.standardFontDataCache.set(name,data),new _stream.Stream(data)):null}async buildFormXObject(resources,xobj,smask,operatorList,task,initialState,localColorSpaceCache){const dict=xobj.dict,matrix=dict.getArray("Matrix");let optionalContent,groupOptions,bbox=dict.getArray("BBox");bbox=Array.isArray(bbox)&&4===bbox.length?_util.Util.normalizeRect(bbox):null,dict.has("OC")&&(optionalContent=await this.parseMarkedContentProps(dict.get("OC"),resources)),void 0!==optionalContent&&operatorList.addOp(_util.OPS.beginMarkedContentProps,["OC",optionalContent]);const group=dict.get("Group");if(group){groupOptions={matrix:matrix,bbox:bbox,smask:smask,isolated:!1,knockout:!1};const groupSubtype=group.get("S");let colorSpace=null;if((0,_primitives.isName)(groupSubtype,"Transparency")&&(groupOptions.isolated=group.get("I")||!1,groupOptions.knockout=group.get("K")||!1,group.has("CS"))){const cs=group.getRaw("CS"),cachedColorSpace=_colorspace.ColorSpace.getCached(cs,this.xref,localColorSpaceCache);colorSpace=cachedColorSpace||await this.parseColorSpace({cs:cs,resources:resources,localColorSpaceCache:localColorSpaceCache})}null!=smask&&smask.backdrop&&(colorSpace||(colorSpace=_colorspace.ColorSpace.singletons.rgb),smask.backdrop=colorSpace.getRgb(smask.backdrop,0)),operatorList.addOp(_util.OPS.beginGroup,[groupOptions])}const args=group?[matrix,null]:[matrix,bbox];return operatorList.addOp(_util.OPS.paintFormXObjectBegin,args),this.getOperatorList({stream:xobj,task:task,resources:dict.get("Resources")||resources,operatorList:operatorList,initialState:initialState}).then((function(){operatorList.addOp(_util.OPS.paintFormXObjectEnd,[]),group&&operatorList.addOp(_util.OPS.endGroup,[groupOptions]),void 0!==optionalContent&&operatorList.addOp(_util.OPS.endMarkedContent,[])}))}_sendImgData(objId,imgData){let cacheGlobally=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const transfers=imgData?[imgData.bitmap||imgData.data.buffer]:null;return this.parsingType3Font||cacheGlobally?this.handler.send("commonobj",[objId,"Image",imgData],transfers):this.handler.send("obj",[objId,this.pageIndex,"Image",imgData],transfers)}async buildPaintImageXObject(_ref29){let{resources:resources,image:image,isInline:isInline=!1,operatorList:operatorList,cacheKey:cacheKey,localImageCache:localImageCache,localColorSpaceCache:localColorSpaceCache}=_ref29;const dict=image.dict,imageRef=dict.objId,w=dict.get("W","Width"),h=dict.get("H","Height");if(!w||"number"!=typeof w||!h||"number"!=typeof h)return void(0,_util.warn)("Image dimensions are missing, or not numbers.");const maxImageSize=this.options.maxImageSize;if(-1!==maxImageSize&&w*h>maxImageSize){const msg="Image exceeded maximum allowed size and was removed.";if(this.options.ignoreErrors)return void(0,_util.warn)(msg);throw new Error(msg)}let optionalContent,imgData,args;if(dict.has("OC")&&(optionalContent=await this.parseMarkedContentProps(dict.get("OC"),resources)),dict.get("IM","ImageMask")){const interpolate=dict.get("I","Interpolate"),bitStrideLength=w+7>>3,imgArray=image.getBytes(bitStrideLength*h),decode=dict.getArray("D","Decode");if(this.parsingType3Font){if(imgData=_image.PDFImage.createRawMask({imgArray:imgArray,width:w,height:h,imageIsFromDecodeStream:image instanceof _decode_stream.DecodeStream,inverseDecode:(null==decode?void 0:decode[0])>0,interpolate:interpolate}),imgData.cached=!!cacheKey,args=[imgData],operatorList.addImageOps(_util.OPS.paintImageMaskXObject,args,optionalContent),cacheKey){const cacheData={fn:_util.OPS.paintImageMaskXObject,args:args,optionalContent:optionalContent};localImageCache.set(cacheKey,imageRef,cacheData),imageRef&&this._regionalImageCache.set(null,imageRef,cacheData)}return}if(imgData=await _image.PDFImage.createMask({imgArray:imgArray,width:w,height:h,imageIsFromDecodeStream:image instanceof _decode_stream.DecodeStream,inverseDecode:(null==decode?void 0:decode[0])>0,interpolate:interpolate,isOffscreenCanvasSupported:this.options.isOffscreenCanvasSupported}),imgData.isSingleOpaquePixel){if(operatorList.addImageOps(_util.OPS.paintSolidColorImageMask,[],optionalContent),cacheKey){const cacheData={fn:_util.OPS.paintSolidColorImageMask,args:[],optionalContent:optionalContent};localImageCache.set(cacheKey,imageRef,cacheData),imageRef&&this._regionalImageCache.set(null,imageRef,cacheData)}return}const objId="mask_".concat(this.idFactory.createObjId());if(operatorList.addDependency(objId),this._sendImgData(objId,imgData),args=[{data:objId,width:imgData.width,height:imgData.height,interpolate:imgData.interpolate,count:1}],operatorList.addImageOps(_util.OPS.paintImageMaskXObject,args,optionalContent),cacheKey){const cacheData={fn:_util.OPS.paintImageMaskXObject,args:args,optionalContent:optionalContent};localImageCache.set(cacheKey,imageRef,cacheData),imageRef&&this._regionalImageCache.set(null,imageRef,cacheData)}return}if(isInline&&!dict.has("SMask")&&!dict.has("Mask")&&w+h<200){const imageObj=new _image.PDFImage({xref:this.xref,res:resources,image:image,isInline:isInline,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:localColorSpaceCache});return imgData=await imageObj.createImageData(!0,!1),operatorList.isOffscreenCanvasSupported=this.options.isOffscreenCanvasSupported,void operatorList.addImageOps(_util.OPS.paintInlineImageXObject,[imgData],optionalContent)}let objId="img_".concat(this.idFactory.createObjId()),cacheGlobally=!1;if(this.parsingType3Font?objId="".concat(this.idFactory.getDocId(),"_type3_").concat(objId):imageRef&&(cacheGlobally=this.globalImageCache.shouldCache(imageRef,this.pageIndex),cacheGlobally&&(objId="".concat(this.idFactory.getDocId(),"_").concat(objId))),operatorList.addDependency(objId),args=[objId,w,h],_image.PDFImage.buildImage({xref:this.xref,res:resources,image:image,isInline:isInline,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:localColorSpaceCache}).then((async imageObj=>{if(imgData=await imageObj.createImageData(!1,this.options.isOffscreenCanvasSupported),cacheKey&&imageRef&&cacheGlobally){const length=imgData.bitmap?imgData.width*imgData.height*4:imgData.data.length;this.globalImageCache.addByteSize(imageRef,length)}return this._sendImgData(objId,imgData,cacheGlobally)})).catch((reason=>((0,_util.warn)('Unable to decode image "'.concat(objId,'": "').concat(reason,'".')),this._sendImgData(objId,null,cacheGlobally)))),operatorList.addImageOps(_util.OPS.paintImageXObject,args,optionalContent),cacheKey){const cacheData={fn:_util.OPS.paintImageXObject,args:args,optionalContent:optionalContent};localImageCache.set(cacheKey,imageRef,cacheData),imageRef&&(this._regionalImageCache.set(null,imageRef,cacheData),cacheGlobally&&((0,_util.assert)(!isInline,"Cannot cache an inline image globally."),this.globalImageCache.setData(imageRef,{objId:objId,fn:_util.OPS.paintImageXObject,args:args,optionalContent:optionalContent,byteSize:0})))}}handleSMask(smask,resources,operatorList,task,stateManager,localColorSpaceCache){const smaskContent=smask.get("G"),smaskOptions={subtype:smask.get("S").name,backdrop:smask.get("BC")},transferObj=smask.get("TR");if((0,_function.isPDFFunction)(transferObj)){const transferFn=this._pdfFunctionFactory.create(transferObj),transferMap=new Uint8Array(256),tmp=new Float32Array(1);for(let i=0;i<256;i++)tmp[0]=i/255,transferFn(tmp,0,tmp,0),transferMap[i]=255*tmp[0]|0;smaskOptions.transferMap=transferMap}return this.buildFormXObject(resources,smaskContent,smaskOptions,operatorList,task,stateManager.state.clone(),localColorSpaceCache)}handleTransferFunction(tr){let transferArray;if(Array.isArray(tr))transferArray=tr;else{if(!(0,_function.isPDFFunction)(tr))return null;transferArray=[tr]}const transferMaps=[];let numFns=0,numEffectfulFns=0;for(const entry of transferArray){const transferObj=this.xref.fetchIfRef(entry);if(numFns++,(0,_primitives.isName)(transferObj,"Identity")){transferMaps.push(null);continue}if(!(0,_function.isPDFFunction)(transferObj))return null;const transferFn=this._pdfFunctionFactory.create(transferObj),transferMap=new Uint8Array(256),tmp=new Float32Array(1);for(let j=0;j<256;j++)tmp[0]=j/255,transferFn(tmp,0,tmp,0),transferMap[j]=255*tmp[0]|0;transferMaps.push(transferMap),numEffectfulFns++}return 1!==numFns&&4!==numFns||0===numEffectfulFns?null:transferMaps}handleTilingType(fn,color,resources,pattern,patternDict,operatorList,task,localTilingPatternCache){const tilingOpList=new _operator_list.OperatorList,patternResources=_primitives.Dict.merge({xref:this.xref,dictArray:[patternDict.get("Resources"),resources]});return this.getOperatorList({stream:pattern,task:task,resources:patternResources,operatorList:tilingOpList}).then((function(){const operatorListIR=tilingOpList.getIR(),tilingPatternIR=(0,_pattern.getTilingPatternIR)(operatorListIR,patternDict,color);operatorList.addDependencies(tilingOpList.dependencies),operatorList.addOp(fn,tilingPatternIR),patternDict.objId&&localTilingPatternCache.set(null,patternDict.objId,{operatorListIR:operatorListIR,dict:patternDict})})).catch((reason=>{if(!(reason instanceof _util.AbortException)){if(!this.options.ignoreErrors)throw reason;(0,_util.warn)('handleTilingType - ignoring pattern: "'.concat(reason,'".'))}}))}handleSetFont(resources,fontArgs,fontRef,operatorList,task,state){let fallbackFontDict=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,cssFontInfo=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null;const fontName=(null==fontArgs?void 0:fontArgs[0])instanceof _primitives.Name?fontArgs[0].name:null;return this.loadFont(fontName,fontRef,resources,fallbackFontDict,cssFontInfo).then((translated=>translated.font.isType3Font?translated.loadType3Data(this,resources,task).then((function(){return operatorList.addDependencies(translated.type3Dependencies),translated})).catch((reason=>new TranslatedFont({loadedName:"g_font_error",font:new _fonts.ErrorFont("Type3 font load error: ".concat(reason)),dict:translated.font,evaluatorOptions:this.options}))):translated)).then((translated=>(state.font=translated.font,translated.send(this.handler),translated.loadedName)))}handleText(chars,state){const font=state.font,glyphs=font.charsToGlyphs(chars);return font.data&&(state.textRenderingMode&_util.TextRenderingMode.ADD_TO_PATH_FLAG||"Pattern"===state.fillColorSpace.name||font.disableFontFace||this.options.disableFontFace)&&PartialEvaluator.buildFontPaths(font,glyphs,this.handler,this.options),glyphs}ensureStateFont(state){if(state.font)return;const reason=new _util.FormatError("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw reason;(0,_util.warn)('ensureStateFont: "'.concat(reason,'".'))}async setGState(_ref30){let{resources:resources,gState:gState,operatorList:operatorList,cacheKey:cacheKey,task:task,stateManager:stateManager,localGStateCache:localGStateCache,localColorSpaceCache:localColorSpaceCache}=_ref30;const gStateRef=gState.objId;let isSimpleGState=!0;const gStateObj=[];let promise=Promise.resolve();for(const key of gState.getKeys()){const value=gState.get(key);switch(key){case"Type":break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":gStateObj.push([key,value]);break;case"Font":isSimpleGState=!1,promise=promise.then((()=>this.handleSetFont(resources,null,value[0],operatorList,task,stateManager.state).then((function(loadedName){operatorList.addDependency(loadedName),gStateObj.push([key,[loadedName,value[1]]])}))));break;case"BM":gStateObj.push([key,normalizeBlendMode(value)]);break;case"SMask":if((0,_primitives.isName)(value,"None")){gStateObj.push([key,!1]);break}value instanceof _primitives.Dict?(isSimpleGState=!1,promise=promise.then((()=>this.handleSMask(value,resources,operatorList,task,stateManager,localColorSpaceCache))),gStateObj.push([key,!0])):(0,_util.warn)("Unsupported SMask type");break;case"TR":const transferMaps=this.handleTransferFunction(value);gStateObj.push([key,transferMaps]);break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":(0,_util.info)("graphic state operator "+key);break;default:(0,_util.info)("Unknown graphic state operator "+key)}}return promise.then((function(){gStateObj.length>0&&operatorList.addOp(_util.OPS.setGState,[gStateObj]),isSimpleGState&&localGStateCache.set(cacheKey,gStateRef,gStateObj)}))}loadFont(fontName,font,resources){var _fontID;let fallbackFontDict=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,cssFontInfo=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;const errorFont=async()=>new TranslatedFont({loadedName:"g_font_error",font:new _fonts.ErrorFont('Font "'.concat(fontName,'" is not available.')),dict:font,evaluatorOptions:this.options});let fontRef;if(font)font instanceof _primitives.Ref&&(fontRef=font);else{const fontRes=resources.get("Font");fontRes&&(fontRef=fontRes.getRaw(fontName))}if(fontRef){if(this.parsingType3Font&&this.type3FontRefs.has(fontRef))return errorFont();if(this.fontCache.has(fontRef))return this.fontCache.get(fontRef);font=this.xref.fetchIfRef(fontRef)}if(!(font instanceof _primitives.Dict)){if(!this.options.ignoreErrors&&!this.parsingType3Font)return(0,_util.warn)('Font "'.concat(fontName,'" is not available.')),errorFont();(0,_util.warn)('Font "'.concat(fontName,'" is not available -- attempting to fallback to a default font.')),font=fallbackFontDict||PartialEvaluator.fallbackFontDict}if(font.cacheKey&&this.fontCache.has(font.cacheKey))return this.fontCache.get(font.cacheKey);const fontCapability=new _util.PromiseCapability;let preEvaluatedFont;try{preEvaluatedFont=this.preEvaluateFont(font),preEvaluatedFont.cssFontInfo=cssFontInfo}catch(reason){return(0,_util.warn)('loadFont - preEvaluateFont failed: "'.concat(reason,'".')),errorFont()}const{descriptor:descriptor,hash:hash}=preEvaluatedFont,fontRefIsRef=fontRef instanceof _primitives.Ref;let fontID;if(hash&&descriptor instanceof _primitives.Dict){const fontAliases=descriptor.fontAliases||(descriptor.fontAliases=Object.create(null));if(fontAliases[hash]){const aliasFontRef=fontAliases[hash].aliasRef;if(fontRefIsRef&&aliasFontRef&&this.fontCache.has(aliasFontRef))return this.fontCache.putAlias(fontRef,aliasFontRef),this.fontCache.get(fontRef)}else fontAliases[hash]={fontID:this.idFactory.createFontId()};fontRefIsRef&&(fontAliases[hash].aliasRef=fontRef),fontID=fontAliases[hash].fontID}else fontID=this.idFactory.createFontId();return(0,_util.assert)(null===(_fontID=fontID)||void 0===_fontID?void 0:_fontID.startsWith("f"),'The "fontID" must be (correctly) defined.'),fontRefIsRef?this.fontCache.put(fontRef,fontCapability.promise):(font.cacheKey="cacheKey_".concat(fontID),this.fontCache.put(font.cacheKey,fontCapability.promise)),font.loadedName="".concat(this.idFactory.getDocId(),"_").concat(fontID),this.translateFont(preEvaluatedFont).then((translatedFont=>{fontCapability.resolve(new TranslatedFont({loadedName:font.loadedName,font:translatedFont,dict:font,evaluatorOptions:this.options}))})).catch((reason=>{(0,_util.warn)('loadFont - translateFont failed: "'.concat(reason,'".')),fontCapability.resolve(new TranslatedFont({loadedName:font.loadedName,font:new _fonts.ErrorFont(reason instanceof Error?reason.message:reason),dict:font,evaluatorOptions:this.options}))})),fontCapability.promise}buildPath(operatorList,fn,args){let parsingText=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const lastIndex=operatorList.length-1;if(args||(args=[]),lastIndex<0||operatorList.fnArray[lastIndex]!==_util.OPS.constructPath){let minMax;switch(parsingText&&((0,_util.warn)('Encountered path operator "'.concat(fn,'" inside of a text object.')),operatorList.addOp(_util.OPS.save,null)),fn){case _util.OPS.rectangle:const x=args[0]+args[2],y=args[1]+args[3];minMax=[Math.min(args[0],x),Math.max(args[0],x),Math.min(args[1],y),Math.max(args[1],y)];break;case _util.OPS.moveTo:case _util.OPS.lineTo:minMax=[args[0],args[0],args[1],args[1]];break;default:minMax=[1/0,-1/0,1/0,-1/0]}operatorList.addOp(_util.OPS.constructPath,[[fn],args,minMax]),parsingText&&operatorList.addOp(_util.OPS.restore,null)}else{const opArgs=operatorList.argsArray[lastIndex];opArgs[0].push(fn),opArgs[1].push(...args);const minMax=opArgs[2];switch(fn){case _util.OPS.rectangle:const x=args[0]+args[2],y=args[1]+args[3];minMax[0]=Math.min(minMax[0],args[0],x),minMax[1]=Math.max(minMax[1],args[0],x),minMax[2]=Math.min(minMax[2],args[1],y),minMax[3]=Math.max(minMax[3],args[1],y);break;case _util.OPS.moveTo:case _util.OPS.lineTo:minMax[0]=Math.min(minMax[0],args[0]),minMax[1]=Math.max(minMax[1],args[0]),minMax[2]=Math.min(minMax[2],args[1]),minMax[3]=Math.max(minMax[3],args[1])}}}parseColorSpace(_ref31){let{cs:cs,resources:resources,localColorSpaceCache:localColorSpaceCache}=_ref31;return _colorspace.ColorSpace.parseAsync({cs:cs,xref:this.xref,resources:resources,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:localColorSpaceCache}).catch((reason=>{if(reason instanceof _util.AbortException)return null;if(this.options.ignoreErrors)return(0,_util.warn)('parseColorSpace - ignoring ColorSpace: "'.concat(reason,'".')),null;throw reason}))}parseShading(_ref32){let{shading:shading,resources:resources,localColorSpaceCache:localColorSpaceCache,localShadingPatternCache:localShadingPatternCache}=_ref32,id=localShadingPatternCache.get(shading);if(!id){const patternIR=_pattern.Pattern.parseShading(shading,this.xref,resources,this._pdfFunctionFactory,localColorSpaceCache).getIR();id="pattern_".concat(this.idFactory.createObjId()),this.parsingType3Font&&(id="".concat(this.idFactory.getDocId(),"_type3_").concat(id)),localShadingPatternCache.set(shading,id),this.parsingType3Font?this.handler.send("commonobj",[id,"Pattern",patternIR]):this.handler.send("obj",[id,this.pageIndex,"Pattern",patternIR])}return id}handleColorN(operatorList,fn,args,cs,patterns,resources,task,localColorSpaceCache,localTilingPatternCache,localShadingPatternCache){const patternName=args.pop();if(patternName instanceof _primitives.Name){const rawPattern=patterns.getRaw(patternName.name),localTilingPattern=rawPattern instanceof _primitives.Ref&&localTilingPatternCache.getByRef(rawPattern);if(localTilingPattern)try{const color=cs.base?cs.base.getRgb(args,0):null,tilingPatternIR=(0,_pattern.getTilingPatternIR)(localTilingPattern.operatorListIR,localTilingPattern.dict,color);return void operatorList.addOp(fn,tilingPatternIR)}catch{}const pattern=this.xref.fetchIfRef(rawPattern);if(pattern){const dict=pattern instanceof _base_stream.BaseStream?pattern.dict:pattern,typeNum=dict.get("PatternType");if(typeNum===PatternType_TILING){const color=cs.base?cs.base.getRgb(args,0):null;return this.handleTilingType(fn,color,resources,pattern,dict,operatorList,task,localTilingPatternCache)}if(typeNum===PatternType_SHADING){const shading=dict.get("Shading"),matrix=dict.getArray("Matrix"),objId=this.parseShading({shading:shading,resources:resources,localColorSpaceCache:localColorSpaceCache,localShadingPatternCache:localShadingPatternCache});return void operatorList.addOp(fn,["Shading",objId,matrix])}throw new _util.FormatError("Unknown PatternType: ".concat(typeNum))}}throw new _util.FormatError("Unknown PatternName: ".concat(patternName))}_parseVisibilityExpression(array,nestingCounter,currentResult){if(++nestingCounter>10)return void(0,_util.warn)("Visibility expression is too deeply nested");const length=array.length,operator=this.xref.fetchIfRef(array[0]);if(!(length<2)&&operator instanceof _primitives.Name){switch(operator.name){case"And":case"Or":case"Not":currentResult.push(operator.name);break;default:return void(0,_util.warn)("Invalid operator ".concat(operator.name," in visibility expression"))}for(let i=1;i0)return{type:"OCMD",expression:result}}const optionalContentGroups=optionalContent.get("OCGs");if(Array.isArray(optionalContentGroups)||optionalContentGroups instanceof _primitives.Dict){const groupIds=[];if(Array.isArray(optionalContentGroups))for(const ocg of optionalContentGroups)groupIds.push(ocg.toString());else groupIds.push(optionalContentGroups.objId);return{type:optionalContentType,ids:groupIds,policy:optionalContent.get("P")instanceof _primitives.Name?optionalContent.get("P").name:null,expression:null}}if(optionalContentGroups instanceof _primitives.Ref)return{type:optionalContentType,id:optionalContentGroups.toString()}}return null}getOperatorList(_ref33){let{stream:stream,task:task,resources:resources,operatorList:operatorList,initialState:initialState=null,fallbackFontDict:fallbackFontDict=null}=_ref33;if(resources||(resources=_primitives.Dict.empty),initialState||(initialState=new EvalState),!operatorList)throw new Error('getOperatorList: missing "operatorList" parameter');const self=this,xref=this.xref;let parsingText=!1;const localImageCache=new _image_utils.LocalImageCache,localColorSpaceCache=new _image_utils.LocalColorSpaceCache,localGStateCache=new _image_utils.LocalGStateCache,localTilingPatternCache=new _image_utils.LocalTilingPatternCache,localShadingPatternCache=new Map,xobjs=resources.get("XObject")||_primitives.Dict.empty,patterns=resources.get("Pattern")||_primitives.Dict.empty,stateManager=new StateManager(initialState),preprocessor=new EvaluatorPreprocessor(stream,xref,stateManager),timeSlotManager=new TimeSlotManager;function closePendingRestoreOPS(argument){for(let i=0,ii=preprocessor.savedStatesDepth;i0&&operatorList.addOp(_util.OPS.setGState,[localGStateObj]),args=null;continue}}return void next(new Promise((function(resolveGState,rejectGState){if(!isValidName)throw new _util.FormatError("GState must be referred to by name.");const extGState=resources.get("ExtGState");if(!(extGState instanceof _primitives.Dict))throw new _util.FormatError("ExtGState should be a dictionary.");const gState=extGState.get(name);if(!(gState instanceof _primitives.Dict))throw new _util.FormatError("GState should be a dictionary.");self.setGState({resources:resources,gState:gState,operatorList:operatorList,cacheKey:name,task:task,stateManager:stateManager,localGStateCache:localGStateCache,localColorSpaceCache:localColorSpaceCache}).then(resolveGState,rejectGState)})).catch((function(reason){if(!(reason instanceof _util.AbortException)){if(!self.options.ignoreErrors)throw reason;(0,_util.warn)('getOperatorList - ignoring ExtGState: "'.concat(reason,'".'))}})));case _util.OPS.moveTo:case _util.OPS.lineTo:case _util.OPS.curveTo:case _util.OPS.curveTo2:case _util.OPS.curveTo3:case _util.OPS.closePath:case _util.OPS.rectangle:self.buildPath(operatorList,fn,args,parsingText);continue;case _util.OPS.markPoint:case _util.OPS.markPointProps:case _util.OPS.beginCompat:case _util.OPS.endCompat:continue;case _util.OPS.beginMarkedContentProps:if(!(args[0]instanceof _primitives.Name)){(0,_util.warn)("Expected name for beginMarkedContentProps arg0=".concat(args[0]));continue}if("OC"===args[0].name)return void next(self.parseMarkedContentProps(args[1],resources).then((data=>{operatorList.addOp(_util.OPS.beginMarkedContentProps,["OC",data])})).catch((reason=>{if(!(reason instanceof _util.AbortException)){if(!self.options.ignoreErrors)throw reason;(0,_util.warn)('getOperatorList - ignoring beginMarkedContentProps: "'.concat(reason,'".'))}})));args=[args[0].name,args[1]instanceof _primitives.Dict?args[1].get("MCID"):null];break;case _util.OPS.beginMarkedContent:case _util.OPS.endMarkedContent:default:if(null!==args){for(i=0,ii=args.length;i{if(!(reason instanceof _util.AbortException)){if(this.options.ignoreErrors)return(0,_util.warn)('getOperatorList - ignoring errors during "'.concat(task.name,'" ')+'task: "'.concat(reason,'".')),void closePendingRestoreOPS();throw reason}}))}getTextContent(_ref34){let{stream:stream,task:task,resources:resources,stateManager:stateManager=null,includeMarkedContent:includeMarkedContent=!1,sink:sink,seenStyles:seenStyles=new Set,viewBox:viewBox,markedContentData:markedContentData=null,disableNormalization:disableNormalization=!1}=_ref34;resources||(resources=_primitives.Dict.empty),stateManager||(stateManager=new StateManager(new TextState)),includeMarkedContent&&(markedContentData||(markedContentData={level:0}));const textContent={items:[],styles:Object.create(null)},textContentItem={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},twoLastChars=[" "," "];let twoLastCharsPos=0;function saveLastChar(char){const nextPos=(twoLastCharsPos+1)%2,ret=" "!==twoLastChars[twoLastCharsPos]&&" "===twoLastChars[nextPos];return twoLastChars[twoLastCharsPos]=char,twoLastCharsPos=nextPos,ret}function shouldAddWhitepsace(){return" "!==twoLastChars[twoLastCharsPos]&&" "===twoLastChars[(twoLastCharsPos+1)%2]}function resetLastChars(){twoLastChars[0]=twoLastChars[1]=" ",twoLastCharsPos=0}const self=this,xref=this.xref,showSpacedTextBuffer=[];let xobjs=null;const emptyXObjectCache=new _image_utils.LocalImageCache,emptyGStateCache=new _image_utils.LocalGStateCache,preprocessor=new EvaluatorPreprocessor(stream,xref,stateManager);let textState;function pushWhitespace(_ref35){let{width:width=0,height:height=0,transform:transform=textContentItem.prevTransform,fontName:fontName=textContentItem.fontName}=_ref35;textContent.items.push({str:" ",dir:"ltr",width:width,height:height,transform:transform,fontName:fontName,hasEOL:!1})}function getCurrentTextTransform(){const font=textState.font,tsm=[textState.fontSize*textState.textHScale,0,0,textState.fontSize,0,textState.textRise];if(font.isType3Font&&(textState.fontSize<=1||font.isCharBBox)&&!(0,_util.isArrayEqual)(textState.fontMatrix,_util.FONT_IDENTITY_MATRIX)){const glyphHeight=font.bbox[3]-font.bbox[1];glyphHeight>0&&(tsm[3]*=glyphHeight*textState.fontMatrix[3])}return _util.Util.transform(textState.ctm,_util.Util.transform(textState.textMatrix,tsm))}function ensureTextContentItem(){if(textContentItem.initialized)return textContentItem;const{font:font,loadedName:loadedName}=textState;seenStyles.has(loadedName)||(seenStyles.add(loadedName),textContent.styles[loadedName]={fontFamily:font.fallbackName,ascent:font.ascent,descent:font.descent,vertical:font.vertical}),textContentItem.fontName=loadedName;const trm=textContentItem.transform=getCurrentTextTransform();font.vertical?(textContentItem.width=textContentItem.totalWidth=Math.hypot(trm[0],trm[1]),textContentItem.height=textContentItem.totalHeight=0,textContentItem.vertical=!0):(textContentItem.width=textContentItem.totalWidth=0,textContentItem.height=textContentItem.totalHeight=Math.hypot(trm[2],trm[3]),textContentItem.vertical=!1);const scaleLineX=Math.hypot(textState.textLineMatrix[0],textState.textLineMatrix[1]),scaleCtmX=Math.hypot(textState.ctm[0],textState.ctm[1]);textContentItem.textAdvanceScale=scaleCtmX*scaleLineX;const{fontSize:fontSize}=textState;return textContentItem.trackingSpaceMin=.102*fontSize,textContentItem.notASpace=.03*fontSize,textContentItem.negativeSpaceMax=-.2*fontSize,textContentItem.spaceInFlowMin=.102*fontSize,textContentItem.spaceInFlowMax=.6*fontSize,textContentItem.hasEOL=!1,textContentItem.initialized=!0,textContentItem}function updateAdvanceScale(){if(!textContentItem.initialized)return;const scaleLineX=Math.hypot(textState.textLineMatrix[0],textState.textLineMatrix[1]),scaleFactor=Math.hypot(textState.ctm[0],textState.ctm[1])*scaleLineX;scaleFactor!==textContentItem.textAdvanceScale&&(textContentItem.vertical?(textContentItem.totalHeight+=textContentItem.height*textContentItem.textAdvanceScale,textContentItem.height=0):(textContentItem.totalWidth+=textContentItem.width*textContentItem.textAdvanceScale,textContentItem.width=0),textContentItem.textAdvanceScale=scaleFactor)}function handleSetFont(fontName,fontRef){return self.loadFont(fontName,fontRef,resources).then((function(translated){return translated.font.isType3Font?translated.loadType3Data(self,resources,task).catch((function(){})).then((function(){return translated})):translated})).then((function(translated){textState.loadedName=translated.loadedName,textState.font=translated.font,textState.fontMatrix=translated.font.fontMatrix||_util.FONT_IDENTITY_MATRIX}))}function applyInverseRotation(x,y,matrix){const scale=Math.hypot(matrix[0],matrix[1]);return[(matrix[0]*x+matrix[1]*y)/scale,(matrix[2]*x+matrix[3]*y)/scale]}function compareWithLastPosition(glyphWidth){var _textState$font;const currentTransform=getCurrentTextTransform();let posX=currentTransform[4],posY=currentTransform[5];if(null!==(_textState$font=textState.font)&&void 0!==_textState$font&&_textState$font.vertical){if(posXviewBox[2]||posY+glyphWidthviewBox[3])return!1}else if(posX+glyphWidthviewBox[2]||posYviewBox[3])return!1;if(!textState.font||!textContentItem.prevTransform)return!0;let lastPosX=textContentItem.prevTransform[4],lastPosY=textContentItem.prevTransform[5];if(lastPosX===posX&&lastPosY===posY)return!0;let rotate=-1;switch(currentTransform[0]&&0===currentTransform[1]&&0===currentTransform[2]?rotate=currentTransform[0]>0?0:180:currentTransform[1]&&0===currentTransform[0]&&0===currentTransform[3]&&(rotate=currentTransform[1]>0?90:270),rotate){case 0:break;case 90:[posX,posY]=[posY,posX],[lastPosX,lastPosY]=[lastPosY,lastPosX];break;case 180:[posX,posY,lastPosX,lastPosY]=[-posX,-posY,-lastPosX,-lastPosY];break;case 270:[posX,posY]=[-posY,-posX],[lastPosX,lastPosY]=[-lastPosY,-lastPosX];break;default:[posX,posY]=applyInverseRotation(posX,posY,currentTransform),[lastPosX,lastPosY]=applyInverseRotation(lastPosX,lastPosY,textContentItem.prevTransform)}if(textState.font.vertical){const advanceY=(lastPosY-posY)/textContentItem.textAdvanceScale,advanceX=posX-lastPosX,textOrientation=Math.sign(textContentItem.height);return advanceY.5*textContentItem.width?(appendEOL(),!0):(resetLastChars(),flushTextContentItem(),!0):Math.abs(advanceX)>textContentItem.width?(appendEOL(),!0):(advanceY<=textOrientation*textContentItem.notASpace&&resetLastChars(),advanceY<=textOrientation*textContentItem.trackingSpaceMin?shouldAddWhitepsace()?(resetLastChars(),flushTextContentItem(),pushWhitespace({height:Math.abs(advanceY)})):textContentItem.height+=advanceY:addFakeSpaces(advanceY,textContentItem.prevTransform,textOrientation)||(0===textContentItem.str.length?(resetLastChars(),pushWhitespace({height:Math.abs(advanceY)})):textContentItem.height+=advanceY),Math.abs(advanceX)>.25*textContentItem.width&&flushTextContentItem(),!0)}const advanceX=(posX-lastPosX)/textContentItem.textAdvanceScale,advanceY=posY-lastPosY,textOrientation=Math.sign(textContentItem.width);return advanceX.5*textContentItem.height?(appendEOL(),!0):(resetLastChars(),flushTextContentItem(),!0):Math.abs(advanceY)>textContentItem.height?(appendEOL(),!0):(advanceX<=textOrientation*textContentItem.notASpace&&resetLastChars(),advanceX<=textOrientation*textContentItem.trackingSpaceMin?shouldAddWhitepsace()?(resetLastChars(),flushTextContentItem(),pushWhitespace({width:Math.abs(advanceX)})):textContentItem.width+=advanceX:addFakeSpaces(advanceX,textContentItem.prevTransform,textOrientation)||(0===textContentItem.str.length?(resetLastChars(),pushWhitespace({width:Math.abs(advanceX)})):textContentItem.width+=advanceX),Math.abs(advanceY)>.25*textContentItem.height&&flushTextContentItem(),!0)}function buildTextContentItem(_ref36){let{chars:chars,extraSpacing:extraSpacing}=_ref36;const font=textState.font;if(!chars){const charSpacing=textState.charSpacing+extraSpacing;return void(charSpacing&&(font.vertical?textState.translateTextMatrix(0,-charSpacing):textState.translateTextMatrix(charSpacing*textState.textHScale,0)))}const glyphs=font.charsToGlyphs(chars),scale=textState.fontMatrix[0]*textState.fontSize;for(let i=0,ii=glyphs.length;i0&&void 0!==arguments[0]&&arguments[0];const length=textContent.items.length;0!==length&&(batch&&length<10||(sink.enqueue(textContent,length),textContent.items=[],textContent.styles=Object.create(null)))}const timeSlotManager=new TimeSlotManager;return new Promise((function promiseBody(resolve,reject){const next=function(promise){enqueueChunk(!0),Promise.all([promise,sink.ready]).then((function(){try{promiseBody(resolve,reject)}catch(ex){reject(ex)}}),reject)};task.ensureNotTerminated(),timeSlotManager.reset();const operation={};let stop,args=[];for(;!(stop=timeSlotManager.check())&&(args.length=0,operation.args=args,preprocessor.read(operation));){const previousState=textState;textState=stateManager.state;const fn=operation.fn;switch(args=operation.args,0|fn){case _util.OPS.setFont:var fontNameArg=args[0].name,fontSizeArg=args[1];if(textState.font&&fontNameArg===textState.fontName&&fontSizeArg===textState.fontSize)break;return flushTextContentItem(),textState.fontName=fontNameArg,textState.fontSize=fontSizeArg,void next(handleSetFont(fontNameArg,null));case _util.OPS.setTextRise:textState.textRise=args[0];break;case _util.OPS.setHScale:textState.textHScale=args[0]/100;break;case _util.OPS.setLeading:textState.leading=args[0];break;case _util.OPS.moveText:textState.translateTextLineMatrix(args[0],args[1]),textState.textMatrix=textState.textLineMatrix.slice();break;case _util.OPS.setLeadingMoveText:textState.leading=-args[1],textState.translateTextLineMatrix(args[0],args[1]),textState.textMatrix=textState.textLineMatrix.slice();break;case _util.OPS.nextLine:textState.carriageReturn();break;case _util.OPS.setTextMatrix:textState.setTextMatrix(args[0],args[1],args[2],args[3],args[4],args[5]),textState.setTextLineMatrix(args[0],args[1],args[2],args[3],args[4],args[5]),updateAdvanceScale();break;case _util.OPS.setCharSpacing:textState.charSpacing=args[0];break;case _util.OPS.setWordSpacing:textState.wordSpacing=args[0];break;case _util.OPS.beginText:textState.textMatrix=_util.IDENTITY_MATRIX.slice(),textState.textLineMatrix=_util.IDENTITY_MATRIX.slice();break;case _util.OPS.showSpacedText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue}const spaceFactor=(textState.font.vertical?1:-1)*textState.fontSize/1e3,elements=args[0];for(let i=0,ii=elements.length;i0){const str=showSpacedTextBuffer.join("");showSpacedTextBuffer.length=0,buildTextContentItem({chars:str,extraSpacing:0})}break;case _util.OPS.showText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue}buildTextContentItem({chars:args[0],extraSpacing:0});break;case _util.OPS.nextLineShowText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue}textState.carriageReturn(),buildTextContentItem({chars:args[0],extraSpacing:0});break;case _util.OPS.nextLineSetSpacingShowText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue}textState.wordSpacing=args[0],textState.charSpacing=args[1],textState.carriageReturn(),buildTextContentItem({chars:args[2],extraSpacing:0});break;case _util.OPS.paintXObject:flushTextContentItem(),xobjs||(xobjs=resources.get("XObject")||_primitives.Dict.empty);var isValidName=args[0]instanceof _primitives.Name,name=args[0].name;if(isValidName&&emptyXObjectCache.getByName(name))break;return void next(new Promise((function(resolveXObject,rejectXObject){if(!isValidName)throw new _util.FormatError("XObject must be referred to by name.");let xobj=xobjs.getRaw(name);if(xobj instanceof _primitives.Ref){if(emptyXObjectCache.getByRef(xobj))return void resolveXObject();if(self.globalImageCache.getData(xobj,self.pageIndex))return void resolveXObject();xobj=xref.fetch(xobj)}if(!(xobj instanceof _base_stream.BaseStream))throw new _util.FormatError("XObject should be a stream");const type=xobj.dict.get("Subtype");if(!(type instanceof _primitives.Name))throw new _util.FormatError("XObject should have a Name subtype");if("Form"!==type.name)return emptyXObjectCache.set(name,xobj.dict.objId,!0),void resolveXObject();const currentState=stateManager.state.clone(),xObjStateManager=new StateManager(currentState),matrix=xobj.dict.getArray("Matrix");Array.isArray(matrix)&&6===matrix.length&&xObjStateManager.transform(matrix),enqueueChunk();const sinkWrapper={enqueueInvoked:!1,enqueue(chunk,size){this.enqueueInvoked=!0,sink.enqueue(chunk,size)},get desiredSize(){return sink.desiredSize},get ready(){return sink.ready}};self.getTextContent({stream:xobj,task:task,resources:xobj.dict.get("Resources")||resources,stateManager:xObjStateManager,includeMarkedContent:includeMarkedContent,sink:sinkWrapper,seenStyles:seenStyles,viewBox:viewBox,markedContentData:markedContentData,disableNormalization:disableNormalization}).then((function(){sinkWrapper.enqueueInvoked||emptyXObjectCache.set(name,xobj.dict.objId,!0),resolveXObject()}),rejectXObject)})).catch((function(reason){if(!(reason instanceof _util.AbortException)){if(!self.options.ignoreErrors)throw reason;(0,_util.warn)('getTextContent - ignoring XObject: "'.concat(reason,'".'))}})));case _util.OPS.setGState:if(isValidName=args[0]instanceof _primitives.Name,name=args[0].name,isValidName&&emptyGStateCache.getByName(name))break;return void next(new Promise((function(resolveGState,rejectGState){if(!isValidName)throw new _util.FormatError("GState must be referred to by name.");const extGState=resources.get("ExtGState");if(!(extGState instanceof _primitives.Dict))throw new _util.FormatError("ExtGState should be a dictionary.");const gState=extGState.get(name);if(!(gState instanceof _primitives.Dict))throw new _util.FormatError("GState should be a dictionary.");const gStateFont=gState.get("Font");if(!gStateFont)return emptyGStateCache.set(name,gState.objId,!0),void resolveGState();flushTextContentItem(),textState.fontName=null,textState.fontSize=gStateFont[1],handleSetFont(null,gStateFont[0]).then(resolveGState,rejectGState)})).catch((function(reason){if(!(reason instanceof _util.AbortException)){if(!self.options.ignoreErrors)throw reason;(0,_util.warn)('getTextContent - ignoring ExtGState: "'.concat(reason,'".'))}})));case _util.OPS.beginMarkedContent:flushTextContentItem(),includeMarkedContent&&(markedContentData.level++,textContent.items.push({type:"beginMarkedContent",tag:args[0]instanceof _primitives.Name?args[0].name:null}));break;case _util.OPS.beginMarkedContentProps:if(flushTextContentItem(),includeMarkedContent){markedContentData.level++;let mcid=null;args[1]instanceof _primitives.Dict&&(mcid=args[1].get("MCID")),textContent.items.push({type:"beginMarkedContentProps",id:Number.isInteger(mcid)?"".concat(self.idFactory.getPageObjId(),"_mc").concat(mcid):null,tag:args[0]instanceof _primitives.Name?args[0].name:null})}break;case _util.OPS.endMarkedContent:if(flushTextContentItem(),includeMarkedContent){if(0===markedContentData.level)break;markedContentData.level--,textContent.items.push({type:"endMarkedContent"})}break;case _util.OPS.restore:!previousState||previousState.font===textState.font&&previousState.fontSize===textState.fontSize&&previousState.fontName===textState.fontName||flushTextContentItem()}if(textContent.items.length>=sink.desiredSize){stop=!0;break}}stop?next(deferred):(flushTextContentItem(),enqueueChunk(),resolve())})).catch((reason=>{if(!(reason instanceof _util.AbortException)){if(this.options.ignoreErrors)return(0,_util.warn)('getTextContent - ignoring errors during "'.concat(task.name,'" ')+'task: "'.concat(reason,'".')),flushTextContentItem(),void enqueueChunk();throw reason}}))}extractDataStructures(dict,baseDict,properties){const xref=this.xref;let cidToGidBytes;const toUnicodePromise=this.readToUnicode(properties.toUnicode||dict.get("ToUnicode")||baseDict.get("ToUnicode"));if(properties.composite){const cidSystemInfo=dict.get("CIDSystemInfo");cidSystemInfo instanceof _primitives.Dict&&(properties.cidSystemInfo={registry:(0,_util.stringToPDFString)(cidSystemInfo.get("Registry")),ordering:(0,_util.stringToPDFString)(cidSystemInfo.get("Ordering")),supplement:cidSystemInfo.get("Supplement")});try{const cidToGidMap=dict.get("CIDToGIDMap");cidToGidMap instanceof _base_stream.BaseStream&&(cidToGidBytes=cidToGidMap.getBytes())}catch(ex){if(!this.options.ignoreErrors)throw ex;(0,_util.warn)('extractDataStructures - ignoring CIDToGIDMap data: "'.concat(ex,'".'))}}const differences=[];let encoding,baseEncodingName=null;if(dict.has("Encoding")){if(encoding=dict.get("Encoding"),encoding instanceof _primitives.Dict){if(baseEncodingName=encoding.get("BaseEncoding"),baseEncodingName=baseEncodingName instanceof _primitives.Name?baseEncodingName.name:null,encoding.has("Differences")){const diffEncoding=encoding.get("Differences");let index=0;for(const entry of diffEncoding){const data=xref.fetchIfRef(entry);if("number"==typeof data)index=data;else{if(!(data instanceof _primitives.Name))throw new _util.FormatError("Invalid entry in 'Differences' array: ".concat(data));differences[index++]=data.name}}}}else if(encoding instanceof _primitives.Name)baseEncodingName=encoding.name;else{const msg="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new _util.FormatError(msg);(0,_util.warn)(msg)}"MacRomanEncoding"!==baseEncodingName&&"MacExpertEncoding"!==baseEncodingName&&"WinAnsiEncoding"!==baseEncodingName&&(baseEncodingName=null)}const nonEmbeddedFont=!properties.file||properties.isInternalFont,isSymbolsFontName=(0,_standard_fonts.getSymbolsFonts)()[properties.name];if(baseEncodingName&&nonEmbeddedFont&&isSymbolsFontName&&(baseEncodingName=null),baseEncodingName)properties.defaultEncoding=(0,_encodings.getEncoding)(baseEncodingName);else{const isSymbolicFont=!!(properties.flags&_fonts_utils.FontFlags.Symbolic),isNonsymbolicFont=!!(properties.flags&_fonts_utils.FontFlags.Nonsymbolic);encoding=_encodings.StandardEncoding,"TrueType"!==properties.type||isNonsymbolicFont||(encoding=_encodings.WinAnsiEncoding),(isSymbolicFont||isSymbolsFontName)&&(encoding=_encodings.MacRomanEncoding,nonEmbeddedFont&&(/Symbol/i.test(properties.name)?encoding=_encodings.SymbolSetEncoding:/Dingbats/i.test(properties.name)?encoding=_encodings.ZapfDingbatsEncoding:/Wingdings/i.test(properties.name)&&(encoding=_encodings.WinAnsiEncoding))),properties.defaultEncoding=encoding}return properties.differences=differences,properties.baseEncodingName=baseEncodingName,properties.hasEncoding=!!baseEncodingName||differences.length>0,properties.dict=dict,toUnicodePromise.then((readToUnicode=>(properties.toUnicode=readToUnicode,this.buildToUnicode(properties)))).then((builtToUnicode=>(properties.toUnicode=builtToUnicode,cidToGidBytes&&(properties.cidToGidMap=this.readCidToGidMap(cidToGidBytes,builtToUnicode)),properties)))}_simpleFontToUnicode(properties){let forceGlyphs=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(0,_util.assert)(!properties.composite,"Must be a simple font.");const toUnicode=[],encoding=properties.defaultEncoding.slice(),baseEncodingName=properties.baseEncodingName,differences=properties.differences;for(const charcode in differences){const glyphName=differences[charcode];".notdef"!==glyphName&&(encoding[charcode]=glyphName)}const glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();for(const charcode in encoding){let glyphName=encoding[charcode];if(""===glyphName)continue;let unicode=glyphsUnicodeMap[glyphName];if(void 0!==unicode){toUnicode[charcode]=String.fromCharCode(unicode);continue}let code=0;switch(glyphName[0]){case"G":3===glyphName.length&&(code=parseInt(glyphName.substring(1),16));break;case"g":5===glyphName.length&&(code=parseInt(glyphName.substring(1),16));break;case"C":case"c":if(glyphName.length>=3&&glyphName.length<=4){const codeStr=glyphName.substring(1);if(forceGlyphs){code=parseInt(codeStr,16);break}if(code=+codeStr,Number.isNaN(code)&&Number.isInteger(parseInt(codeStr,16)))return this._simpleFontToUnicode(properties,!0)}break;case"u":unicode=(0,_unicode.getUnicodeForGlyph)(glyphName,glyphsUnicodeMap),-1!==unicode&&(code=unicode);break;default:switch(glyphName){case"f_h":case"f_t":case"T_h":toUnicode[charcode]=glyphName.replaceAll("_","");continue}}if(code>0&&code<=1114111&&Number.isInteger(code)){if(baseEncodingName&&code===+charcode){const baseEncoding=(0,_encodings.getEncoding)(baseEncodingName);if(baseEncoding&&(glyphName=baseEncoding[charcode])){toUnicode[charcode]=String.fromCharCode(glyphsUnicodeMap[glyphName]);continue}}toUnicode[charcode]=String.fromCodePoint(code)}}return toUnicode}async buildToUnicode(properties){var _properties$toUnicode;if(properties.hasIncludedToUnicodeMap=(null===(_properties$toUnicode=properties.toUnicode)||void 0===_properties$toUnicode?void 0:_properties$toUnicode.length)>0,properties.hasIncludedToUnicodeMap)return!properties.composite&&properties.hasEncoding&&(properties.fallbackToUnicode=this._simpleFontToUnicode(properties)),properties.toUnicode;if(!properties.composite)return new _to_unicode_map.ToUnicodeMap(this._simpleFontToUnicode(properties));if(properties.composite&&(properties.cMap.builtInCMap&&!(properties.cMap instanceof _cmap.IdentityCMap)||"Adobe"===properties.cidSystemInfo.registry&&("GB1"===properties.cidSystemInfo.ordering||"CNS1"===properties.cidSystemInfo.ordering||"Japan1"===properties.cidSystemInfo.ordering||"Korea1"===properties.cidSystemInfo.ordering))){const{registry:registry,ordering:ordering}=properties.cidSystemInfo,ucs2CMapName=_primitives.Name.get("".concat(registry,"-").concat(ordering,"-UCS2")),ucs2CMap=await _cmap.CMapFactory.create({encoding:ucs2CMapName,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),toUnicode=[],buf=[];return properties.cMap.forEach((function(charcode,cid){if(cid>65535)throw new _util.FormatError("Max size of CID is 65,535");const ucs2=ucs2CMap.lookup(cid);if(ucs2){buf.length=0;for(let i=0,ii=ucs2.length;i{if(reason instanceof _util.AbortException)return null;if(this.options.ignoreErrors)return(0,_util.warn)('readToUnicode - ignoring ToUnicode data: "'.concat(reason,'".')),null;throw reason})):Promise.resolve(null):Promise.resolve(null)}readCidToGidMap(glyphsData,toUnicode){const result=[];for(let j=0,jj=glyphsData.length;j>1;(0!==glyphID||toUnicode.has(code))&&(result[code]=glyphID)}return result}extractWidths(dict,descriptor,properties){const xref=this.xref;let glyphsWidths=[],defaultWidth=0;const glyphsVMetrics=[];let defaultVMetrics,i,ii,j,jj,start,code,widths;if(properties.composite){if(defaultWidth=dict.has("DW")?dict.get("DW"):1e3,widths=dict.get("W"),widths)for(i=0,ii=widths.length;i{if(widths){const glyphWidths=[];let j=firstChar;for(const width of widths)glyphWidths[j++]=this.xref.fetchIfRef(width);newProperties.widths=glyphWidths}else newProperties.widths=this.buildCharCodeToWidth(metrics.widths,newProperties);return new _fonts.Font(baseFontName,file,newProperties)}))}descriptor=new _primitives.Dict(null),descriptor.set("FontName",_primitives.Name.get(type)),descriptor.set("FontBBox",dict.getArray("FontBBox")||[0,0,0,0])}let fontName=descriptor.get("FontName"),baseFont=dict.get("BaseFont");"string"==typeof fontName&&(fontName=_primitives.Name.get(fontName)),"string"==typeof baseFont&&(baseFont=_primitives.Name.get(baseFont));const fontNameStr=null===(_fontName=fontName)||void 0===_fontName?void 0:_fontName.name,baseFontStr=null===(_baseFont=baseFont)||void 0===_baseFont?void 0:_baseFont.name;if(isType3Font||fontNameStr===baseFontStr||((0,_util.info)("The FontDescriptor's FontName is \"".concat(fontNameStr,'" but ')+"should be the same as the Font's BaseFont \"".concat(baseFontStr,'".')),fontNameStr&&baseFontStr&&(baseFontStr.startsWith(fontNameStr)||!(0,_standard_fonts.isKnownFontName)(fontNameStr)&&(0,_standard_fonts.isKnownFontName)(baseFontStr))&&(fontName=null)),fontName||(fontName=baseFont),!(fontName instanceof _primitives.Name))throw new _util.FormatError("invalid font name");let fontFile,subtype,length1,length2,length3;try{fontFile=descriptor.get("FontFile","FontFile2","FontFile3")}catch(ex){if(!this.options.ignoreErrors)throw ex;(0,_util.warn)('translateFont - fetching "'.concat(fontName.name,'" font file: "').concat(ex,'".')),fontFile=new _stream.NullStream}let isInternalFont=!1,glyphScaleFactors=null,systemFontInfo=null;if(fontFile){if(fontFile.dict){const subtypeEntry=fontFile.dict.get("Subtype");subtypeEntry instanceof _primitives.Name&&(subtype=subtypeEntry.name),length1=fontFile.dict.get("Length1"),length2=fontFile.dict.get("Length2"),length3=fontFile.dict.get("Length3")}}else if(cssFontInfo){const standardFontName=(0,_xfa_fonts.getXfaFontName)(fontName.name);standardFontName&&(cssFontInfo.fontFamily="".concat(cssFontInfo.fontFamily,"-PdfJS-XFA"),cssFontInfo.metrics=standardFontName.metrics||null,glyphScaleFactors=standardFontName.factors||null,fontFile=await this.fetchStandardFontData(standardFontName.name),isInternalFont=!!fontFile,baseDict=dict=(0,_xfa_fonts.getXfaFontDict)(fontName.name),composite=!0)}else if(!isType3Font){const standardFontName=(0,_standard_fonts.getStandardFontName)(fontName.name);standardFontName&&(fontFile=await this.fetchStandardFontData(standardFontName),isInternalFont=!!fontFile),!isInternalFont&&this.options.useSystemFonts&&(systemFontInfo=(0,_font_substitutions.getFontSubstitution)(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,fontName.name,standardFontName))}if(properties={type:type,name:fontName.name,subtype:subtype,file:fontFile,length1:length1,length2:length2,length3:length3,isInternalFont:isInternalFont,loadedName:baseDict.loadedName,composite:composite,fixedPitch:!1,fontMatrix:dict.getArray("FontMatrix")||_util.FONT_IDENTITY_MATRIX,firstChar:firstChar,lastChar:lastChar,toUnicode:toUnicode,bbox:descriptor.getArray("FontBBox")||dict.getArray("FontBBox"),ascent:descriptor.get("Ascent"),descent:descriptor.get("Descent"),xHeight:descriptor.get("XHeight")||0,capHeight:descriptor.get("CapHeight")||0,flags:descriptor.get("Flags"),italicAngle:descriptor.get("ItalicAngle")||0,isType3Font:isType3Font,cssFontInfo:cssFontInfo,scaleFactors:glyphScaleFactors,systemFontInfo:systemFontInfo},composite){const cidEncoding=baseDict.get("Encoding");cidEncoding instanceof _primitives.Name&&(properties.cidEncoding=cidEncoding.name);const cMap=await _cmap.CMapFactory.create({encoding:cidEncoding,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});properties.cMap=cMap,properties.vertical=properties.cMap.vertical}return this.extractDataStructures(dict,baseDict,properties).then((newProperties=>(this.extractWidths(dict,descriptor,newProperties),new _fonts.Font(fontName.name,fontFile,newProperties))))}static buildFontPaths(font,glyphs,handler,evaluatorOptions){function buildPath(fontChar){const glyphName="".concat(font.loadedName,"_path_").concat(fontChar);try{if(font.renderer.hasBuiltPath(fontChar))return;handler.send("commonobj",[glyphName,"FontPath",font.renderer.getPathJs(fontChar)])}catch(reason){if(evaluatorOptions.ignoreErrors)return void(0,_util.warn)("buildFontPaths - ignoring ".concat(glyphName,' glyph: "').concat(reason,'".'));throw reason}}for(const glyph of glyphs){buildPath(glyph.fontChar);const accent=glyph.accent;null!=accent&&accent.fontChar&&buildPath(accent.fontChar)}}static get fallbackFontDict(){const dict=new _primitives.Dict;return dict.set("BaseFont",_primitives.Name.get("Helvetica")),dict.set("Type",_primitives.Name.get("FallbackType")),dict.set("Subtype",_primitives.Name.get("FallbackType")),dict.set("Encoding",_primitives.Name.get("WinAnsiEncoding")),(0,_util.shadow)(this,"fallbackFontDict",dict)}}exports.PartialEvaluator=PartialEvaluator;class TranslatedFont{constructor(_ref38){let{loadedName:loadedName,font:font,dict:dict,evaluatorOptions:evaluatorOptions}=_ref38;this.loadedName=loadedName,this.font=font,this.dict=dict,this._evaluatorOptions=evaluatorOptions||DefaultPartialEvaluatorOptions,this.type3Loaded=null,this.type3Dependencies=font.isType3Font?new Set:null,this.sent=!1}send(handler){this.sent||(this.sent=!0,handler.send("commonobj",[this.loadedName,"Font",this.font.exportData(this._evaluatorOptions.fontExtraProperties)]))}fallback(handler){this.font.data&&(this.font.disableFontFace=!0,PartialEvaluator.buildFontPaths(this.font,this.font.glyphCacheValues,handler,this._evaluatorOptions))}loadType3Data(evaluator,resources,task){if(this.type3Loaded)return this.type3Loaded;if(!this.font.isType3Font)throw new Error("Must be a Type3 font.");const type3Evaluator=evaluator.clone({ignoreErrors:!1});type3Evaluator.parsingType3Font=!0;const type3FontRefs=new _primitives.RefSet(evaluator.type3FontRefs);this.dict.objId&&!type3FontRefs.has(this.dict.objId)&&type3FontRefs.put(this.dict.objId),type3Evaluator.type3FontRefs=type3FontRefs;const translatedFont=this.font,type3Dependencies=this.type3Dependencies;let loadCharProcsPromise=Promise.resolve();const charProcs=this.dict.get("CharProcs"),fontResources=this.dict.get("Resources")||resources,charProcOperatorList=Object.create(null),fontBBox=_util.Util.normalizeRect(translatedFont.bbox||[0,0,0,0]),width=fontBBox[2]-fontBBox[0],height=fontBBox[3]-fontBBox[1],fontBBoxSize=Math.hypot(width,height);for(const key of charProcs.getKeys())loadCharProcsPromise=loadCharProcsPromise.then((()=>{const glyphStream=charProcs.get(key),operatorList=new _operator_list.OperatorList;return type3Evaluator.getOperatorList({stream:glyphStream,task:task,resources:fontResources,operatorList:operatorList}).then((()=>{operatorList.fnArray[0]===_util.OPS.setCharWidthAndBounds&&this._removeType3ColorOperators(operatorList,fontBBoxSize),charProcOperatorList[key]=operatorList.getIR();for(const dependency of operatorList.dependencies)type3Dependencies.add(dependency)})).catch((function(reason){(0,_util.warn)('Type3 font resource "'.concat(key,'" is not available.'));const dummyOperatorList=new _operator_list.OperatorList;charProcOperatorList[key]=dummyOperatorList.getIR()}))}));return this.type3Loaded=loadCharProcsPromise.then((()=>{translatedFont.charProcOperatorList=charProcOperatorList,this._bbox&&(translatedFont.isCharBBox=!0,translatedFont.bbox=this._bbox)})),this.type3Loaded}_removeType3ColorOperators(operatorList){let fontBBoxSize=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NaN;const charBBox=_util.Util.normalizeRect(operatorList.argsArray[0].slice(2)),width=charBBox[2]-charBBox[0],height=charBBox[3]-charBBox[1],charBBoxSize=Math.hypot(width,height);0===width||0===height?(operatorList.fnArray.splice(0,1),operatorList.argsArray.splice(0,1)):(0===fontBBoxSize||Math.round(charBBoxSize/fontBBoxSize)>=10)&&(this._bbox||(this._bbox=[1/0,1/0,-1/0,-1/0]),this._bbox[0]=Math.min(this._bbox[0],charBBox[0]),this._bbox[1]=Math.min(this._bbox[1],charBBox[1]),this._bbox[2]=Math.max(this._bbox[2],charBBox[2]),this._bbox[3]=Math.max(this._bbox[3],charBBox[3]));let i=0,ii=operatorList.length;for(;i0&&void 0!==arguments[0]?arguments[0]:new EvalState;this.state=initialState,this.stateStack=[]}save(){const old=this.state;this.stateStack.push(this.state),this.state=old.clone()}restore(){const prev=this.stateStack.pop();prev&&(this.state=prev)}transform(args){this.state.ctm=_util.Util.transform(this.state.ctm,args)}}class TextState{constructor(){this.ctm=new Float32Array(_util.IDENTITY_MATRIX),this.fontName=null,this.fontSize=0,this.loadedName=null,this.font=null,this.fontMatrix=_util.FONT_IDENTITY_MATRIX,this.textMatrix=_util.IDENTITY_MATRIX.slice(),this.textLineMatrix=_util.IDENTITY_MATRIX.slice(),this.charSpacing=0,this.wordSpacing=0,this.leading=0,this.textHScale=1,this.textRise=0}setTextMatrix(a,b,c,d,e,f){const m=this.textMatrix;m[0]=a,m[1]=b,m[2]=c,m[3]=d,m[4]=e,m[5]=f}setTextLineMatrix(a,b,c,d,e,f){const m=this.textLineMatrix;m[0]=a,m[1]=b,m[2]=c,m[3]=d,m[4]=e,m[5]=f}translateTextMatrix(x,y){const m=this.textMatrix;m[4]=m[0]*x+m[2]*y+m[4],m[5]=m[1]*x+m[3]*y+m[5]}translateTextLineMatrix(x,y){const m=this.textLineMatrix;m[4]=m[0]*x+m[2]*y+m[4],m[5]=m[1]*x+m[3]*y+m[5]}carriageReturn(){this.translateTextLineMatrix(0,-this.leading),this.textMatrix=this.textLineMatrix.slice()}clone(){const clone=Object.create(this);return clone.textMatrix=this.textMatrix.slice(),clone.textLineMatrix=this.textLineMatrix.slice(),clone.fontMatrix=this.fontMatrix.slice(),clone}}class EvalState{constructor(){this.ctm=new Float32Array(_util.IDENTITY_MATRIX),this.font=null,this.textRenderingMode=_util.TextRenderingMode.FILL,this.fillColorSpace=_colorspace.ColorSpace.singletons.gray,this.strokeColorSpace=_colorspace.ColorSpace.singletons.gray}clone(){return Object.create(this)}}class EvaluatorPreprocessor{static get opMap(){return(0,_util.shadow)(this,"opMap",{w:{id:_util.OPS.setLineWidth,numArgs:1,variableArgs:!1},J:{id:_util.OPS.setLineCap,numArgs:1,variableArgs:!1},j:{id:_util.OPS.setLineJoin,numArgs:1,variableArgs:!1},M:{id:_util.OPS.setMiterLimit,numArgs:1,variableArgs:!1},d:{id:_util.OPS.setDash,numArgs:2,variableArgs:!1},ri:{id:_util.OPS.setRenderingIntent,numArgs:1,variableArgs:!1},i:{id:_util.OPS.setFlatness,numArgs:1,variableArgs:!1},gs:{id:_util.OPS.setGState,numArgs:1,variableArgs:!1},q:{id:_util.OPS.save,numArgs:0,variableArgs:!1},Q:{id:_util.OPS.restore,numArgs:0,variableArgs:!1},cm:{id:_util.OPS.transform,numArgs:6,variableArgs:!1},m:{id:_util.OPS.moveTo,numArgs:2,variableArgs:!1},l:{id:_util.OPS.lineTo,numArgs:2,variableArgs:!1},c:{id:_util.OPS.curveTo,numArgs:6,variableArgs:!1},v:{id:_util.OPS.curveTo2,numArgs:4,variableArgs:!1},y:{id:_util.OPS.curveTo3,numArgs:4,variableArgs:!1},h:{id:_util.OPS.closePath,numArgs:0,variableArgs:!1},re:{id:_util.OPS.rectangle,numArgs:4,variableArgs:!1},S:{id:_util.OPS.stroke,numArgs:0,variableArgs:!1},s:{id:_util.OPS.closeStroke,numArgs:0,variableArgs:!1},f:{id:_util.OPS.fill,numArgs:0,variableArgs:!1},F:{id:_util.OPS.fill,numArgs:0,variableArgs:!1},"f*":{id:_util.OPS.eoFill,numArgs:0,variableArgs:!1},B:{id:_util.OPS.fillStroke,numArgs:0,variableArgs:!1},"B*":{id:_util.OPS.eoFillStroke,numArgs:0,variableArgs:!1},b:{id:_util.OPS.closeFillStroke,numArgs:0,variableArgs:!1},"b*":{id:_util.OPS.closeEOFillStroke,numArgs:0,variableArgs:!1},n:{id:_util.OPS.endPath,numArgs:0,variableArgs:!1},W:{id:_util.OPS.clip,numArgs:0,variableArgs:!1},"W*":{id:_util.OPS.eoClip,numArgs:0,variableArgs:!1},BT:{id:_util.OPS.beginText,numArgs:0,variableArgs:!1},ET:{id:_util.OPS.endText,numArgs:0,variableArgs:!1},Tc:{id:_util.OPS.setCharSpacing,numArgs:1,variableArgs:!1},Tw:{id:_util.OPS.setWordSpacing,numArgs:1,variableArgs:!1},Tz:{id:_util.OPS.setHScale,numArgs:1,variableArgs:!1},TL:{id:_util.OPS.setLeading,numArgs:1,variableArgs:!1},Tf:{id:_util.OPS.setFont,numArgs:2,variableArgs:!1},Tr:{id:_util.OPS.setTextRenderingMode,numArgs:1,variableArgs:!1},Ts:{id:_util.OPS.setTextRise,numArgs:1,variableArgs:!1},Td:{id:_util.OPS.moveText,numArgs:2,variableArgs:!1},TD:{id:_util.OPS.setLeadingMoveText,numArgs:2,variableArgs:!1},Tm:{id:_util.OPS.setTextMatrix,numArgs:6,variableArgs:!1},"T*":{id:_util.OPS.nextLine,numArgs:0,variableArgs:!1},Tj:{id:_util.OPS.showText,numArgs:1,variableArgs:!1},TJ:{id:_util.OPS.showSpacedText,numArgs:1,variableArgs:!1},"'":{id:_util.OPS.nextLineShowText,numArgs:1,variableArgs:!1},'"':{id:_util.OPS.nextLineSetSpacingShowText,numArgs:3,variableArgs:!1},d0:{id:_util.OPS.setCharWidth,numArgs:2,variableArgs:!1},d1:{id:_util.OPS.setCharWidthAndBounds,numArgs:6,variableArgs:!1},CS:{id:_util.OPS.setStrokeColorSpace,numArgs:1,variableArgs:!1},cs:{id:_util.OPS.setFillColorSpace,numArgs:1,variableArgs:!1},SC:{id:_util.OPS.setStrokeColor,numArgs:4,variableArgs:!0},SCN:{id:_util.OPS.setStrokeColorN,numArgs:33,variableArgs:!0},sc:{id:_util.OPS.setFillColor,numArgs:4,variableArgs:!0},scn:{id:_util.OPS.setFillColorN,numArgs:33,variableArgs:!0},G:{id:_util.OPS.setStrokeGray,numArgs:1,variableArgs:!1},g:{id:_util.OPS.setFillGray,numArgs:1,variableArgs:!1},RG:{id:_util.OPS.setStrokeRGBColor,numArgs:3,variableArgs:!1},rg:{id:_util.OPS.setFillRGBColor,numArgs:3,variableArgs:!1},K:{id:_util.OPS.setStrokeCMYKColor,numArgs:4,variableArgs:!1},k:{id:_util.OPS.setFillCMYKColor,numArgs:4,variableArgs:!1},sh:{id:_util.OPS.shadingFill,numArgs:1,variableArgs:!1},BI:{id:_util.OPS.beginInlineImage,numArgs:0,variableArgs:!1},ID:{id:_util.OPS.beginImageData,numArgs:0,variableArgs:!1},EI:{id:_util.OPS.endInlineImage,numArgs:1,variableArgs:!1},Do:{id:_util.OPS.paintXObject,numArgs:1,variableArgs:!1},MP:{id:_util.OPS.markPoint,numArgs:1,variableArgs:!1},DP:{id:_util.OPS.markPointProps,numArgs:2,variableArgs:!1},BMC:{id:_util.OPS.beginMarkedContent,numArgs:1,variableArgs:!1},BDC:{id:_util.OPS.beginMarkedContentProps,numArgs:2,variableArgs:!1},EMC:{id:_util.OPS.endMarkedContent,numArgs:0,variableArgs:!1},BX:{id:_util.OPS.beginCompat,numArgs:0,variableArgs:!1},EX:{id:_util.OPS.endCompat,numArgs:0,variableArgs:!1},BM:null,BD:null,true:null,fa:null,fal:null,fals:null,false:null,nu:null,nul:null,null:null})}constructor(stream,xref){let stateManager=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new StateManager;this.parser=new _parser.Parser({lexer:new _parser.Lexer(stream,EvaluatorPreprocessor.opMap),xref:xref}),this.stateManager=stateManager,this.nonProcessedArgs=[],this._isPathOp=!1,this._numInvalidPathOPS=0}get savedStatesDepth(){return this.stateManager.stateStack.length}read(operation){let args=operation.args;for(;;){const obj=this.parser.getObj();if(obj instanceof _primitives.Cmd){const cmd=obj.cmd,opSpec=EvaluatorPreprocessor.opMap[cmd];if(!opSpec){(0,_util.warn)('Unknown command "'.concat(cmd,'".'));continue}const fn=opSpec.id,numArgs=opSpec.numArgs;let argsLength=null!==args?args.length:0;if(this._isPathOp||(this._numInvalidPathOPS=0),this._isPathOp=fn>=_util.OPS.moveTo&&fn<=_util.OPS.endPath,opSpec.variableArgs)argsLength>numArgs&&(0,_util.info)("Command ".concat(cmd,": expected [0, ").concat(numArgs,"] args, ")+"but received ".concat(argsLength," args."));else{if(argsLength!==numArgs){const nonProcessedArgs=this.nonProcessedArgs;for(;argsLength>numArgs;)nonProcessedArgs.push(args.shift()),argsLength--;for(;argsLengthEvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new _util.FormatError("Invalid ".concat(partialMsg));(0,_util.warn)("Skipping ".concat(partialMsg)),null!==args&&(args.length=0);continue}}return this.preprocessCommand(fn,args),operation.fn=fn,operation.args=args,!0}if(obj===_primitives.EOF)return!1;if(null!==obj&&(null===args&&(args=[]),args.push(obj),args.length>33))throw new _util.FormatError("Too many arguments")}}preprocessCommand(fn,args){switch(0|fn){case _util.OPS.save:this.stateManager.save();break;case _util.OPS.restore:this.stateManager.restore();break;case _util.OPS.transform:this.stateManager.transform(args)}}}_defineProperty(EvaluatorPreprocessor,"MAX_INVALID_PATH_OPS",10),exports.EvaluatorPreprocessor=EvaluatorPreprocessor},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.IdentityCMap=exports.CMapFactory=exports.CMap=void 0;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_base_stream=__w_pdfjs_require__(5),_binary_cmap=__w_pdfjs_require__(15),_parser=__w_pdfjs_require__(16),_core_utils=__w_pdfjs_require__(3),_stream=__w_pdfjs_require__(8);const BUILT_IN_CMAPS=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"];class CMap{constructor(){let builtInCMap=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.codespaceRanges=[[],[],[],[]],this.numCodespaceRanges=0,this._map=[],this.name="",this.vertical=!1,this.useCMap=null,this.builtInCMap=builtInCMap}addCodespaceRange(n,low,high){this.codespaceRanges[n-1].push(low,high),this.numCodespaceRanges++}mapCidRange(low,high,dstLow){if(high-low>16777215)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;low<=high;)this._map[low++]=dstLow++}mapBfRange(low,high,dstLow){if(high-low>16777215)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const lastByte=dstLow.length-1;for(;low<=high;){this._map[low++]=dstLow;const nextCharCode=dstLow.charCodeAt(lastByte)+1;dstLow=nextCharCode>255?dstLow.substring(0,lastByte-1)+String.fromCharCode(dstLow.charCodeAt(lastByte-1)+1)+"\0":dstLow.substring(0,lastByte)+String.fromCharCode(nextCharCode)}}mapBfRangeToArray(low,high,array){if(high-low>16777215)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const ii=array.length;let i=0;for(;low<=high&&i>>0;const codespaceRange=codespaceRanges[n];for(let k=0,kk=codespaceRange.length;k=low&&c<=high)return out.charcode=c,void(out.length=n+1)}}out.charcode=0,out.length=1}getCharCodeLength(charCode){const codespaceRanges=this.codespaceRanges;for(let n=0,nn=codespaceRanges.length;n=low&&charCode<=high)return n+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let i=0;i<65536;i++)if(this._map[i]!==i)return!1;return!0}}exports.CMap=CMap;class IdentityCMap extends CMap{constructor(vertical,n){super(),this.vertical=vertical,this.addCodespaceRange(n,0,65535)}mapCidRange(low,high,dstLow){(0,_util.unreachable)("should not call mapCidRange")}mapBfRange(low,high,dstLow){(0,_util.unreachable)("should not call mapBfRange")}mapBfRangeToArray(low,high,array){(0,_util.unreachable)("should not call mapBfRangeToArray")}mapOne(src,dst){(0,_util.unreachable)("should not call mapCidOne")}lookup(code){return Number.isInteger(code)&&code<=65535?code:void 0}contains(code){return Number.isInteger(code)&&code<=65535}forEach(callback){for(let i=0;i<=65535;i++)callback(i,i)}charCodeOf(value){return Number.isInteger(value)&&value<=65535?value:-1}getMap(){const map=new Array(65536);for(let i=0;i<=65535;i++)map[i]=i;return map}get length(){return 65536}get isIdentityCMap(){(0,_util.unreachable)("should not access .isIdentityCMap")}}function strToInt(str){let a=0;for(let i=0;i>>0}function expectString(obj){if("string"!=typeof obj)throw new _util.FormatError("Malformed CMap: expected string.")}function expectInt(obj){if(!Number.isInteger(obj))throw new _util.FormatError("Malformed CMap: expected int.")}function parseBfChar(cMap,lexer){for(;;){let obj=lexer.getObj();if(obj===_primitives.EOF)break;if((0,_primitives.isCmd)(obj,"endbfchar"))return;expectString(obj);const src=strToInt(obj);obj=lexer.getObj(),expectString(obj);const dst=obj;cMap.mapOne(src,dst)}}function parseBfRange(cMap,lexer){for(;;){let obj=lexer.getObj();if(obj===_primitives.EOF)break;if((0,_primitives.isCmd)(obj,"endbfrange"))return;expectString(obj);const low=strToInt(obj);obj=lexer.getObj(),expectString(obj);const high=strToInt(obj);if(obj=lexer.getObj(),Number.isInteger(obj)||"string"==typeof obj){const dstLow=Number.isInteger(obj)?String.fromCharCode(obj):obj;cMap.mapBfRange(low,high,dstLow)}else{if(!(0,_primitives.isCmd)(obj,"["))break;{obj=lexer.getObj();const array=[];for(;!(0,_primitives.isCmd)(obj,"]")&&obj!==_primitives.EOF;)array.push(obj),obj=lexer.getObj();cMap.mapBfRangeToArray(low,high,array)}}}throw new _util.FormatError("Invalid bf range.")}function parseCidChar(cMap,lexer){for(;;){let obj=lexer.getObj();if(obj===_primitives.EOF)break;if((0,_primitives.isCmd)(obj,"endcidchar"))return;expectString(obj);const src=strToInt(obj);obj=lexer.getObj(),expectInt(obj);const dst=obj;cMap.mapOne(src,dst)}}function parseCidRange(cMap,lexer){for(;;){let obj=lexer.getObj();if(obj===_primitives.EOF)break;if((0,_primitives.isCmd)(obj,"endcidrange"))return;expectString(obj);const low=strToInt(obj);obj=lexer.getObj(),expectString(obj);const high=strToInt(obj);obj=lexer.getObj(),expectInt(obj);const dstLow=obj;cMap.mapCidRange(low,high,dstLow)}}function parseCodespaceRange(cMap,lexer){for(;;){let obj=lexer.getObj();if(obj===_primitives.EOF)break;if((0,_primitives.isCmd)(obj,"endcodespacerange"))return;if("string"!=typeof obj)break;const low=strToInt(obj);if(obj=lexer.getObj(),"string"!=typeof obj)break;const high=strToInt(obj);cMap.addCodespaceRange(obj.length,low,high)}throw new _util.FormatError("Invalid codespace range.")}function parseWMode(cMap,lexer){const obj=lexer.getObj();Number.isInteger(obj)&&(cMap.vertical=!!obj)}function parseCMapName(cMap,lexer){const obj=lexer.getObj();obj instanceof _primitives.Name&&(cMap.name=obj.name)}async function parseCMap(cMap,lexer,fetchBuiltInCMap,useCMap){let previous,embeddedUseCMap;objLoop:for(;;)try{const obj=lexer.getObj();if(obj===_primitives.EOF)break;if(obj instanceof _primitives.Name)"WMode"===obj.name?parseWMode(cMap,lexer):"CMapName"===obj.name&&parseCMapName(cMap,lexer),previous=obj;else if(obj instanceof _primitives.Cmd)switch(obj.cmd){case"endcmap":break objLoop;case"usecmap":previous instanceof _primitives.Name&&(embeddedUseCMap=previous.name);break;case"begincodespacerange":parseCodespaceRange(cMap,lexer);break;case"beginbfchar":parseBfChar(cMap,lexer);break;case"begincidchar":parseCidChar(cMap,lexer);break;case"beginbfrange":parseBfRange(cMap,lexer);break;case"begincidrange":parseCidRange(cMap,lexer)}}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)("Invalid cMap data: "+ex);continue}return!useCMap&&embeddedUseCMap&&(useCMap=embeddedUseCMap),useCMap?extendCMap(cMap,fetchBuiltInCMap,useCMap):cMap}async function extendCMap(cMap,fetchBuiltInCMap,useCMap){if(cMap.useCMap=await createBuiltInCMap(useCMap,fetchBuiltInCMap),0===cMap.numCodespaceRanges){const useCodespaceRanges=cMap.useCMap.codespaceRanges;for(let i=0;iextendCMap(cMap,fetchBuiltInCMap,useCMap)));if(compressionType===_util.CMapCompressionType.NONE){const lexer=new _parser.Lexer(new _stream.Stream(cMapData));return parseCMap(cMap,lexer,fetchBuiltInCMap,null)}throw new Error('Invalid CMap "compressionType" value: '.concat(compressionType))}exports.IdentityCMap=IdentityCMap,exports.CMapFactory=class{static async create(_ref39){let{encoding:encoding,fetchBuiltInCMap:fetchBuiltInCMap,useCMap:useCMap}=_ref39;if(encoding instanceof _primitives.Name)return createBuiltInCMap(encoding.name,fetchBuiltInCMap);if(encoding instanceof _base_stream.BaseStream){const parsedCMap=await parseCMap(new CMap,new _parser.Lexer(encoding),fetchBuiltInCMap,useCMap);return parsedCMap.isIdentityCMap?createBuiltInCMap(parsedCMap.name,fetchBuiltInCMap):parsedCMap}throw new Error("Encoding required.")}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.BinaryCMapReader=void 0;var _util=__w_pdfjs_require__(2);function hexToInt(a,size){let n=0;for(let i=0;i<=size;i++)n=n<<8|a[i];return n>>>0}function hexToStr(a,size){return 1===size?String.fromCharCode(a[0],a[1]):3===size?String.fromCharCode(a[0],a[1],a[2],a[3]):String.fromCharCode(...a.subarray(0,size+1))}function addHex(a,b,size){let c=0;for(let i=size;i>=0;i--)c+=a[i]+b[i],a[i]=255&c,c>>=8}function incHex(a,size){let c=1;for(let i=size;i>=0&&c>0;i--)c+=a[i],a[i]=255&c,c>>=8}class BinaryCMapStream{constructor(data){this.buffer=data,this.pos=0,this.end=data.length,this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let last,n=0;do{const b=this.readByte();if(b<0)throw new _util.FormatError("unexpected EOF in bcmap");last=!(128&b),n=n<<7|127&b}while(!last);return n}readSigned(){const n=this.readNumber();return 1&n?~(n>>>1):n>>>1}readHex(num,size){num.set(this.buffer.subarray(this.pos,this.pos+size+1)),this.pos+=size+1}readHexNumber(num,size){let last;const stack=this.tmpBuf;let sp=0;do{const b=this.readByte();if(b<0)throw new _util.FormatError("unexpected EOF in bcmap");last=!(128&b),stack[sp++]=127&b}while(!last);let i=size,buffer=0,bufferSize=0;for(;i>=0;){for(;bufferSize<8&&stack.length>0;)buffer|=stack[--sp]<>=8,bufferSize-=8}}readHexSigned(num,size){this.readHexNumber(num,size);const sign=1&num[size]?255:0;let c=0;for(let i=0;i<=size;i++)c=(1&c)<<8|num[i],num[i]=c>>1^sign}readString(){const len=this.readNumber(),buf=new Array(len);for(let i=0;i=0;){const type=b>>5;if(7===type){switch(31&b){case 0:stream.readString();break;case 1:useCMap=stream.readString()}continue}const sequence=!!(16&b),dataSize=15&b;if(dataSize+1>16)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const ucs2DataSize=1,subitemsCount=stream.readNumber();switch(type){case 0:stream.readHex(start,dataSize),stream.readHexNumber(end,dataSize),addHex(end,start,dataSize),cMap.addCodespaceRange(dataSize+1,hexToInt(start,dataSize),hexToInt(end,dataSize));for(let i=1;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Parser=exports.Linearization=exports.Lexer=void 0;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_core_utils=__w_pdfjs_require__(3),_stream=__w_pdfjs_require__(8),_ascii_85_stream=__w_pdfjs_require__(17),_ascii_hex_stream=__w_pdfjs_require__(19),_ccitt_stream=__w_pdfjs_require__(20),_flate_stream=__w_pdfjs_require__(22),_jbig2_stream=__w_pdfjs_require__(23),_jpeg_stream=__w_pdfjs_require__(26),_jpx_stream=__w_pdfjs_require__(29),_lzw_stream=__w_pdfjs_require__(31),_predictor_stream=__w_pdfjs_require__(32),_run_length_stream=__w_pdfjs_require__(33);class Parser{constructor(_ref40){let{lexer:lexer,xref:xref,allowStreams:allowStreams=!1,recoveryMode:recoveryMode=!1}=_ref40;this.lexer=lexer,this.xref=xref,this.allowStreams=allowStreams,this.recoveryMode=recoveryMode,this.imageCache=Object.create(null),this._imageId=0,this.refill()}refill(){this.buf1=this.lexer.getObj(),this.buf2=this.lexer.getObj()}shift(){this.buf2 instanceof _primitives.Cmd&&"ID"===this.buf2.cmd?(this.buf1=this.buf2,this.buf2=null):(this.buf1=this.buf2,this.buf2=this.lexer.getObj())}tryShift(){try{return this.shift(),!0}catch(e){if(e instanceof _core_utils.MissingDataException)throw e;return!1}}getObj(){let cipherTransform=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const buf1=this.buf1;if(this.shift(),buf1 instanceof _primitives.Cmd)switch(buf1.cmd){case"BI":return this.makeInlineImage(cipherTransform);case"[":const array=[];for(;!(0,_primitives.isCmd)(this.buf1,"]")&&this.buf1!==_primitives.EOF;)array.push(this.getObj(cipherTransform));if(this.buf1===_primitives.EOF){if(this.recoveryMode)return array;throw new _core_utils.ParserEOFException("End of file inside array.")}return this.shift(),array;case"<<":const dict=new _primitives.Dict(this.xref);for(;!(0,_primitives.isCmd)(this.buf1,">>")&&this.buf1!==_primitives.EOF;){if(!(this.buf1 instanceof _primitives.Name)){(0,_util.info)("Malformed dictionary: key must be a name object"),this.shift();continue}const key=this.buf1.name;if(this.shift(),this.buf1===_primitives.EOF)break;dict.set(key,this.getObj(cipherTransform))}if(this.buf1===_primitives.EOF){if(this.recoveryMode)return dict;throw new _core_utils.ParserEOFException("End of file inside dictionary.")}return(0,_primitives.isCmd)(this.buf2,"stream")?this.allowStreams?this.makeStream(dict,cipherTransform):dict:(this.shift(),dict);default:return buf1}if(Number.isInteger(buf1)){if(Number.isInteger(this.buf1)&&(0,_primitives.isCmd)(this.buf2,"R")){const ref=_primitives.Ref.get(buf1,this.buf1);return this.shift(),this.shift(),ref}return buf1}return"string"==typeof buf1&&cipherTransform?cipherTransform.decryptString(buf1):buf1}findDefaultInlineStreamEnd(stream){const{knownCommands:knownCommands}=this.lexer,startPos=stream.pos;let ch,maybeEIPos,state=0;for(;-1!==(ch=stream.getByte());)if(0===state)state=69===ch?1:0;else if(1===state)state=73===ch?2:0;else if(32===ch||10===ch||13===ch){maybeEIPos=stream.pos;const followingBytes=stream.peekBytes(15),ii=followingBytes.length;if(0===ii)break;for(let i=0;i127)){state=0;break}if(2!==state)continue;if(!knownCommands){(0,_util.warn)("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");continue}const tmpLexer=new Lexer(new _stream.Stream(followingBytes.slice()),knownCommands);tmpLexer._hexStringWarn=()=>{};let numArgs=0;for(;;){const nextObj=tmpLexer.getObj();if(nextObj===_primitives.EOF){state=0;break}if(nextObj instanceof _primitives.Cmd){const knownCommand=knownCommands[nextObj.cmd];if(!knownCommand){state=0;break}if(knownCommand.variableArgs?numArgs<=knownCommand.numArgs:numArgs===knownCommand.numArgs)break;numArgs=0}else numArgs++}if(2===state)break}else state=0;-1===ch&&((0,_util.warn)("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker"),maybeEIPos&&((0,_util.warn)('... trying to recover by using the last "EI" occurrence.'),stream.skip(-(stream.pos-maybeEIPos))));let endOffset=4;return stream.skip(-endOffset),ch=stream.peekByte(),stream.skip(endOffset),(0,_core_utils.isWhiteSpace)(ch)||endOffset--,stream.pos-endOffset-startPos}findDCTDecodeInlineStreamEnd(stream){const startPos=stream.pos;let b,markerLength,foundEOI=!1;for(;-1!==(b=stream.getByte());)if(255===b){switch(stream.getByte()){case 0:break;case 255:stream.skip(-1);break;case 217:foundEOI=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:markerLength=stream.getUint16(),markerLength>2?stream.skip(markerLength-2):stream.skip(-2)}if(foundEOI)break}const length=stream.pos-startPos;return-1===b?((0,_util.warn)("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead."),stream.skip(-length),this.findDefaultInlineStreamEnd(stream)):(this.inlineStreamSkipEI(stream),length)}findASCII85DecodeInlineStreamEnd(stream){const startPos=stream.pos;let ch;for(;-1!==(ch=stream.getByte());)if(126===ch){const tildePos=stream.pos;for(ch=stream.peekByte();(0,_core_utils.isWhiteSpace)(ch);)stream.skip(),ch=stream.peekByte();if(62===ch){stream.skip();break}if(stream.pos>tildePos){const maybeEI=stream.peekBytes(2);if(69===maybeEI[0]&&73===maybeEI[1])break}}const length=stream.pos-startPos;return-1===ch?((0,_util.warn)("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead."),stream.skip(-length),this.findDefaultInlineStreamEnd(stream)):(this.inlineStreamSkipEI(stream),length)}findASCIIHexDecodeInlineStreamEnd(stream){const startPos=stream.pos;let ch;for(;-1!==(ch=stream.getByte())&&62!==ch;);const length=stream.pos-startPos;return-1===ch?((0,_util.warn)("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead."),stream.skip(-length),this.findDefaultInlineStreamEnd(stream)):(this.inlineStreamSkipEI(stream),length)}inlineStreamSkipEI(stream){let ch,state=0;for(;-1!==(ch=stream.getByte());)if(0===state)state=69===ch?1:0;else if(1===state)state=73===ch?2:0;else if(2===state)break}makeInlineImage(cipherTransform){const lexer=this.lexer,stream=lexer.stream,dictMap=Object.create(null);let dictLength;for(;!(0,_primitives.isCmd)(this.buf1,"ID")&&this.buf1!==_primitives.EOF;){if(!(this.buf1 instanceof _primitives.Name))throw new _util.FormatError("Dictionary key must be a name object");const key=this.buf1.name;if(this.shift(),this.buf1===_primitives.EOF)break;dictMap[key]=this.getObj(cipherTransform)}-1!==lexer.beginInlineImagePos&&(dictLength=stream.pos-lexer.beginInlineImagePos);const filter=this.xref.fetchIfRef(dictMap.F||dictMap.Filter);let filterName;if(filter instanceof _primitives.Name)filterName=filter.name;else if(Array.isArray(filter)){const filterZero=this.xref.fetchIfRef(filter[0]);filterZero instanceof _primitives.Name&&(filterName=filterZero.name)}const startPos=stream.pos;let length,cacheKey;switch(filterName){case"DCT":case"DCTDecode":length=this.findDCTDecodeInlineStreamEnd(stream);break;case"A85":case"ASCII85Decode":length=this.findASCII85DecodeInlineStreamEnd(stream);break;case"AHx":case"ASCIIHexDecode":length=this.findASCIIHexDecodeInlineStreamEnd(stream);break;default:length=this.findDefaultInlineStreamEnd(stream)}if(length<1e3&&dictLength>0){const initialStreamPos=stream.pos;stream.pos=lexer.beginInlineImagePos,cacheKey=function(bytes){const strBuf=[],ii=bytes.length;let i=0;for(;i=signatureLength)return stream.pos+=pos,stream.pos-startPos;pos++}stream.pos+=scanLength}return-1}makeStream(dict,cipherTransform){const lexer=this.lexer;let stream=lexer.stream;lexer.skipToNextLine();const startPos=stream.pos-1;let length=dict.get("Length");if(Number.isInteger(length)||((0,_util.info)('Bad length "'.concat(length&&length.toString(),'" in stream.')),length=0),stream.pos=startPos+length,lexer.nextChar(),this.tryShift()&&(0,_primitives.isCmd)(this.buf2,"endstream"))this.shift();else{const ENDSTREAM_SIGNATURE=new Uint8Array([101,110,100,115,116,114,101,97,109]);let actualLength=this._findStreamLength(startPos,ENDSTREAM_SIGNATURE);if(actualLength<0){const MAX_TRUNCATION=1;for(let i=1;i<=MAX_TRUNCATION;i++){const end=ENDSTREAM_SIGNATURE.length-i,TRUNCATED_SIGNATURE=ENDSTREAM_SIGNATURE.slice(0,end),maybeLength=this._findStreamLength(startPos,TRUNCATED_SIGNATURE);if(maybeLength>=0){const lastByte=stream.peekBytes(end+1)[end];if(!(0,_core_utils.isWhiteSpace)(lastByte))break;(0,_util.info)('Found "'.concat((0,_util.bytesToString)(TRUNCATED_SIGNATURE),'" when ')+"searching for endstream command."),actualLength=maybeLength;break}}if(actualLength<0)throw new _util.FormatError("Missing endstream command.")}length=actualLength,lexer.nextChar(),this.shift(),this.shift()}return this.shift(),stream=stream.makeSubStream(startPos,length,dict),cipherTransform&&(stream=cipherTransform.createStream(stream,length)),stream=this.filter(stream,dict,length),stream.dict=dict,stream}filter(stream,dict,length){let filter=dict.get("F","Filter"),params=dict.get("DP","DecodeParms");if(filter instanceof _primitives.Name)return Array.isArray(params)&&(0,_util.warn)("/DecodeParms should not be an Array, when /Filter is a Name."),this.makeFilter(stream,filter.name,length,params);let maybeLength=length;if(Array.isArray(filter)){const filterArray=filter,paramsArray=params;for(let i=0,ii=filterArray.length;i=48&&ch<=57?15&ch:ch>=65&&ch<=70||ch>=97&&ch<=102?9+(15&ch):-1}class Lexer{constructor(stream){let knownCommands=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.stream=stream,this.nextChar(),this.strBuf=[],this.knownCommands=knownCommands,this._hexStringNumWarn=0,this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let ch=this.currentChar,eNotation=!1,divideBy=0,sign=1;if(45===ch?(sign=-1,ch=this.nextChar(),45===ch&&(ch=this.nextChar())):43===ch&&(ch=this.nextChar()),10===ch||13===ch)do{ch=this.nextChar()}while(10===ch||13===ch);if(46===ch&&(divideBy=10,ch=this.nextChar()),ch<48||ch>57){const msg="Invalid number: ".concat(String.fromCharCode(ch)," (charCode ").concat(ch,")");if((0,_core_utils.isWhiteSpace)(ch)||-1===ch)return(0,_util.info)('Lexer.getNumber - "'.concat(msg,'".')),0;throw new _util.FormatError(msg)}let baseValue=ch-48,powerValue=0,powerValueSign=1;for(;(ch=this.nextChar())>=0;)if(ch>=48&&ch<=57){const currentDigit=ch-48;eNotation?powerValue=10*powerValue+currentDigit:(0!==divideBy&&(divideBy*=10),baseValue=10*baseValue+currentDigit)}else if(46===ch){if(0!==divideBy)break;divideBy=1}else if(45===ch)(0,_util.warn)("Badly formatted number: minus sign in the middle");else{if(69!==ch&&101!==ch)break;if(ch=this.peekChar(),43===ch||45===ch)powerValueSign=45===ch?-1:1,this.nextChar();else if(ch<48||ch>57)break;eNotation=!0}return 0!==divideBy&&(baseValue/=divideBy),eNotation&&(baseValue*=10**(powerValueSign*powerValue)),sign*baseValue}getString(){let numParen=1,done=!1;const strBuf=this.strBuf;strBuf.length=0;let ch=this.nextChar();for(;;){let charBuffered=!1;switch(0|ch){case-1:(0,_util.warn)("Unterminated string"),done=!0;break;case 40:++numParen,strBuf.push("(");break;case 41:0==--numParen?(this.nextChar(),done=!0):strBuf.push(")");break;case 92:switch(ch=this.nextChar(),ch){case-1:(0,_util.warn)("Unterminated string"),done=!0;break;case 110:strBuf.push("\n");break;case 114:strBuf.push("\r");break;case 116:strBuf.push("\t");break;case 98:strBuf.push("\b");break;case 102:strBuf.push("\f");break;case 92:case 40:case 41:strBuf.push(String.fromCharCode(ch));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let x=15&ch;ch=this.nextChar(),charBuffered=!0,ch>=48&&ch<=55&&(x=(x<<3)+(15&ch),ch=this.nextChar(),ch>=48&&ch<=55&&(charBuffered=!1,x=(x<<3)+(15&ch))),strBuf.push(String.fromCharCode(x));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:strBuf.push(String.fromCharCode(ch))}break;default:strBuf.push(String.fromCharCode(ch))}if(done)break;charBuffered||(ch=this.nextChar())}return strBuf.join("")}getName(){let ch,previousCh;const strBuf=this.strBuf;for(strBuf.length=0;(ch=this.nextChar())>=0&&!specialChars[ch];)if(35===ch){if(ch=this.nextChar(),specialChars[ch]){(0,_util.warn)("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number."),strBuf.push("#");break}const x=toHexDigit(ch);if(-1!==x){previousCh=ch,ch=this.nextChar();const x2=toHexDigit(ch);if(-1===x2){if((0,_util.warn)("Lexer_getName: Illegal digit (".concat(String.fromCharCode(ch),") ")+"in hexadecimal number."),strBuf.push("#",String.fromCharCode(previousCh)),specialChars[ch])break;strBuf.push(String.fromCharCode(ch));continue}strBuf.push(String.fromCharCode(x<<4|x2))}else strBuf.push("#",String.fromCharCode(ch))}else strBuf.push(String.fromCharCode(ch));return strBuf.length>127&&(0,_util.warn)("Name token is longer than allowed by the spec: ".concat(strBuf.length)),_primitives.Name.get(strBuf.join(""))}_hexStringWarn(ch){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||(0,_util.warn)("getHexString - ignoring invalid character: ".concat(ch)):(0,_util.warn)("getHexString - ignoring additional invalid characters.")}getHexString(){const strBuf=this.strBuf;strBuf.length=0;let firstDigit,secondDigit,ch=this.currentChar,isFirstHex=!0;for(this._hexStringNumWarn=0;;){if(ch<0){(0,_util.warn)("Unterminated hex string");break}if(62===ch){this.nextChar();break}if(1!==specialChars[ch]){if(isFirstHex){if(firstDigit=toHexDigit(ch),-1===firstDigit){this._hexStringWarn(ch),ch=this.nextChar();continue}}else{if(secondDigit=toHexDigit(ch),-1===secondDigit){this._hexStringWarn(ch),ch=this.nextChar();continue}strBuf.push(String.fromCharCode(firstDigit<<4|secondDigit))}isFirstHex=!isFirstHex,ch=this.nextChar()}else ch=this.nextChar()}return strBuf.join("")}getObj(){let comment=!1,ch=this.currentChar;for(;;){if(ch<0)return _primitives.EOF;if(comment)10!==ch&&13!==ch||(comment=!1);else if(37===ch)comment=!0;else if(1!==specialChars[ch])break;ch=this.nextChar()}switch(0|ch){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),_primitives.Cmd.get("[");case 93:return this.nextChar(),_primitives.Cmd.get("]");case 60:return ch=this.nextChar(),60===ch?(this.nextChar(),_primitives.Cmd.get("<<")):this.getHexString();case 62:return ch=this.nextChar(),62===ch?(this.nextChar(),_primitives.Cmd.get(">>")):_primitives.Cmd.get(">");case 123:return this.nextChar(),_primitives.Cmd.get("{");case 125:return this.nextChar(),_primitives.Cmd.get("}");case 41:throw this.nextChar(),new _util.FormatError("Illegal character: ".concat(ch))}let str=String.fromCharCode(ch);if(ch<32||ch>127){const nextCh=this.peekChar();if(nextCh>=32&&nextCh<=127)return this.nextChar(),_primitives.Cmd.get(str)}const knownCommands=this.knownCommands;let knownCommandFound=void 0!==(null==knownCommands?void 0:knownCommands[str]);for(;(ch=this.nextChar())>=0&&!specialChars[ch];){const possibleCommand=str+String.fromCharCode(ch);if(knownCommandFound&&void 0===knownCommands[possibleCommand])break;if(128===str.length)throw new _util.FormatError("Command token too long: ".concat(str.length));str=possibleCommand,knownCommandFound=void 0!==(null==knownCommands?void 0:knownCommands[str])}return"true"===str||"false"!==str&&("null"===str?null:("BI"===str&&(this.beginInlineImagePos=this.stream.pos),_primitives.Cmd.get(str)))}skipToNextLine(){let ch=this.currentChar;for(;ch>=0;){if(13===ch){ch=this.nextChar(),10===ch&&this.nextChar();break}if(10===ch){this.nextChar();break}ch=this.nextChar()}}}exports.Lexer=Lexer,exports.Linearization=class{static create(stream){function getInt(linDict,name){let allowZeroValue=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const obj=linDict.get(name);if(Number.isInteger(obj)&&(allowZeroValue?obj>=0:obj>0))return obj;throw new Error('The "'.concat(name,'" parameter in the linearization ')+"dictionary is invalid.")}const parser=new Parser({lexer:new Lexer(stream),xref:null}),obj1=parser.getObj(),obj2=parser.getObj(),obj3=parser.getObj(),linDict=parser.getObj();let obj,length;if(!(Number.isInteger(obj1)&&Number.isInteger(obj2)&&(0,_primitives.isCmd)(obj3,"obj")&&linDict instanceof _primitives.Dict&&"number"==typeof(obj=linDict.get("Linearized"))&&obj>0))return null;if((length=getInt(linDict,"L"))!==stream.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:length,hints:function(linDict){const hints=linDict.get("H");let hintsLength;if(Array.isArray(hints)&&(2===(hintsLength=hints.length)||4===hintsLength)){for(let index=0;index0))throw new Error("Hint (".concat(index,") in the linearization dictionary is invalid."))}return hints}throw new Error("Hint array in the linearization dictionary is invalid.")}(linDict),objectNumberFirst:getInt(linDict,"O"),endFirst:getInt(linDict,"E"),numPages:getInt(linDict,"N"),mainXRefEntriesOffset:getInt(linDict,"T"),pageFirst:linDict.has("P")?getInt(linDict,"P",!0):0}}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Ascii85Stream=void 0;var _decode_stream=__w_pdfjs_require__(18),_core_utils=__w_pdfjs_require__(3);class Ascii85Stream extends _decode_stream.DecodeStream{constructor(str,maybeLength){maybeLength&&(maybeLength*=.8),super(maybeLength),this.str=str,this.dict=str.dict,this.input=new Uint8Array(5)}readBlock(){const str=this.str;let c=str.getByte();for(;(0,_core_utils.isWhiteSpace)(c);)c=str.getByte();if(-1===c||126===c)return void(this.eof=!0);const bufferLength=this.bufferLength;let buffer,i;if(122===c){for(buffer=this.ensureBuffer(bufferLength+4),i=0;i<4;++i)buffer[bufferLength+i]=0;this.bufferLength+=4}else{const input=this.input;for(input[0]=c,i=1;i<5;++i){for(c=str.getByte();(0,_core_utils.isWhiteSpace)(c);)c=str.getByte();if(input[i]=c,-1===c||126===c)break}if(buffer=this.ensureBuffer(bufferLength+i-1),this.bufferLength+=i-1,i<5){for(;i<5;++i)input[i]=117;this.eof=!0}let t=0;for(i=0;i<5;++i)t=85*t+(input[i]-33);for(i=3;i>=0;--i)buffer[bufferLength+i]=255&t,t>>=8}}}exports.Ascii85Stream=Ascii85Stream},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.StreamsSequenceStream=exports.DecodeStream=void 0;var _base_stream=__w_pdfjs_require__(5),_stream=__w_pdfjs_require__(8);const emptyBuffer=new Uint8Array(0);class DecodeStream extends _base_stream.BaseStream{constructor(maybeMinBufferLength){if(super(),this._rawMinBufferLength=maybeMinBufferLength||0,this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=emptyBuffer,this.minBufferLength=512,maybeMinBufferLength)for(;this.minBufferLengthbufEnd&&(end=bufEnd)}else{for(;!this.eof;)this.readBlock();end=this.bufferLength}return this.pos=end,this.buffer.subarray(pos,end)}reset(){this.pos=0}makeSubStream(start,length){let dict=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(void 0===length)for(;!this.eof;)this.readBlock();else{const end=start+length;for(;this.bufferLength<=end&&!this.eof;)this.readBlock()}return new _stream.Stream(this.buffer,start,length,dict)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}exports.DecodeStream=DecodeStream,exports.StreamsSequenceStream=class extends DecodeStream{constructor(streams){let onError=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,maybeLength=0;for(const stream of streams)maybeLength+=stream instanceof DecodeStream?stream._rawMinBufferLength:stream.length;super(maybeLength),this.streams=streams,this._onError=onError}readBlock(){const streams=this.streams;if(0===streams.length)return void(this.eof=!0);const stream=streams.shift();let chunk;try{chunk=stream.getBytes()}catch(reason){var _stream$dict2;if(this._onError)return void this._onError(reason,null===(_stream$dict2=stream.dict)||void 0===_stream$dict2?void 0:_stream$dict2.objId);throw reason}const bufferLength=this.bufferLength,newLength=bufferLength+chunk.length;this.ensureBuffer(newLength).set(chunk,bufferLength),this.bufferLength=newLength}getBaseStreams(){const baseStreamsBuf=[];for(const stream of this.streams){const baseStreams=stream.getBaseStreams();baseStreams&&baseStreamsBuf.push(...baseStreams)}return baseStreamsBuf.length>0?baseStreamsBuf:null}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.AsciiHexStream=void 0;var _decode_stream=__w_pdfjs_require__(18);class AsciiHexStream extends _decode_stream.DecodeStream{constructor(str,maybeLength){maybeLength&&(maybeLength*=.5),super(maybeLength),this.str=str,this.dict=str.dict,this.firstDigit=-1}readBlock(){const bytes=this.str.getBytes(8e3);if(!bytes.length)return void(this.eof=!0);const maxDecodeLength=bytes.length+1>>1,buffer=this.ensureBuffer(this.bufferLength+maxDecodeLength);let bufferLength=this.bufferLength,firstDigit=this.firstDigit;for(const ch of bytes){let digit;if(ch>=48&&ch<=57)digit=15&ch;else{if(!(ch>=65&&ch<=70||ch>=97&&ch<=102)){if(62===ch){this.eof=!0;break}continue}digit=9+(15&ch)}firstDigit<0?firstDigit=digit:(buffer[bufferLength++]=firstDigit<<4|digit,firstDigit=-1)}firstDigit>=0&&this.eof&&(buffer[bufferLength++]=firstDigit<<4,firstDigit=-1),this.firstDigit=firstDigit,this.bufferLength=bufferLength}}exports.AsciiHexStream=AsciiHexStream},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CCITTFaxStream=void 0;var _ccitt=__w_pdfjs_require__(21),_decode_stream=__w_pdfjs_require__(18),_primitives=__w_pdfjs_require__(4);class CCITTFaxStream extends _decode_stream.DecodeStream{constructor(str,maybeLength,params){super(maybeLength),this.str=str,this.dict=str.dict,params instanceof _primitives.Dict||(params=_primitives.Dict.empty);const source={next:()=>str.getByte()};this.ccittFaxDecoder=new _ccitt.CCITTFaxDecoder(source,{K:params.get("K"),EndOfLine:params.get("EndOfLine"),EncodedByteAlign:params.get("EncodedByteAlign"),Columns:params.get("Columns"),Rows:params.get("Rows"),EndOfBlock:params.get("EndOfBlock"),BlackIs1:params.get("BlackIs1")})}readBlock(){for(;!this.eof;){const c=this.ccittFaxDecoder.readNextChar();if(-1===c)return void(this.eof=!0);this.ensureBuffer(this.bufferLength+1),this.buffer[this.bufferLength++]=c}}}exports.CCITTFaxStream=CCITTFaxStream},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CCITTFaxDecoder=void 0;var _util=__w_pdfjs_require__(2);const twoDimTable=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],whiteTable1=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],whiteTable2=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],blackTable1=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],blackTable2=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],blackTable3=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];exports.CCITTFaxDecoder=class{constructor(source){var _options$EndOfBlock;let code1,options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!source||"function"!=typeof source.next)throw new Error('CCITTFaxDecoder - invalid "source" parameter.');for(this.source=source,this.eof=!1,this.encoding=options.K||0,this.eoline=options.EndOfLine||!1,this.byteAlign=options.EncodedByteAlign||!1,this.columns=options.Columns||1728,this.rows=options.Rows||0,this.eoblock=null===(_options$EndOfBlock=options.EndOfBlock)||void 0===_options$EndOfBlock||_options$EndOfBlock,this.black=options.BlackIs1||!1,this.codingLine=new Uint32Array(this.columns+1),this.refLine=new Uint32Array(this.columns+2),this.codingLine[0]=this.columns,this.codingPos=0,this.row=0,this.nextLine2D=this.encoding<0,this.inputBits=0,this.inputBuf=0,this.outputBits=0,this.rowsDone=!1;0===(code1=this._lookBits(12));)this._eatBits(1);1===code1&&this._eatBits(12),this.encoding>0&&(this.nextLine2D=!this._lookBits(1),this._eatBits(1))}readNextChar(){if(this.eof)return-1;const refLine=this.refLine,codingLine=this.codingLine,columns=this.columns;let refPos,blackPixels,bits,i,c;if(0===this.outputBits){if(this.rowsDone&&(this.eof=!0),this.eof)return-1;let code1,code2,code3;if(this.err=!1,this.nextLine2D){for(i=0;codingLine[i]=64);do{code2+=code3=this._getWhiteCode()}while(code3>=64)}else{do{code1+=code3=this._getWhiteCode()}while(code3>=64);do{code2+=code3=this._getBlackCode()}while(code3>=64)}for(this._addPixels(codingLine[this.codingPos]+code1,blackPixels),codingLine[this.codingPos]0?--refPos:++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]0?--refPos:++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]0?--refPos:++refPos;refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]=64);else do{code1+=code3=this._getWhiteCode()}while(code3>=64);this._addPixels(codingLine[this.codingPos]+code1,blackPixels),blackPixels^=1}let gotEOL=!1;if(this.byteAlign&&(this.inputBits&=-8),this.eoblock||this.row!==this.rows-1){if(code1=this._lookBits(12),this.eoline)for(;-1!==code1&&1!==code1;)this._eatBits(1),code1=this._lookBits(12);else for(;0===code1;)this._eatBits(1),code1=this._lookBits(12);1===code1?(this._eatBits(12),gotEOL=!0):-1===code1&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone&&(this.nextLine2D=!this._lookBits(1),this._eatBits(1)),this.eoblock&&gotEOL&&this.byteAlign){if(code1=this._lookBits(12),1===code1){if(this._eatBits(12),this.encoding>0&&(this._lookBits(1),this._eatBits(1)),this.encoding>=0)for(i=0;i<4;++i)code1=this._lookBits(12),1!==code1&&(0,_util.info)("bad rtc code: "+code1),this._eatBits(12),this.encoding>0&&(this._lookBits(1),this._eatBits(1));this.eof=!0}}else if(this.err&&this.eoline){for(;;){if(code1=this._lookBits(13),-1===code1)return this.eof=!0,-1;if(code1>>1==1)break;this._eatBits(1)}this._eatBits(12),this.encoding>0&&(this._eatBits(1),this.nextLine2D=!(1&code1))}this.outputBits=codingLine[0]>0?codingLine[this.codingPos=0]:codingLine[this.codingPos=1],this.row++}if(this.outputBits>=8)c=1&this.codingPos?0:255,this.outputBits-=8,0===this.outputBits&&codingLine[this.codingPos]bits?(c<<=bits,1&this.codingPos||(c|=255>>8-bits),this.outputBits-=bits,bits=0):(c<<=this.outputBits,1&this.codingPos||(c|=255>>8-this.outputBits),bits-=this.outputBits,this.outputBits=0,codingLine[this.codingPos]0&&(c<<=bits,bits=0))}while(bits)}return this.black&&(c^=255),c}_addPixels(a1,blackPixels){const codingLine=this.codingLine;let codingPos=this.codingPos;a1>codingLine[codingPos]&&(a1>this.columns&&((0,_util.info)("row is wrong length"),this.err=!0,a1=this.columns),1&codingPos^blackPixels&&++codingPos,codingLine[codingPos]=a1),this.codingPos=codingPos}_addPixelsNeg(a1,blackPixels){const codingLine=this.codingLine;let codingPos=this.codingPos;if(a1>codingLine[codingPos])a1>this.columns&&((0,_util.info)("row is wrong length"),this.err=!0,a1=this.columns),1&codingPos^blackPixels&&++codingPos,codingLine[codingPos]=a1;else if(a10&&a1=limitValue){const p=table[code-limitValue];if(p[0]===i)return this._eatBits(i),[!0,p[1],!0]}}return[!1,0,!1]}_getTwoDimCode(){let p,code=0;if(this.eoblock){var _p;if(code=this._lookBits(7),p=twoDimTable[code],(null===(_p=p)||void 0===_p?void 0:_p[0])>0)return this._eatBits(p[0]),p[1]}else{const result=this._findTableCode(1,7,twoDimTable);if(result[0]&&result[2])return result[1]}return(0,_util.info)("Bad two dim code"),-1}_getWhiteCode(){let p,code=0;if(this.eoblock){if(code=this._lookBits(12),-1===code)return 1;if(p=code>>5==0?whiteTable1[code]:whiteTable2[code>>3],p[0]>0)return this._eatBits(p[0]),p[1]}else{let result=this._findTableCode(1,9,whiteTable2);if(result[0])return result[1];if(result=this._findTableCode(11,12,whiteTable1),result[0])return result[1]}return(0,_util.info)("bad white code"),this._eatBits(1),1}_getBlackCode(){let code,p;if(this.eoblock){if(code=this._lookBits(13),-1===code)return 1;if(p=code>>7==0?blackTable1[code]:code>>9==0&&code>>7!=0?blackTable2[(code>>1)-64]:blackTable3[code>>7],p[0]>0)return this._eatBits(p[0]),p[1]}else{let result=this._findTableCode(2,6,blackTable3);if(result[0])return result[1];if(result=this._findTableCode(7,12,blackTable2,64),result[0])return result[1];if(result=this._findTableCode(10,13,blackTable1),result[0])return result[1]}return(0,_util.info)("bad black code"),this._eatBits(1),1}_lookBits(n){let c;for(;this.inputBits>16-n;this.inputBuf=this.inputBuf<<8|c,this.inputBits+=8}return this.inputBuf>>this.inputBits-n&65535>>16-n}_eatBits(n){(this.inputBits-=n)<0&&(this.inputBits=0)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FlateStream=void 0;var _decode_stream=__w_pdfjs_require__(18),_util=__w_pdfjs_require__(2);const codeLenCodeMap=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),lengthDecode=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),distDecode=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),fixedLitCodeTab=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],fixedDistCodeTab=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];class FlateStream extends _decode_stream.DecodeStream{constructor(str,maybeLength){super(maybeLength),this.str=str,this.dict=str.dict;const cmf=str.getByte(),flg=str.getByte();if(-1===cmf||-1===flg)throw new _util.FormatError("Invalid header in flate stream: ".concat(cmf,", ").concat(flg));if(8!=(15&cmf))throw new _util.FormatError("Unknown compression method in flate stream: ".concat(cmf,", ").concat(flg));if(((cmf<<8)+flg)%31!=0)throw new _util.FormatError("Bad FCHECK in flate stream: ".concat(cmf,", ").concat(flg));if(32&flg)throw new _util.FormatError("FDICT bit set in flate stream: ".concat(cmf,", ").concat(flg));this.codeSize=0,this.codeBuf=0}getBits(bits){const str=this.str;let b,codeSize=this.codeSize,codeBuf=this.codeBuf;for(;codeSize>bits,this.codeSize=codeSize-=bits,b}getCode(table){const str=this.str,codes=table[0],maxLen=table[1];let b,codeSize=this.codeSize,codeBuf=this.codeBuf;for(;codeSize>16,codeVal=65535&code;if(codeLen<1||codeSize>codeLen,this.codeSize=codeSize-codeLen,codeVal}generateHuffmanTable(lengths){const n=lengths.length;let i,maxLen=0;for(i=0;imaxLen&&(maxLen=lengths[i]);const size=1<>=1;for(i=code2;i>=1,0===hdr){let b;if(-1===(b=str.getByte()))throw new _util.FormatError("Bad block header in flate stream");let blockLen=b;if(-1===(b=str.getByte()))throw new _util.FormatError("Bad block header in flate stream");if(blockLen|=b<<8,-1===(b=str.getByte()))throw new _util.FormatError("Bad block header in flate stream");let check=b;if(-1===(b=str.getByte()))throw new _util.FormatError("Bad block header in flate stream");if(check|=b<<8,check!==(65535&~blockLen)&&(0!==blockLen||0!==check))throw new _util.FormatError("Bad uncompressed block length in flate stream");this.codeBuf=0,this.codeSize=0;const bufferLength=this.bufferLength,end=bufferLength+blockLen;if(buffer=this.ensureBuffer(end),this.bufferLength=end,0===blockLen)-1===str.peekByte()&&(this.eof=!0);else{const block=str.getBytes(blockLen);buffer.set(block,bufferLength),block.length0;)codeLengths[i++]=what}litCodeTable=this.generateHuffmanTable(codeLengths.subarray(0,numLitCodes)),distCodeTable=this.generateHuffmanTable(codeLengths.subarray(numLitCodes,codes))}}buffer=this.buffer;let limit=buffer?buffer.length:0,pos=this.bufferLength;for(;;){let code1=this.getCode(litCodeTable);if(code1<256){pos+1>=limit&&(buffer=this.ensureBuffer(pos+1),limit=buffer.length),buffer[pos++]=code1;continue}if(256===code1)return void(this.bufferLength=pos);code1-=257,code1=lengthDecode[code1];let code2=code1>>16;code2>0&&(code2=this.getBits(code2)),len=(65535&code1)+code2,code1=this.getCode(distCodeTable),code1=distDecode[code1],code2=code1>>16,code2>0&&(code2=this.getBits(code2));const dist=(65535&code1)+code2;pos+len>=limit&&(buffer=this.ensureBuffer(pos+len),limit=buffer.length);for(let k=0;k{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Jbig2Stream=void 0;var _base_stream=__w_pdfjs_require__(5),_decode_stream=__w_pdfjs_require__(18),_primitives=__w_pdfjs_require__(4),_jbig=__w_pdfjs_require__(24),_util=__w_pdfjs_require__(2);class Jbig2Stream extends _decode_stream.DecodeStream{constructor(stream,maybeLength,params){super(maybeLength),this.stream=stream,this.dict=stream.dict,this.maybeLength=maybeLength,this.params=params}get bytes(){return(0,_util.shadow)(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(requested){}readBlock(){if(this.eof)return;const jbig2Image=new _jbig.Jbig2Image,chunks=[];if(this.params instanceof _primitives.Dict){const globalsStream=this.params.get("JBIG2Globals");if(globalsStream instanceof _base_stream.BaseStream){const globals=globalsStream.getBytes();chunks.push({data:globals,start:0,end:globals.length})}}chunks.push({data:this.bytes,start:0,end:this.bytes.length});const data=jbig2Image.parseChunks(chunks),dataLength=data.length;for(let i=0;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Jbig2Image=void 0;var _util=__w_pdfjs_require__(2),_core_utils=__w_pdfjs_require__(3),_arithmetic_decoder=__w_pdfjs_require__(25),_ccitt=__w_pdfjs_require__(21);class Jbig2Error extends _util.BaseException{constructor(msg){super("JBIG2 error: ".concat(msg),"Jbig2Error")}}class ContextCache{getContexts(id){return id in this?this[id]:this[id]=new Int8Array(65536)}}class DecodingContext{constructor(data,start,end){this.data=data,this.start=start,this.end=end}get decoder(){const decoder=new _arithmetic_decoder.ArithmeticDecoder(this.data,this.start,this.end);return(0,_util.shadow)(this,"decoder",decoder)}get contextCache(){const cache=new ContextCache;return(0,_util.shadow)(this,"contextCache",cache)}}function decodeInteger(contextCache,procedure,decoder){const contexts=contextCache.getContexts(procedure);let prev=1;function readBits(length){let v=0;for(let i=0;i>>0}const sign=readBits(1),value=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);let signedValue;return 0===sign?signedValue=value:value>0&&(signedValue=-value),signedValue>=-2147483648&&signedValue<=2147483647?signedValue:null}function decodeIAID(contextCache,decoder,codeLength){const contexts=contextCache.getContexts("IAID");let prev=1;for(let i=0;i=sbb_left&&j=sbb_top)for(contextLabel=contextLabel<<1&reuseMask,k=0;k=0&&j0=0&&(bit=bitmap[i0][j0],bit&&(contextLabel|=bit<=width?contextLabel<<=1:contextLabel=contextLabel<<1|bitmap[i0][j0];for(k=0;k=referenceHeight||j0<0||j0>=referenceWidth?contextLabel<<=1:contextLabel=contextLabel<<1|referenceBitmap[i0][j0];const pixel=decoder.readBit(contexts,contextLabel);row[j]=pixel}}return bitmap}function decodeTextRegion(huffman,refinement,width,height,defaultPixelValue,numberOfSymbolInstances,stripSize,inputSymbols,symbolCodeLength,transposed,dsOffset,referenceCorner,combinationOperator,huffmanTables,refinementTemplateIndex,refinementAt,decodingContext,logStripSize,huffmanInput){if(huffman&&refinement)throw new Jbig2Error("refinement with Huffman is not supported");const bitmap=[];let i,row;for(i=0;i1&&(currentT=huffman?huffmanInput.readBits(logStripSize):decodeInteger(contextCache,"IAIT",decoder));const t=stripSize*stripT+currentT,symbolId=huffman?huffmanTables.symbolIDTable.decode(huffmanInput):decodeIAID(contextCache,decoder,symbolCodeLength),applyRefinement=refinement&&(huffman?huffmanInput.readBit():decodeInteger(contextCache,"IARI",decoder));let symbolBitmap=inputSymbols[symbolId],symbolWidth=symbolBitmap[0].length,symbolHeight=symbolBitmap.length;if(applyRefinement){const rdw=decodeInteger(contextCache,"IARDW",decoder),rdh=decodeInteger(contextCache,"IARDH",decoder),rdx=decodeInteger(contextCache,"IARDX",decoder),rdy=decodeInteger(contextCache,"IARDY",decoder);symbolWidth+=rdw,symbolHeight+=rdh,symbolBitmap=decodeRefinement(symbolWidth,symbolHeight,refinementTemplateIndex,symbolBitmap,(rdw>>1)+rdx,(rdh>>1)+rdy,!1,refinementAt,decodingContext)}const offsetT=t-(1&referenceCorner?0:symbolHeight-1),offsetS=currentS-(2&referenceCorner?symbolWidth-1:0);let s2,t2,symbolRow;if(transposed){for(s2=0;s2>5&7;const retainBits=[31&referredFlags];let position=start+6;if(7===referredFlags){referredToCount=536870911&(0,_core_utils.readUint32)(data,position-1),position+=3;let bytes=referredToCount+7>>3;for(retainBits[0]=data[position++];--bytes>0;)retainBits.push(data[position++])}else if(5===referredFlags||6===referredFlags)throw new Jbig2Error("invalid referred-to flags");segmentHeader.retainBits=retainBits;let referredToSegmentNumberSize=4;segmentHeader.number<=256?referredToSegmentNumberSize=1:segmentHeader.number<=65536&&(referredToSegmentNumberSize=2);const referredTo=[];let i,ii;for(i=0;i>>24&255,searchPattern[3]=genericRegionInfo.height>>16&255,searchPattern[4]=genericRegionInfo.height>>8&255,searchPattern[5]=255&genericRegionInfo.height,i=position,ii=data.length;i>2&3,dictionary.huffmanDWSelector=dictionaryFlags>>4&3,dictionary.bitmapSizeSelector=dictionaryFlags>>6&1,dictionary.aggregationInstancesSelector=dictionaryFlags>>7&1,dictionary.bitmapCodingContextUsed=!!(256&dictionaryFlags),dictionary.bitmapCodingContextRetained=!!(512&dictionaryFlags),dictionary.template=dictionaryFlags>>10&3,dictionary.refinementTemplate=dictionaryFlags>>12&1,position+=2,!dictionary.huffman){for(atLength=0===dictionary.template?4:1,at=[],i=0;i>2&3,textRegion.stripSize=1<>4&3,textRegion.transposed=!!(64&textRegionSegmentFlags),textRegion.combinationOperator=textRegionSegmentFlags>>7&3,textRegion.defaultPixelValue=textRegionSegmentFlags>>9&1,textRegion.dsOffset=textRegionSegmentFlags<<17>>27,textRegion.refinementTemplate=textRegionSegmentFlags>>15&1,textRegion.huffman){const textRegionHuffmanFlags=(0,_core_utils.readUint16)(data,position);position+=2,textRegion.huffmanFS=3&textRegionHuffmanFlags,textRegion.huffmanDS=textRegionHuffmanFlags>>2&3,textRegion.huffmanDT=textRegionHuffmanFlags>>4&3,textRegion.huffmanRefinementDW=textRegionHuffmanFlags>>6&3,textRegion.huffmanRefinementDH=textRegionHuffmanFlags>>8&3,textRegion.huffmanRefinementDX=textRegionHuffmanFlags>>10&3,textRegion.huffmanRefinementDY=textRegionHuffmanFlags>>12&3,textRegion.huffmanRefinementSizeSelector=!!(16384&textRegionHuffmanFlags)}if(textRegion.refinement&&!textRegion.refinementTemplate){for(at=[],i=0;i<2;i++)at.push({x:(0,_core_utils.readInt8)(data,position),y:(0,_core_utils.readInt8)(data,position+1)}),position+=2;textRegion.refinementAt=at}textRegion.numberOfSymbolInstances=(0,_core_utils.readUint32)(data,position),position+=4,args=[textRegion,header.referredTo,data,position,end];break;case 16:const patternDictionary={},patternDictionaryFlags=data[position++];patternDictionary.mmr=!!(1&patternDictionaryFlags),patternDictionary.template=patternDictionaryFlags>>1&3,patternDictionary.patternWidth=data[position++],patternDictionary.patternHeight=data[position++],patternDictionary.maxPatternIndex=(0,_core_utils.readUint32)(data,position),position+=4,args=[patternDictionary,header.number,data,position,end];break;case 22:case 23:const halftoneRegion={};halftoneRegion.info=readRegionSegmentInformation(data,position),position+=RegionSegmentInformationFieldLength;const halftoneRegionFlags=data[position++];halftoneRegion.mmr=!!(1&halftoneRegionFlags),halftoneRegion.template=halftoneRegionFlags>>1&3,halftoneRegion.enableSkip=!!(8&halftoneRegionFlags),halftoneRegion.combinationOperator=halftoneRegionFlags>>4&7,halftoneRegion.defaultPixelValue=halftoneRegionFlags>>7&1,halftoneRegion.gridWidth=(0,_core_utils.readUint32)(data,position),position+=4,halftoneRegion.gridHeight=(0,_core_utils.readUint32)(data,position),position+=4,halftoneRegion.gridOffsetX=4294967295&(0,_core_utils.readUint32)(data,position),position+=4,halftoneRegion.gridOffsetY=4294967295&(0,_core_utils.readUint32)(data,position),position+=4,halftoneRegion.gridVectorX=(0,_core_utils.readUint16)(data,position),position+=2,halftoneRegion.gridVectorY=(0,_core_utils.readUint16)(data,position),position+=2,args=[halftoneRegion,header.referredTo,data,position,end];break;case 38:case 39:const genericRegion={};genericRegion.info=readRegionSegmentInformation(data,position),position+=RegionSegmentInformationFieldLength;const genericRegionSegmentFlags=data[position++];if(genericRegion.mmr=!!(1&genericRegionSegmentFlags),genericRegion.template=genericRegionSegmentFlags>>1&3,genericRegion.prediction=!!(8&genericRegionSegmentFlags),!genericRegion.mmr){for(atLength=0===genericRegion.template?4:1,at=[],i=0;i>2&1,pageInfo.combinationOperator=pageSegmentFlags>>3&3,pageInfo.requiresBuffer=!!(32&pageSegmentFlags),pageInfo.combinationOperatorOverride=!!(64&pageSegmentFlags),args=[pageInfo];break;case 49:case 50:case 51:case 62:break;case 53:args=[header.number,data,position,end];break;default:throw new Jbig2Error("segment type ".concat(header.typeName,"(").concat(header.type,") is not implemented"))}const callbackName="on"+header.typeName;callbackName in visitor&&visitor[callbackName].apply(visitor,args)}function processSegments(segments,visitor){for(let i=0,ii=segments.length;i>3,buffer=new Uint8ClampedArray(rowSize*info.height);info.defaultPixelValue&&buffer.fill(255),this.buffer=buffer}drawBitmap(regionInfo,bitmap){const pageInfo=this.currentPageInfo,width=regionInfo.width,height=regionInfo.height,rowSize=pageInfo.width+7>>3,combinationOperator=pageInfo.combinationOperatorOverride?regionInfo.combinationOperator:pageInfo.combinationOperator,buffer=this.buffer,mask0=128>>(7®ionInfo.x);let i,j,mask,offset,offset0=regionInfo.y*rowSize+(regionInfo.x>>3);switch(combinationOperator){case 0:for(i=0;i>=1,mask||(mask=128,offset++);offset0+=rowSize}break;case 2:for(i=0;i>=1,mask||(mask=128,offset++);offset0+=rowSize}break;default:throw new Jbig2Error("operator ".concat(combinationOperator," is not supported"))}}onImmediateGenericRegion(region,data,start,end){const regionInfo=region.info,decodingContext=new DecodingContext(data,start,end),bitmap=decodeBitmap(region.mmr,regionInfo.width,regionInfo.height,region.template,region.prediction,null,region.at,decodingContext);this.drawBitmap(regionInfo,bitmap)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion(...arguments)}onSymbolDictionary(dictionary,currentSegment,referredSegments,data,start,end){let huffmanTables,huffmanInput;dictionary.huffman&&(huffmanTables=function(dictionary,referredTo,customTables){let tableDeltaHeight,tableDeltaWidth,tableBitmapSize,tableAggregateInstances,customIndex=0;switch(dictionary.huffmanDHSelector){case 0:case 1:tableDeltaHeight=getStandardTable(dictionary.huffmanDHSelector+4);break;case 3:tableDeltaHeight=getCustomHuffmanTable(customIndex,referredTo,customTables),customIndex++;break;default:throw new Jbig2Error("invalid Huffman DH selector")}switch(dictionary.huffmanDWSelector){case 0:case 1:tableDeltaWidth=getStandardTable(dictionary.huffmanDWSelector+2);break;case 3:tableDeltaWidth=getCustomHuffmanTable(customIndex,referredTo,customTables),customIndex++;break;default:throw new Jbig2Error("invalid Huffman DW selector")}return dictionary.bitmapSizeSelector?(tableBitmapSize=getCustomHuffmanTable(customIndex,referredTo,customTables),customIndex++):tableBitmapSize=getStandardTable(1),tableAggregateInstances=dictionary.aggregationInstancesSelector?getCustomHuffmanTable(customIndex,referredTo,customTables):getStandardTable(1),{tableDeltaHeight:tableDeltaHeight,tableDeltaWidth:tableDeltaWidth,tableBitmapSize:tableBitmapSize,tableAggregateInstances:tableAggregateInstances}}(dictionary,referredSegments,this.customTables),huffmanInput=new Reader(data,start,end));let symbols=this.symbols;symbols||(this.symbols=symbols={});const inputSymbols=[];for(const referredSegment of referredSegments){const referredSymbols=symbols[referredSegment];referredSymbols&&inputSymbols.push(...referredSymbols)}const decodingContext=new DecodingContext(data,start,end);symbols[currentSegment]=function(huffman,refinement,symbols,numberOfNewSymbols,numberOfExportedSymbols,huffmanTables,templateIndex,at,refinementTemplateIndex,refinementAt,decodingContext,huffmanInput){if(huffman&&refinement)throw new Jbig2Error("symbol refinement with Huffman is not supported");const newSymbols=[];let currentHeight=0,symbolCodeLength=(0,_core_utils.log2)(symbols.length+numberOfNewSymbols);const decoder=decodingContext.decoder,contextCache=decodingContext.contextCache;let tableB1,symbolWidths;for(huffman&&(tableB1=getStandardTable(1),symbolWidths=[],symbolCodeLength=Math.max(symbolCodeLength,1));newSymbols.length1)bitmap=decodeTextRegion(huffman,refinement,currentWidth,currentHeight,0,numberOfInstances,1,symbols.concat(newSymbols),symbolCodeLength,0,0,1,0,huffmanTables,refinementTemplateIndex,refinementAt,decodingContext,0,huffmanInput);else{const symbolId=decodeIAID(contextCache,decoder,symbolCodeLength),rdx=decodeInteger(contextCache,"IARDX",decoder),rdy=decodeInteger(contextCache,"IARDY",decoder);bitmap=decodeRefinement(currentWidth,currentHeight,refinementTemplateIndex,symbolId=32){let repeatedLength,numberOfRepeats,j;switch(codeLength){case 32:if(0===i)throw new Jbig2Error("no previous value in symbol ID table");numberOfRepeats=reader.readBits(2)+3,repeatedLength=codes[i-1].prefixLength;break;case 33:numberOfRepeats=reader.readBits(3)+3,repeatedLength=0;break;case 34:numberOfRepeats=reader.readBits(7)+11,repeatedLength=0;break;default:throw new Jbig2Error("invalid code length in symbol ID table")}for(j=0;j=0;i--)bitmap=mmr?decodeMMRBitmap(mmrInput,gridWidth,gridHeight,!0):decodeBitmap(!1,gridWidth,gridHeight,template,!1,null,at,decodingContext),grayScaleBitPlanes[i]=bitmap;for(mg=0;mg=0;j--)bit^=grayScaleBitPlanes[j][mg][ng],patternIndex|=bit<>8,y=gridOffsetY+mg*gridVectorX-ng*gridVectorY>>8,x>=0&&x+patternWidth<=regionWidth&&y>=0&&y+patternHeight<=regionHeight)for(i=0;i=regionHeight))for(regionRow=regionBitmap[regionY],patternRow=patternBitmap[i],j=0;j=0&®ionX>1&7),rangeSizeBits=1+(flags>>4&7),lines=[];let prefixLength,rangeLength,currentRangeLow=lowestValue;do{prefixLength=reader.readBits(prefixSizeBits),rangeLength=reader.readBits(rangeSizeBits),lines.push(new HuffmanLine([currentRangeLow,prefixLength,rangeLength,0])),currentRangeLow+=1<>shift&1;if(shift<=0)this.children[bit]=new HuffmanTreeNode(line);else{let node=this.children[bit];node||(this.children[bit]=node=new HuffmanTreeNode(null)),node.buildTree(line,shift-1)}}decodeNode(reader){if(this.isLeaf){if(this.isOOB)return null;const htOffset=reader.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-htOffset:htOffset)}const node=this.children[reader.readBit()];if(!node)throw new Jbig2Error("invalid Huffman data");return node.decodeNode(reader)}}class HuffmanTable{constructor(lines,prefixCodesDone){prefixCodesDone||this.assignPrefixCodes(lines),this.rootNode=new HuffmanTreeNode(null);for(let i=0,ii=lines.length;i0&&this.rootNode.buildTree(line,line.prefixLength-1)}}decode(reader){return this.rootNode.decodeNode(reader)}assignPrefixCodes(lines){const linesLength=lines.length;let prefixLengthMax=0;for(let i=0;i=this.end)throw new Jbig2Error("end of data while reading bit");this.currentByte=this.data[this.position++],this.shift=7}const bit=this.currentByte>>this.shift&1;return this.shift--,bit}readBits(numBits){let i,result=0;for(i=numBits-1;i>=0;i--)result|=this.readBit()<=this.end?-1:this.data[this.position++]}}function getCustomHuffmanTable(index,referredTo,customTables){let currentIndex=0;for(let i=0,ii=referredTo.length;i>shift&1,shift--}if(endOfBlock&&!eof){const lookForEOFLimit=5;for(let i=0;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArithmeticDecoder=void 0;const QeTable=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];exports.ArithmeticDecoder=class{constructor(data,start,end){this.data=data,this.bp=start,this.dataEnd=end,this.chigh=data[start],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}byteIn(){const data=this.data;let bp=this.bp;255===data[bp]?data[bp+1]>143?(this.clow+=65280,this.ct=8):(bp++,this.clow+=data[bp]<<9,this.ct=7,this.bp=bp):(bp++,this.clow+=bp65535&&(this.chigh+=this.clow>>16,this.clow&=65535)}readBit(contexts,pos){let cx_index=contexts[pos]>>1,cx_mps=1&contexts[pos];const qeTableIcx=QeTable[cx_index],qeIcx=qeTableIcx.qe;let d,a=this.a-qeIcx;if(this.chigh>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0==(32768&a));return this.a=a,contexts[pos]=cx_index<<1|cx_mps,d}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.JpegStream=void 0;var _decode_stream=__w_pdfjs_require__(18),_primitives=__w_pdfjs_require__(4),_jpg=__w_pdfjs_require__(27),_util=__w_pdfjs_require__(2);class JpegStream extends _decode_stream.DecodeStream{constructor(stream,maybeLength,params){let ch;for(;-1!==(ch=stream.getByte());)if(255===ch){stream.skip(-1);break}super(maybeLength),this.stream=stream,this.dict=stream.dict,this.maybeLength=maybeLength,this.params=params}get bytes(){return(0,_util.shadow)(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(requested){}readBlock(){if(this.eof)return;const jpegOptions={decodeTransform:void 0,colorTransform:void 0},decodeArr=this.dict.getArray("D","Decode");if((this.forceRGBA||this.forceRGB)&&Array.isArray(decodeArr)){const bitsPerComponent=this.dict.get("BPC","BitsPerComponent")||8,decodeArrLength=decodeArr.length,transform=new Int32Array(decodeArrLength);let transformNeeded=!1;const maxValue=(1<{Object.defineProperty(exports,"__esModule",{value:!0}),exports.JpegImage=void 0;var _util=__w_pdfjs_require__(2),_image_utils=__w_pdfjs_require__(28),_core_utils=__w_pdfjs_require__(3);class JpegError extends _util.BaseException{constructor(msg){super("JPEG error: ".concat(msg),"JpegError")}}class DNLMarkerError extends _util.BaseException{constructor(message,scanLines){super(message,"DNLMarkerError"),this.scanLines=scanLines}}class EOIMarkerError extends _util.BaseException{constructor(msg){super(msg,"EOIMarkerError")}}const dctZigZag=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);function buildHuffmanTable(codeLengths,values){let i,j,k=0,length=16;for(;length>0&&!codeLengths[length-1];)length--;const code=[{children:[],index:0}];let q,p=code[0];for(i=0;i0;)p=code.pop();for(p.index++,code.push(p);code.length<=i;)code.push(q={children:[],index:0}),p.children[p.index]=q.children,p=q;k++}i+19&&void 0!==arguments[9]&&arguments[9];const mcusPerLine=frame.mcusPerLine,progressive=frame.progressive,startOffset=offset;let bitsData=0,bitsCount=0;function readBit(){if(bitsCount>0)return bitsCount--,bitsData>>bitsCount&1;if(bitsData=data[offset++],255===bitsData){const nextByte=data[offset++];if(nextByte){if(220===nextByte&&parseDNLMarker){offset+=2;const scanLines=(0,_core_utils.readUint16)(data,offset);if(offset+=2,scanLines>0&&scanLines!==frame.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",scanLines)}else if(217===nextByte){if(parseDNLMarker){const maybeScanLines=blockRow*(8===frame.precision?8:0);if(maybeScanLines>0&&Math.round(frame.scanLines/maybeScanLines)>=5)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",maybeScanLines)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new JpegError("unexpected marker ".concat((bitsData<<8|nextByte).toString(16)))}}return bitsCount=7,bitsData>>>7}function decodeHuffman(tree){let node=tree;for(;;){switch(node=node[readBit()],typeof node){case"number":return node;case"object":continue}throw new JpegError("invalid huffman sequence")}}function receive(length){let n=0;for(;length>0;)n=n<<1|readBit(),length--;return n}function receiveAndExtend(length){if(1===length)return 1===readBit()?1:-1;const n=receive(length);return n>=1<>4;if(0===s){if(r<15)break;k+=16;continue}k+=r;const z=dctZigZag[k];component.blockData[blockOffset+z]=receiveAndExtend(s),k++}}function decodeDCFirst(component,blockOffset){const t=decodeHuffman(component.huffmanTableDC),diff=0===t?0:receiveAndExtend(t)<0)return void eobrun--;let k=spectralStart;const e=spectralEnd;for(;k<=e;){const rs=decodeHuffman(component.huffmanTableAC),s=15&rs,r=rs>>4;if(0===s){if(r<15){eobrun=receive(r)+(1<>4,0===s)r<15?(eobrun=receive(r)+(1<0){for(i=0;i0?"unexpected":"excessive";(0,_util.warn)("decodeScan - ".concat(partialMsg," MCU data, current marker is: ").concat(fileMarker.invalid)),offset=fileMarker.offset}if(!(fileMarker.marker>=65488&&fileMarker.marker<=65495))break;offset+=2}return offset-startOffset}function quantizeAndInverse(component,blockBufferOffset,p){const qt=component.quantizationTable,blockData=component.blockData;let v0,v1,v2,v3,v4,v5,v6,v7,p0,p1,p2,p3,p4,p5,p6,p7,t;if(!qt)throw new JpegError("missing required Quantization Table.");for(let row=0;row<64;row+=8)p0=blockData[blockBufferOffset+row],p1=blockData[blockBufferOffset+row+1],p2=blockData[blockBufferOffset+row+2],p3=blockData[blockBufferOffset+row+3],p4=blockData[blockBufferOffset+row+4],p5=blockData[blockBufferOffset+row+5],p6=blockData[blockBufferOffset+row+6],p7=blockData[blockBufferOffset+row+7],p0*=qt[row],0!=(p1|p2|p3|p4|p5|p6|p7)?(p1*=qt[row+1],p2*=qt[row+2],p3*=qt[row+3],p4*=qt[row+4],p5*=qt[row+5],p6*=qt[row+6],p7*=qt[row+7],v0=5793*p0+128>>8,v1=5793*p4+128>>8,v2=p2,v3=p6,v4=2896*(p1-p7)+128>>8,v7=2896*(p1+p7)+128>>8,v5=p3<<4,v6=p5<<4,v0=v0+v1+1>>1,v1=v0-v1,t=3784*v2+1567*v3+128>>8,v2=1567*v2-3784*v3+128>>8,v3=t,v4=v4+v6+1>>1,v6=v4-v6,v7=v7+v5+1>>1,v5=v7-v5,v0=v0+v3+1>>1,v3=v0-v3,v1=v1+v2+1>>1,v2=v1-v2,t=2276*v4+3406*v7+2048>>12,v4=3406*v4-2276*v7+2048>>12,v7=t,t=799*v5+4017*v6+2048>>12,v5=4017*v5-799*v6+2048>>12,v6=t,p[row]=v0+v7,p[row+7]=v0-v7,p[row+1]=v1+v6,p[row+6]=v1-v6,p[row+2]=v2+v5,p[row+5]=v2-v5,p[row+3]=v3+v4,p[row+4]=v3-v4):(t=5793*p0+512>>10,p[row]=t,p[row+1]=t,p[row+2]=t,p[row+3]=t,p[row+4]=t,p[row+5]=t,p[row+6]=t,p[row+7]=t);for(let col=0;col<8;++col)p0=p[col],p1=p[col+8],p2=p[col+16],p3=p[col+24],p4=p[col+32],p5=p[col+40],p6=p[col+48],p7=p[col+56],0!=(p1|p2|p3|p4|p5|p6|p7)?(v0=5793*p0+2048>>12,v1=5793*p4+2048>>12,v2=p2,v3=p6,v4=2896*(p1-p7)+2048>>12,v7=2896*(p1+p7)+2048>>12,v5=p3,v6=p5,v0=4112+(v0+v1+1>>1),v1=v0-v1,t=3784*v2+1567*v3+2048>>12,v2=1567*v2-3784*v3+2048>>12,v3=t,v4=v4+v6+1>>1,v6=v4-v6,v7=v7+v5+1>>1,v5=v7-v5,v0=v0+v3+1>>1,v3=v0-v3,v1=v1+v2+1>>1,v2=v1-v2,t=2276*v4+3406*v7+2048>>12,v4=3406*v4-2276*v7+2048>>12,v7=t,t=799*v5+4017*v6+2048>>12,v5=4017*v5-799*v6+2048>>12,v6=t,p0=v0+v7,p7=v0-v7,p1=v1+v6,p6=v1-v6,p2=v2+v5,p5=v2-v5,p3=v3+v4,p4=v3-v4,p0<16?p0=0:p0>=4080?p0=255:p0>>=4,p1<16?p1=0:p1>=4080?p1=255:p1>>=4,p2<16?p2=0:p2>=4080?p2=255:p2>>=4,p3<16?p3=0:p3>=4080?p3=255:p3>>=4,p4<16?p4=0:p4>=4080?p4=255:p4>>=4,p5<16?p5=0:p5>=4080?p5=255:p5>>=4,p6<16?p6=0:p6>=4080?p6=255:p6>>=4,p7<16?p7=0:p7>=4080?p7=255:p7>>=4,blockData[blockBufferOffset+col]=p0,blockData[blockBufferOffset+col+8]=p1,blockData[blockBufferOffset+col+16]=p2,blockData[blockBufferOffset+col+24]=p3,blockData[blockBufferOffset+col+32]=p4,blockData[blockBufferOffset+col+40]=p5,blockData[blockBufferOffset+col+48]=p6,blockData[blockBufferOffset+col+56]=p7):(t=5793*p0+8192>>14,t=t<-2040?0:t>=2024?255:t+2056>>4,blockData[blockBufferOffset+col]=t,blockData[blockBufferOffset+col+8]=t,blockData[blockBufferOffset+col+16]=t,blockData[blockBufferOffset+col+24]=t,blockData[blockBufferOffset+col+32]=t,blockData[blockBufferOffset+col+40]=t,blockData[blockBufferOffset+col+48]=t,blockData[blockBufferOffset+col+56]=t)}function buildComponentData(frame,component){const blocksPerLine=component.blocksPerLine,blocksPerColumn=component.blocksPerColumn,computationBuffer=new Int16Array(64);for(let blockRow=0;blockRow2&&void 0!==arguments[2]?arguments[2]:currentPos;const maxPos=data.length-1;let newPos=startPos=maxPos)return null;const currentMarker=(0,_core_utils.readUint16)(data,currentPos);if(currentMarker>=65472&¤tMarker<=65534)return{invalid:null,marker:currentMarker,offset:currentPos};let newMarker=(0,_core_utils.readUint16)(data,newPos);for(;!(newMarker>=65472&&newMarker<=65534);){if(++newPos>=maxPos)return null;newMarker=(0,_core_utils.readUint16)(data,newPos)}return{invalid:currentMarker.toString(16),marker:newMarker,offset:newPos}}exports.JpegImage=class{constructor(){let{decodeTransform:decodeTransform=null,colorTransform:colorTransform=-1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._decodeTransform=decodeTransform,this._colorTransform=colorTransform}parse(data){let{dnlScanLines:dnlScanLines=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function readDataBlock(){const length=(0,_core_utils.readUint16)(data,offset);offset+=2;let endOffset=offset+length-2;const fileMarker=findNextFileMarker(data,endOffset,offset);null!=fileMarker&&fileMarker.invalid&&((0,_util.warn)("readDataBlock - incorrect length, current marker is: "+fileMarker.invalid),endOffset=fileMarker.offset);const array=data.subarray(offset,endOffset);return offset+=array.length,array}function prepareComponents(frame){const mcusPerLine=Math.ceil(frame.samplesPerLine/8/frame.maxH),mcusPerColumn=Math.ceil(frame.scanLines/8/frame.maxV);for(const component of frame.components){const blocksPerLine=Math.ceil(Math.ceil(frame.samplesPerLine/8)*component.h/frame.maxH),blocksPerColumn=Math.ceil(Math.ceil(frame.scanLines/8)*component.v/frame.maxV),blocksPerLineForMcu=mcusPerLine*component.h,blocksBufferSize=mcusPerColumn*component.v*64*(blocksPerLineForMcu+1);component.blockData=new Int16Array(blocksBufferSize),component.blocksPerLine=blocksPerLine,component.blocksPerColumn=blocksPerColumn}frame.mcusPerLine=mcusPerLine,frame.mcusPerColumn=mcusPerColumn}let frame,resetInterval,offset=0,jfif=null,adobe=null,numSOSMarkers=0;const quantizationTables=[],huffmanTablesAC=[],huffmanTablesDC=[];let fileMarker=(0,_core_utils.readUint16)(data,offset);if(offset+=2,65496!==fileMarker)throw new JpegError("SOI not found");fileMarker=(0,_core_utils.readUint16)(data,offset),offset+=2;markerLoop:for(;65497!==fileMarker;){let i,j,l;switch(fileMarker){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const appData=readDataBlock();65504===fileMarker&&74===appData[0]&&70===appData[1]&&73===appData[2]&&70===appData[3]&&0===appData[4]&&(jfif={version:{major:appData[5],minor:appData[6]},densityUnits:appData[7],xDensity:appData[8]<<8|appData[9],yDensity:appData[10]<<8|appData[11],thumbWidth:appData[12],thumbHeight:appData[13],thumbData:appData.subarray(14,14+3*appData[12]*appData[13])}),65518===fileMarker&&65===appData[0]&&100===appData[1]&&111===appData[2]&&98===appData[3]&&101===appData[4]&&(adobe={version:appData[5]<<8|appData[6],flags0:appData[7]<<8|appData[8],flags1:appData[9]<<8|appData[10],transformCode:appData[11]});break;case 65499:const quantizationTablesLength=(0,_core_utils.readUint16)(data,offset);offset+=2;const quantizationTablesEnd=quantizationTablesLength+offset-2;let z;for(;offset>4==0)for(j=0;j<64;j++)z=dctZigZag[j],tableData[z]=data[offset++];else{if(quantizationTableSpec>>4!=1)throw new JpegError("DQT - invalid table spec");for(j=0;j<64;j++)z=dctZigZag[j],tableData[z]=(0,_core_utils.readUint16)(data,offset),offset+=2}quantizationTables[15&quantizationTableSpec]=tableData}break;case 65472:case 65473:case 65474:if(frame)throw new JpegError("Only single frame JPEGs supported");offset+=2,frame={},frame.extended=65473===fileMarker,frame.progressive=65474===fileMarker,frame.precision=data[offset++];const sofScanLines=(0,_core_utils.readUint16)(data,offset);offset+=2,frame.scanLines=dnlScanLines||sofScanLines,frame.samplesPerLine=(0,_core_utils.readUint16)(data,offset),offset+=2,frame.components=[],frame.componentIds={};const componentsCount=data[offset++];let maxH=0,maxV=0;for(i=0;i>4,v=15&data[offset+1];maxH>4==0?huffmanTablesDC:huffmanTablesAC)[15&huffmanTableSpec]=buildHuffmanTable(codeLengths,huffmanValues)}break;case 65501:offset+=2,resetInterval=(0,_core_utils.readUint16)(data,offset),offset+=2;break;case 65498:const parseDNLMarker=1==++numSOSMarkers&&!dnlScanLines;offset+=2;const selectorsCount=data[offset++],components=[];for(i=0;i>4],component.huffmanTableAC=huffmanTablesAC[15&tableSpec],components.push(component)}const spectralStart=data[offset++],spectralEnd=data[offset++],successiveApproximation=data[offset++];try{const processed=decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successiveApproximation>>4,15&successiveApproximation,parseDNLMarker);offset+=processed}catch(ex){if(ex instanceof DNLMarkerError)return(0,_util.warn)("".concat(ex.message," -- attempting to re-parse the JPEG image.")),this.parse(data,{dnlScanLines:ex.scanLines});if(ex instanceof EOIMarkerError){(0,_util.warn)("".concat(ex.message," -- ignoring the rest of the image data."));break markerLoop}throw ex}break;case 65500:offset+=4;break;case 65535:255!==data[offset]&&offset--;break;default:const nextFileMarker=findNextFileMarker(data,offset-2,offset-3);if(null!=nextFileMarker&&nextFileMarker.invalid){(0,_util.warn)("JpegImage.parse - unexpected data, current marker is: "+nextFileMarker.invalid),offset=nextFileMarker.offset;break}if(!nextFileMarker||offset>=data.length-1){(0,_util.warn)("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break markerLoop}throw new JpegError("JpegImage.parse - unknown marker: "+fileMarker.toString(16))}fileMarker=(0,_core_utils.readUint16)(data,offset),offset+=2}this.width=frame.samplesPerLine,this.height=frame.scanLines,this.jfif=jfif,this.adobe=adobe,this.components=[];for(const component of frame.components){const quantizationTable=quantizationTables[component.quantizationId];quantizationTable&&(component.quantizationTable=quantizationTable),this.components.push({index:component.index,output:buildComponentData(0,component),scaleX:component.h/frame.maxH,scaleY:component.v/frame.maxV,blocksPerLine:component.blocksPerLine,blocksPerColumn:component.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(width,height){let isSourcePDF=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const scaleX=this.width/width,scaleY=this.height/height;let component,componentScaleX,componentScaleY,blocksPerScanline,x,y,i,j,k,index,output,offset=0;const numComponents=this.components.length,dataLength=width*height*numComponents,data=new Uint8ClampedArray(dataLength),xScaleBlockOffset=new Uint32Array(width);let lastComponentScaleX;for(i=0;i>8)+transform[k+1];return data}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(data){let Y,Cb,Cr;for(let i=0,length=data.length;i4)throw new JpegError("Unsupported color mode");const data=this._getLinearizedBlockData(width,height,isSourcePDF);if(1===this.numComponents&&(forceRGBA||forceRGB)){const len=data.length*(forceRGBA?4:3),rgbaData=new Uint8ClampedArray(len);let offset=0;if(forceRGBA)(0,_image_utils.grayToRGBA)(data,new Uint32Array(rgbaData.buffer));else for(const grayColor of data)rgbaData[offset++]=grayColor,rgbaData[offset++]=grayColor,rgbaData[offset++]=grayColor;return rgbaData}if(3===this.numComponents&&this._isColorConversionNeeded){if(forceRGBA){const rgbaData=new Uint8ClampedArray(data.length/3*4);return this._convertYccToRgba(data,rgbaData)}return this._convertYccToRgb(data)}if(4===this.numComponents){if(this._isColorConversionNeeded)return forceRGBA?this._convertYcckToRgba(data):forceRGB?this._convertYcckToRgb(data):this._convertYcckToCmyk(data);if(forceRGBA)return this._convertCmykToRgba(data);if(forceRGB)return this._convertCmykToRgb(data)}return data}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertBlackAndWhiteToRGBA=convertBlackAndWhiteToRGBA,exports.convertToRGBA=function(params){switch(params.kind){case _util.ImageKind.GRAYSCALE_1BPP:return convertBlackAndWhiteToRGBA(params);case _util.ImageKind.RGB_24BPP:return function(_ref43){let{src:src,srcPos:srcPos=0,dest:dest,destPos:destPos=0,width:width,height:height}=_ref43,i=0;const len32=src.length>>2,src32=new Uint32Array(src.buffer,srcPos,len32);if(_util.FeatureTest.isLittleEndian){for(;i>>24|s2<<8|4278190080,dest[destPos+2]=s2>>>16|s3<<16|4278190080,dest[destPos+3]=s3>>>8|4278190080}for(let j=4*i,jj=src.length;j>>8|255,dest[destPos+2]=s2<<16|s3>>>16|255,dest[destPos+3]=s3<<8|255}for(let j=4*i,jj=src.length;j>3,widthRemainder=7&width,srcLength=src.length;dest=new Uint32Array(dest.buffer);let destPos=0;for(let i=0;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.JpxStream=void 0;var _decode_stream=__w_pdfjs_require__(18),_jpx=__w_pdfjs_require__(30),_util=__w_pdfjs_require__(2);class JpxStream extends _decode_stream.DecodeStream{constructor(stream,maybeLength,params){super(maybeLength),this.stream=stream,this.dict=stream.dict,this.maybeLength=maybeLength,this.params=params}get bytes(){return(0,_util.shadow)(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(requested){}readBlock(){if(this.eof)return;const jpxImage=new _jpx.JpxImage;jpxImage.parse(this.bytes);const width=jpxImage.width,height=jpxImage.height,componentsCount=jpxImage.componentsCount,tileCount=jpxImage.tiles.length;if(1===tileCount)this.buffer=jpxImage.tiles[0].items;else{const data=new Uint8ClampedArray(width*height*componentsCount);for(let k=0;k{Object.defineProperty(exports,"__esModule",{value:!0}),exports.JpxImage=void 0;var _util=__w_pdfjs_require__(2),_core_utils=__w_pdfjs_require__(3),_arithmetic_decoder=__w_pdfjs_require__(25);class JpxError extends _util.BaseException{constructor(msg){super("JPX error: ".concat(msg),"JpxError")}}const SubbandsGainLog2={LL:0,LH:1,HL:1,HH:2};function calculateComponentDimensions(component,siz){component.x0=Math.ceil(siz.XOsiz/component.XRsiz),component.x1=Math.ceil(siz.Xsiz/component.XRsiz),component.y0=Math.ceil(siz.YOsiz/component.YRsiz),component.y1=Math.ceil(siz.Ysiz/component.YRsiz),component.width=component.x1-component.x0,component.height=component.y1-component.y0}function calculateTileGrids(context,components){const siz=context.SIZ,tiles=[];let tile;const numXtiles=Math.ceil((siz.Xsiz-siz.XTOsiz)/siz.XTsiz),numYtiles=Math.ceil((siz.Ysiz-siz.YTOsiz)/siz.YTsiz);for(let q=0;q0?Math.min(codOrCoc.xcb,result.PPx-1):Math.min(codOrCoc.xcb,result.PPx),result.ycb_=r>0?Math.min(codOrCoc.ycb,result.PPy-1):Math.min(codOrCoc.ycb,result.PPy),result}function buildPrecincts(context,resolution,dimensions){const precinctWidth=1<resolution.trx0?Math.ceil(resolution.trx1/precinctWidth)-Math.floor(resolution.trx0/precinctWidth):0,numprecinctshigh=resolution.try1>resolution.try0?Math.ceil(resolution.try1/precinctHeight)-Math.floor(resolution.try0/precinctHeight):0,numprecincts=numprecinctswide*numprecinctshigh;resolution.precinctParameters={precinctWidth:precinctWidth,precinctHeight:precinctHeight,numprecinctswide:numprecinctswide,numprecinctshigh:numprecinctshigh,numprecincts:numprecincts,precinctWidthInSubband:precinctWidthInSubband,precinctHeightInSubband:precinctHeightInSubband}}function buildCodeblocks(context,subband,dimensions){const xcb_=dimensions.xcb_,ycb_=dimensions.ycb_,codeblockWidth=1<>xcb_,cby0=subband.tby0>>ycb_,cbx1=subband.tbx1+codeblockWidth-1>>xcb_,cby1=subband.tby1+codeblockHeight-1>>ycb_,precinctParameters=subband.resolution.precinctParameters,codeblocks=[],precincts=[];let i,j,codeblock,precinctNumber;for(j=cby0;jprecinct.cbxMax&&(precinct.cbxMax=i),jprecinct.cbyMax&&(precinct.cbyMax=j)):precincts[precinctNumber]=precinct={cbxMin:i,cbyMin:j,cbxMax:i,cbyMax:j},codeblock.precinct=precinct}subband.codeblockParameters={codeblockWidth:xcb_,codeblockHeight:ycb_,numcodeblockwide:cbx1-cbx0+1,numcodeblockhigh:cby1-cby0+1},subband.codeblocks=codeblocks,subband.precincts=precincts}function createPacket(resolution,precinctNumber,layerNumber){const precinctCodeblocks=[],subbands=resolution.subbands;for(let i=0,ii=subbands.length;icomponent.codingStyleParameters.decompositionLevelsCount)continue;const resolution=component.resolutions[r],numprecincts=resolution.precinctParameters.numprecincts;for(;kcomponent.codingStyleParameters.decompositionLevelsCount)continue;const resolution=component.resolutions[r],numprecincts=resolution.precinctParameters.numprecincts;for(;kcomponent.codingStyleParameters.decompositionLevelsCount)continue;const resolution=component.resolutions[r],numprecincts=resolution.precinctParameters.numprecincts;if(!(p>=numprecincts)){for(;l=0;--r){const resolution=component.resolutions[r],widthCurrentResolution=scale*resolution.precinctParameters.precinctWidth,heightCurrentResolution=scale*resolution.precinctParameters.precinctHeight;minWidthCurrentComponent=Math.min(minWidthCurrentComponent,widthCurrentResolution),minHeightCurrentComponent=Math.min(minHeightCurrentComponent,heightCurrentResolution),maxNumWideCurrentComponent=Math.max(maxNumWideCurrentComponent,resolution.precinctParameters.numprecinctswide),maxNumHighCurrentComponent=Math.max(maxNumHighCurrentComponent,resolution.precinctParameters.numprecinctshigh),sizePerResolution[r]={width:widthCurrentResolution,height:heightCurrentResolution},scale<<=1}minWidth=Math.min(minWidth,minWidthCurrentComponent),minHeight=Math.min(minHeight,minHeightCurrentComponent),maxNumWide=Math.max(maxNumWide,maxNumWideCurrentComponent),maxNumHigh=Math.max(maxNumHigh,maxNumHighCurrentComponent),sizePerComponent[c]={resolutions:sizePerResolution,minWidth:minWidthCurrentComponent,minHeight:minHeightCurrentComponent,maxNumWide:maxNumWideCurrentComponent,maxNumHigh:maxNumHighCurrentComponent}}return{components:sizePerComponent,minWidth:minWidth,minHeight:minHeight,maxNumWide:maxNumWide,maxNumHigh:maxNumHigh}}function buildPackets(context){const siz=context.SIZ,tileIndex=context.currentTile.index,tile=context.tiles[tileIndex],componentsCount=siz.Csiz;for(let c=0;c>>bufferSize&(1<0;){const packetItem=queue.shift();codeblock=packetItem.codeblock,void 0===codeblock.data&&(codeblock.data=[]),codeblock.data.push({data:data,start:offset+position,end:offset+position+packetItem.dataLength,codingpasses:packetItem.codingpasses}),position+=packetItem.dataLength}}return position}function copyCoefficients(coefficients,levelWidth,levelHeight,subband,delta,mb,reversible,segmentationSymbolUsed,resetContextProbabilities){const x0=subband.tbx0,y0=subband.tby0,width=subband.tbx1-subband.tbx0,codeblocks=subband.codeblocks,right="H"===subband.type.charAt(0)?1:0,bottom="H"===subband.type.charAt(1)?levelWidth:0;for(let i=0,ii=codeblocks.length;i=mb?n:n*(1<0?1-i:0));const subband=resolution.subbands[j],gainLog2=SubbandsGainLog2[subband.type];copyCoefficients(coefficients,width,0,subband,reversible?1:2**(precision+gainLog2-epsilon)*(1+mu/2048),guardBits+epsilon-1,reversible,segmentationSymbolUsed,resetContextProbabilities)}subbandCoefficients.push({width:width,height:height,items:coefficients})}const result=transform.calculate(subbandCoefficients,component.tcx0,component.tcy0);return{left:component.tcx0,top:component.tcy0,width:result.width,height:result.height,items:result.items}}function initializeTile(context,tileIndex){const componentsCount=context.SIZ.Csiz,tile=context.tiles[tileIndex];for(let c=0;c>24&255,tbox>>16&255,tbox>>8&255,255&tbox);(0,_util.warn)("Unsupported header type ".concat(tbox," (").concat(headerType,")."))}jumpDataLength&&(position+=dataLength)}}parseImageProperties(stream){let newByte=stream.getByte();for(;newByte>=0;){const oldByte=newByte;if(newByte=stream.getByte(),65361==(oldByte<<8|newByte)){stream.skip(4);const Xsiz=stream.getInt32()>>>0,Ysiz=stream.getInt32()>>>0,XOsiz=stream.getInt32()>>>0,YOsiz=stream.getInt32()>>>0;stream.skip(16);const Csiz=stream.getUint16();return this.width=Xsiz-XOsiz,this.height=Ysiz-YOsiz,this.componentsCount=Csiz,void(this.bitsPerComponent=8)}}throw new JpxError("No size marker found in JPX stream")}parseCodestream(data,start,end){const context={};let doNotRecover=!1;try{let position=start;for(;position+1>5,spqcds=[];j>3,spqcd.mu=0):(spqcd.epsilon=data[j]>>3,spqcd.mu=(7&data[j])<<8|data[j+1],j+=2),spqcds.push(spqcd)}qcd.SPqcds=spqcds,context.mainHeader?context.QCD=qcd:(context.currentTile.QCD=qcd,context.currentTile.QCC=[]);break;case 65373:length=(0,_core_utils.readUint16)(data,position);const qcc={};let cqcc;switch(j=position+2,context.SIZ.Csiz<257?cqcc=data[j++]:(cqcc=(0,_core_utils.readUint16)(data,j),j+=2),sqcd=data[j++],31&sqcd){case 0:spqcdSize=8,scalarExpounded=!0;break;case 1:spqcdSize=16,scalarExpounded=!1;break;case 2:spqcdSize=16,scalarExpounded=!0;break;default:throw new Error("Invalid SQcd value "+sqcd)}for(qcc.noQuantization=8===spqcdSize,qcc.scalarExpounded=scalarExpounded,qcc.guardBits=sqcd>>5,spqcds=[];j>3,spqcd.mu=0):(spqcd.epsilon=data[j]>>3,spqcd.mu=(7&data[j])<<8|data[j+1],j+=2),spqcds.push(spqcd)}qcc.SPqcds=spqcds,context.mainHeader?context.QCC[cqcc]=qcc:context.currentTile.QCC[cqcc]=qcc;break;case 65362:length=(0,_core_utils.readUint16)(data,position);const cod={};j=position+2;const scod=data[j++];cod.entropyCoderWithCustomPrecincts=!!(1&scod),cod.sopMarkerUsed=!!(2&scod),cod.ephMarkerUsed=!!(4&scod),cod.progressionOrder=data[j++],cod.layersCount=(0,_core_utils.readUint16)(data,j),j+=2,cod.multipleComponentTransform=data[j++],cod.decompositionLevelsCount=data[j++],cod.xcb=2+(15&data[j++]),cod.ycb=2+(15&data[j++]);const blockStyle=data[j++];if(cod.selectiveArithmeticCodingBypass=!!(1&blockStyle),cod.resetContextProbabilities=!!(2&blockStyle),cod.terminationOnEachCodingPass=!!(4&blockStyle),cod.verticallyStripe=!!(8&blockStyle),cod.predictableTermination=!!(16&blockStyle),cod.segmentationSymbolUsed=!!(32&blockStyle),cod.reversibleTransformation=data[j++],cod.entropyCoderWithCustomPrecincts){const precinctsSizes=[];for(;j>4})}cod.precinctsSizes=precinctsSizes}const unsupported=[];cod.selectiveArithmeticCodingBypass&&unsupported.push("selectiveArithmeticCodingBypass"),cod.terminationOnEachCodingPass&&unsupported.push("terminationOnEachCodingPass"),cod.verticallyStripe&&unsupported.push("verticallyStripe"),cod.predictableTermination&&unsupported.push("predictableTermination"),unsupported.length>0&&(doNotRecover=!0,(0,_util.warn)("JPX: Unsupported COD options (".concat(unsupported.join(", "),")."))),context.mainHeader?context.COD=cod:(context.currentTile.COD=cod,context.currentTile.COC=[]);break;case 65424:length=(0,_core_utils.readUint16)(data,position),tile={},tile.index=(0,_core_utils.readUint16)(data,position+2),tile.length=(0,_core_utils.readUint32)(data,position+4),tile.dataEnd=tile.length+position-2,tile.partIndex=data[position+8],tile.partsCount=data[position+9],context.mainHeader=!1,0===tile.partIndex&&(tile.COD=context.COD,tile.COC=context.COC.slice(0),tile.QCD=context.QCD,tile.QCC=context.QCC.slice(0)),context.currentTile=tile;break;case 65427:tile=context.currentTile,0===tile.partIndex&&(initializeTile(context,tile.index),buildPackets(context)),length=tile.dataEnd-position,parseTilePackets(context,data,position,length);break;case 65363:(0,_util.warn)("JPX: Codestream code 0xFF53 (COC) is not implemented.");case 65365:case 65367:case 65368:case 65380:length=(0,_core_utils.readUint16)(data,position);break;default:throw new Error("Unknown codestream code: "+code.toString(16))}position+=length}}catch(e){if(doNotRecover||this.failOnCorruptedImage)throw new JpxError(e.message);(0,_util.warn)('JPX: Trying to recover from: "'.concat(e.message,'".'))}this.tiles=function(context){const siz=context.SIZ,components=context.components,componentsCount=siz.Csiz,resultImages=[];for(let i=0,ii=context.tiles.length;i>2);out[pos++]=g+y2>>shift,out[pos++]=g>>shift,out[pos++]=g+y1>>shift}else for(j=0;j>shift,out[pos++]=y0-.34413*y1-.71414*y2>>shift,out[pos++]=y0+1.772*y1>>shift;if(fourComponents)for(j=0,pos=3;j>shift}else for(let c=0;c>shift,pos+=componentsCount}resultImages.push(result)}return resultImages}(context),this.width=context.SIZ.Xsiz-context.SIZ.XOsiz,this.height=context.SIZ.Ysiz-context.SIZ.YOsiz,this.componentsCount=context.SIZ.Csiz}};class TagTree{constructor(width,height){const levelsLength=(0,_core_utils.log2)(Math.max(width,height))+1;this.levels=[];for(let i=0;i>=1,j>>=1,currentLevel++}currentLevel--,level=this.levels[currentLevel],level.items[level.index]=value,this.currentLevel=currentLevel,delete this.value}incrementValue(){const level=this.levels[this.currentLevel];level.items[level.index]++}nextLevel(){let currentLevel=this.currentLevel,level=this.levels[currentLevel];const value=level.items[level.index];return currentLevel--,currentLevel<0?(this.value=value,!1):(this.currentLevel=currentLevel,level=this.levels[currentLevel],level.items[level.index]=value,!0)}}class InclusionTree{constructor(width,height,defaultValue){const levelsLength=(0,_core_utils.log2)(Math.max(width,height))+1;this.levels=[];for(let i=0;istopValue)return this.currentLevel=currentLevel,this.propagateValues(),!1;i>>=1,j>>=1,currentLevel++}return this.currentLevel=currentLevel-1,!0}incrementValue(stopValue){const level=this.levels[this.currentLevel];level.items[level.index]=stopValue+1,this.propagateValues()}propagateValues(){let levelIndex=this.currentLevel,level=this.levels[levelIndex];const currentValue=level.items[level.index];for(;--levelIndex>=0;)level=this.levels[levelIndex],level.items[level.index]=currentValue}nextLevel(){let currentLevel=this.currentLevel,level=this.levels[currentLevel];const value=level.items[level.index];return level.items[level.index]=255,currentLevel--,!(currentLevel<0||(this.currentLevel=currentLevel,level=this.levels[currentLevel],level.items[level.index]=value,0))}}class BitModel{constructor(width,height,subband,zeroBitPlanes,mb){let contextLabelTable;this.width=width,this.height=height,contextLabelTable="HH"===subband?BitModel.HHContextLabel:"HL"===subband?BitModel.HLContextLabel:BitModel.LLAndLHContextsLabel,this.contextLabelTable=contextLabelTable;const coefficientCount=width*height;let coefficentsMagnitude;this.neighborsSignificance=new Uint8Array(coefficientCount),this.coefficentsSign=new Uint8Array(coefficientCount),coefficentsMagnitude=mb>14?new Uint32Array(coefficientCount):mb>6?new Uint16Array(coefficientCount):new Uint8Array(coefficientCount),this.coefficentsMagnitude=coefficentsMagnitude,this.processingFlags=new Uint8Array(coefficientCount);const bitsDecoded=new Uint8Array(coefficientCount);if(0!==zeroBitPlanes)for(let i=0;i0,right=column+10&&(i=index-width,left&&(neighborsSignificance[i-1]+=16),right&&(neighborsSignificance[i+1]+=16),neighborsSignificance[i]+=4),row+1=height)break;if(processingFlags[index]&=-2,coefficentsMagnitude[index]||!neighborsSignificance[index])continue;const contextLabel=labels[neighborsSignificance[index]];if(decoder.readBit(contexts,contextLabel)){const sign=this.decodeSignBit(i,j,index);coefficentsSign[index]=sign,coefficentsMagnitude[index]=1,this.setNeighborsSignificance(i,j,index),processingFlags[index]|=2}bitsDecoded[index]++,processingFlags[index]|=1}}}decodeSignBit(row,column,index){const width=this.width,height=this.height,coefficentsMagnitude=this.coefficentsMagnitude,coefficentsSign=this.coefficentsSign;let contribution,sign0,sign1,significance1,contextLabel,decoded;significance1=column>0&&0!==coefficentsMagnitude[index-1],column+10&&0!==coefficentsMagnitude[index-width],row+1=0?(contextLabel=9+contribution,decoded=this.decoder.readBit(this.contexts,contextLabel)):(contextLabel=9-contribution,decoded=1^this.decoder.readBit(this.contexts,contextLabel)),decoded}runMagnitudeRefinementPass(){const decoder=this.decoder,width=this.width,height=this.height,coefficentsMagnitude=this.coefficentsMagnitude,neighborsSignificance=this.neighborsSignificance,contexts=this.contexts,bitsDecoded=this.bitsDecoded,processingFlags=this.processingFlags,length=width*height,width4=4*width;for(let indexNext,index0=0;index0>1;let j,n,current,next;const alpha=-1.586134342059924,beta=-.052980118572961,gamma=.882911075530934,delta=.443506852043971,K=1.230174104914001;for(j=(offset|=0)-3,n=len+4;n--;j+=2)x[j]*=.8128930661159609;for(j=offset-2,current=delta*x[j-1],n=len+3;n--&&(next=delta*x[j+1],x[j]=K*x[j]-current-next,n--);j+=2)j+=2,current=delta*x[j+1],x[j]=K*x[j]-current-next;for(j=offset-1,current=gamma*x[j-1],n=len+2;n--&&(next=gamma*x[j+1],x[j]-=current+next,n--);j+=2)j+=2,current=gamma*x[j+1],x[j]-=current+next;for(j=offset,current=beta*x[j-1],n=len+1;n--&&(next=beta*x[j+1],x[j]-=current+next,n--);j+=2)j+=2,current=beta*x[j+1],x[j]-=current+next;if(0!==len)for(j=offset+1,current=alpha*x[j-1],n=len;n--&&(next=alpha*x[j+1],x[j]-=current+next,n--);j+=2)j+=2,current=alpha*x[j+1],x[j]-=current+next}}class ReversibleTransform extends Transform{filter(x,offset,length){const len=length>>1;let j,n;for(j=offset|=0,n=len+1;n--;j+=2)x[j]-=x[j-1]+x[j+1]+2>>2;for(j=offset+1,n=len;n--;j+=2)x[j]+=x[j-1]+x[j+1]>>1}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.LZWStream=void 0;var _decode_stream=__w_pdfjs_require__(18);class LZWStream extends _decode_stream.DecodeStream{constructor(str,maybeLength,earlyChange){super(maybeLength),this.str=str,this.dict=str.dict,this.cachedData=0,this.bitsCached=0;const lzwState={earlyChange:earlyChange,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(4096),dictionaryLengths:new Uint16Array(4096),dictionaryPrevCodes:new Uint16Array(4096),currentSequence:new Uint8Array(4096),currentSequenceLength:0};for(let i=0;i<256;++i)lzwState.dictionaryValues[i]=i,lzwState.dictionaryLengths[i]=1;this.lzwState=lzwState}readBits(n){let bitsCached=this.bitsCached,cachedData=this.cachedData;for(;bitsCached>>bitsCached&(1<0;if(code<256)currentSequence[0]=code,currentSequenceLength=1;else{if(!(code>=258)){if(256===code){codeLength=9,nextCode=258,currentSequenceLength=0;continue}this.eof=!0,delete this.lzwState;break}if(code=0;j--)currentSequence[j]=dictionaryValues[q],q=dictionaryPrevCodes[q];else currentSequence[currentSequenceLength++]=currentSequence[0]}if(hasPrev&&(dictionaryPrevCodes[nextCode]=prevCode,dictionaryLengths[nextCode]=dictionaryLengths[prevCode]+1,dictionaryValues[nextCode]=currentSequence[0],nextCode++,codeLength=nextCode+earlyChange&nextCode+earlyChange-1?codeLength:0|Math.min(Math.log(nextCode+earlyChange)/.6931471805599453+1,12)),prevCode=code,decodedLength+=currentSequenceLength,estimatedDecodedSize{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PredictorStream=void 0;var _decode_stream=__w_pdfjs_require__(18),_primitives=__w_pdfjs_require__(4),_util=__w_pdfjs_require__(2);class PredictorStream extends _decode_stream.DecodeStream{constructor(str,maybeLength,params){if(super(maybeLength),!(params instanceof _primitives.Dict))return str;const predictor=this.predictor=params.get("Predictor")||1;if(predictor<=1)return str;if(2!==predictor&&(predictor<10||predictor>15))throw new _util.FormatError("Unsupported predictor: ".concat(predictor));this.readBlock=2===predictor?this.readBlockTiff:this.readBlockPng,this.str=str,this.dict=str.dict;const colors=this.colors=params.get("Colors")||1,bits=this.bits=params.get("BPC","BitsPerComponent")||8,columns=this.columns=params.get("Columns")||1;return this.pixBytes=colors*bits+7>>3,this.rowBytes=columns*colors*bits+7>>3,this}readBlockTiff(){const rowBytes=this.rowBytes,bufferLength=this.bufferLength,buffer=this.ensureBuffer(bufferLength+rowBytes),bits=this.bits,colors=this.colors,rawBytes=this.str.getBytes(rowBytes);if(this.eof=!rawBytes.length,this.eof)return;let i,inbuf=0,outbuf=0,inbits=0,outbits=0,pos=bufferLength;if(1===bits&&1===colors)for(i=0;i>1,c^=c>>2,c^=c>>4,inbuf=(1&c)<<7,buffer[pos++]=c}else if(8===bits){for(i=0;i>8&255,buffer[pos++]=255&sum}}else{const compArray=new Uint8Array(colors+1),bitMask=(1<>inbits-bits)&bitMask,inbits-=bits,outbuf=outbuf<=8&&(buffer[k++]=outbuf>>outbits-8&255,outbits-=8);outbits>0&&(buffer[k++]=(outbuf<<8-outbits)+(inbuf&(1<<8-outbits)-1))}this.bufferLength+=rowBytes}readBlockPng(){const rowBytes=this.rowBytes,pixBytes=this.pixBytes,predictor=this.str.getByte(),rawBytes=this.str.getBytes(rowBytes);if(this.eof=!rawBytes.length,this.eof)return;const bufferLength=this.bufferLength,buffer=this.ensureBuffer(bufferLength+rowBytes);let prevRow=buffer.subarray(bufferLength-rowBytes,bufferLength);0===prevRow.length&&(prevRow=new Uint8Array(rowBytes));let i,up,c,j=bufferLength;switch(predictor){case 0:for(i=0;i>1)+rawBytes[i];for(;i>1)+rawBytes[i]&255,j++;break;case 4:for(i=0;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.RunLengthStream=void 0;var _decode_stream=__w_pdfjs_require__(18);class RunLengthStream extends _decode_stream.DecodeStream{constructor(str,maybeLength){super(maybeLength),this.str=str,this.dict=str.dict}readBlock(){const repeatHeader=this.str.getBytes(2);if(!repeatHeader||repeatHeader.length<2||128===repeatHeader[0])return void(this.eof=!0);let buffer,bufferLength=this.bufferLength,n=repeatHeader[0];if(n<128){if(buffer=this.ensureBuffer(bufferLength+n+1),buffer[bufferLength++]=repeatHeader[1],n>0){const source=this.str.getBytes(n);buffer.set(source,bufferLength),bufferLength+=n}}else{n=257-n;const b=repeatHeader[1];buffer=this.ensureBuffer(bufferLength+n+1);for(let i=0;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Font=exports.ErrorFont=void 0;var _util=__w_pdfjs_require__(2),_cff_parser=__w_pdfjs_require__(35),_fonts_utils=__w_pdfjs_require__(38),_unicode=__w_pdfjs_require__(40),_glyphlist=__w_pdfjs_require__(39),_encodings=__w_pdfjs_require__(37),_standard_fonts=__w_pdfjs_require__(41),_to_unicode_map=__w_pdfjs_require__(42),_cff_font=__w_pdfjs_require__(43),_font_renderer=__w_pdfjs_require__(44),_metrics=__w_pdfjs_require__(45),_glyf=__w_pdfjs_require__(46),_cmap=__w_pdfjs_require__(14),_opentype_file_builder=__w_pdfjs_require__(47),_core_utils=__w_pdfjs_require__(3),_stream=__w_pdfjs_require__(8),_type1_font=__w_pdfjs_require__(48);const PRIVATE_USE_AREAS=[[57344,63743],[1048576,1114109]],EXPORT_DATA_PROPERTIES=["ascent","bbox","black","bold","charProcOperatorList","composite","cssFontInfo","data","defaultVMetrics","defaultWidth","descent","fallbackName","fontMatrix","isInvalidPDFjsFont","isType3Font","italic","loadedName","mimetype","missingFile","name","remeasure","subtype","systemFontInfo","type","vertical"],EXPORT_DATA_EXTRA_PROPERTIES=["cMap","defaultEncoding","differences","isMonospace","isSerifFont","isSymbolicFont","seacMap","toFontChar","toUnicode","vmetrics","widths"];function adjustWidths(properties){if(!properties.fontMatrix)return;if(properties.fontMatrix[0]===_util.FONT_IDENTITY_MATRIX[0])return;const scale=.001/properties.fontMatrix[0],glyphsWidths=properties.widths;for(const glyph in glyphsWidths)glyphsWidths[glyph]*=scale;properties.defaultWidth*=scale}function amendFallbackToUnicode(properties){if(!properties.fallbackToUnicode)return;if(properties.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap)return;const toUnicode=[];for(const charCode in properties.fallbackToUnicode)properties.toUnicode.has(charCode)||(toUnicode[charCode]=properties.fallbackToUnicode[charCode]);toUnicode.length>0&&properties.toUnicode.amend(toUnicode)}class Glyph{constructor(originalCharCode,fontChar,unicode,accent,width,vmetric,operatorListId,isSpace,isInFont){this.originalCharCode=originalCharCode,this.fontChar=fontChar,this.unicode=unicode,this.accent=accent,this.width=width,this.vmetric=vmetric,this.operatorListId=operatorListId,this.isSpace=isSpace,this.isInFont=isInFont}get category(){return(0,_util.shadow)(this,"category",(0,_unicode.getCharUnicodeCategory)(this.unicode),!0)}}function int16(b0,b1){return(b0<<8)+b1}function writeSignedInt16(bytes,index,value){bytes[index+1]=value,bytes[index]=value>>>8}function signedInt16(b0,b1){const value=(b0<<8)+b1;return 32768&value?value-65536:value}function string16(value){return String.fromCharCode(value>>8&255,255&value)}function safeString16(value){return value>32767?value=32767:value<-32768&&(value=-32768),String.fromCharCode(value>>8&255,255&value)}function isTrueTypeCollectionFile(file){const header=file.peekBytes(4);return"ttcf"===(0,_util.bytesToString)(header)}function getFontFileType(file,_ref44){let fileType,fileSubtype,{type:type,subtype:subtype,composite:composite}=_ref44;return function(file){const header=file.peekBytes(4);return 65536===(0,_core_utils.readUint32)(header,0)||"true"===(0,_util.bytesToString)(header)}(file)||isTrueTypeCollectionFile(file)?fileType=composite?"CIDFontType2":"TrueType":function(file){const header=file.peekBytes(4);return"OTTO"===(0,_util.bytesToString)(header)}(file)?fileType=composite?"CIDFontType2":"OpenType":function(file){const header=file.peekBytes(2);return 37===header[0]&&33===header[1]||128===header[0]&&1===header[1]}(file)?fileType=composite?"CIDFontType0":"MMType1"===type?"MMType1":"Type1":function(file){const header=file.peekBytes(4);return header[0]>=1&&header[3]>=1&&header[3]<=4}(file)?composite?(fileType="CIDFontType0",fileSubtype="CIDFontType0C"):(fileType="MMType1"===type?"MMType1":"Type1",fileSubtype="Type1C"):((0,_util.warn)("getFontFileType: Unable to detect correct font file Type/Subtype."),fileType=type,fileSubtype=subtype),[fileType,fileSubtype]}function applyStandardFontGlyphMap(map,glyphMap){for(const charCode in glyphMap)map[+charCode]=glyphMap[charCode]}function buildToFontChar(encoding,glyphsUnicodeMap,differences){const toFontChar=[];let unicode;for(let i=0,ii=encoding.length;i2&&void 0!==arguments[2]&&arguments[2];switch(cid.length){case 1:return cid.charCodeAt(0);case 2:return cid.charCodeAt(0)<<8|cid.charCodeAt(1)}const msg="Unsupported CID string (charCode ".concat(charCode,'): "').concat(cid,'".');if(shouldThrow)throw new _util.FormatError(msg);return(0,_util.warn)(msg),cid}function adjustMapping(charCodeToGlyphId,hasGlyph,newGlyphZeroId,toUnicode){const newMap=Object.create(null),toUnicodeExtraMap=new Map,toFontChar=[],usedGlyphIds=new Set;let privateUseAreaIndex=0,nextAvailableFontCharCode=PRIVATE_USE_AREAS[privateUseAreaIndex][0],privateUseOffetEnd=PRIVATE_USE_AREAS[privateUseAreaIndex][1];for(let originalCharCode in charCodeToGlyphId){originalCharCode|=0;let glyphId=charCodeToGlyphId[originalCharCode];if(!hasGlyph(glyphId))continue;if(nextAvailableFontCharCode>privateUseOffetEnd){if(privateUseAreaIndex++,privateUseAreaIndex>=PRIVATE_USE_AREAS.length){(0,_util.warn)("Ran out of space in font private use area.");break}nextAvailableFontCharCode=PRIVATE_USE_AREAS[privateUseAreaIndex][0],privateUseOffetEnd=PRIVATE_USE_AREAS[privateUseAreaIndex][1]}const fontCharCode=nextAvailableFontCharCode++;0===glyphId&&(glyphId=newGlyphZeroId);let unicode=toUnicode.get(originalCharCode);"string"==typeof unicode&&(unicode=unicode.codePointAt(0)),!unicode||(code=unicode,PRIVATE_USE_AREAS[0][0]<=code&&code<=PRIVATE_USE_AREAS[0][1]||PRIVATE_USE_AREAS[1][0]<=code&&code<=PRIVATE_USE_AREAS[1][1])||usedGlyphIds.has(glyphId)||(toUnicodeExtraMap.set(unicode,glyphId),usedGlyphIds.add(glyphId)),newMap[fontCharCode]=glyphId,toFontChar[originalCharCode]=fontCharCode}var code;return{toFontChar:toFontChar,charCodeToGlyphId:newMap,toUnicodeExtraMap:toUnicodeExtraMap,nextAvailableFontCharCode:nextAvailableFontCharCode}}function createCmapTable(glyphs,toUnicodeExtraMap,numGlyphs){const ranges=function(glyphs,toUnicodeExtraMap,numGlyphs){const codes=[];for(const charCode in glyphs)glyphs[charCode]>=numGlyphs||codes.push({fontCharCode:0|charCode,glyphId:glyphs[charCode]});if(toUnicodeExtraMap)for(const[unicode,glyphId]of toUnicodeExtraMap)glyphId>=numGlyphs||codes.push({fontCharCode:unicode,glyphId:glyphId});0===codes.length&&codes.push({fontCharCode:0,glyphId:0}),codes.sort((function(a,b){return a.fontCharCode-b.fontCharCode}));const ranges=[],length=codes.length;for(let n=0;n65535?2:1;let i,ii,j,jj,cmap="\0\0"+string16(numTables)+"\0\0"+(0,_util.string32)(4+8*numTables);for(i=ranges.length-1;i>=0&&!(ranges[i][0]<=65535);--i);const bmpLength=i+1;ranges[i][0]<65535&&65535===ranges[i][1]&&(ranges[i][1]=65534);const trailingRangesCount=ranges[i][1]<65535?1:0,segCount=bmpLength+trailingRangesCount,searchParams=_opentype_file_builder.OpenTypeFileBuilder.getSearchParams(segCount,2);let range,start,end,codes,startCount="",endCount="",idDeltas="",idRangeOffsets="",glyphsIds="",bias=0;for(i=0,ii=bmpLength;i0&&(endCount+="ÿÿ",startCount+="ÿÿ",idDeltas+="\0",idRangeOffsets+="\0\0");const format314="\0\0"+string16(2*segCount)+string16(searchParams.range)+string16(searchParams.entry)+string16(searchParams.rangeShift)+endCount+"\0\0"+startCount+idDeltas+idRangeOffsets+glyphsIds;let format31012="",header31012="";if(numTables>1){for(cmap+="\0\0\n"+(0,_util.string32)(4+8*numTables+4+format314.length),format31012="",i=0,ii=ranges.length;icode||!firstCharIndex)&&(firstCharIndex=code),lastCharIndex 123 are reserved for internal usage");ulUnicodeRange4|=1<65535&&(lastCharIndex=65535)}else firstCharIndex=0,lastCharIndex=255;const bbox=properties.bbox||[0,0,0,0],unitsPerEm=override.unitsPerEm||1/(properties.fontMatrix||_util.FONT_IDENTITY_MATRIX)[0],scale=properties.ascentScaled?1:unitsPerEm/1e3,typoAscent=override.ascent||Math.round(scale*(properties.ascent||bbox[3]));let typoDescent=override.descent||Math.round(scale*(properties.descent||bbox[1]));typoDescent>0&&properties.descent>0&&bbox[1]<0&&(typoDescent=-typoDescent);const winAscent=override.yMax||typoAscent,winDescent=-override.yMin||-typoDescent;return"\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0"+String.fromCharCode(properties.fixedPitch?9:0)+"\0\0\0\0\0\0"+(0,_util.string32)(ulUnicodeRange1)+(0,_util.string32)(ulUnicodeRange2)+(0,_util.string32)(ulUnicodeRange3)+(0,_util.string32)(ulUnicodeRange4)+"*21*"+string16(properties.italicAngle?1:0)+string16(firstCharIndex||properties.firstChar)+string16(lastCharIndex||properties.lastChar)+string16(typoAscent)+string16(typoDescent)+"\0d"+string16(winAscent)+string16(winDescent)+"\0\0\0\0\0\0\0\0"+string16(properties.xHeight)+string16(properties.capHeight)+string16(0)+string16(firstCharIndex||properties.firstChar)+"\0"}function createPostTable(properties){const angle=Math.floor(65536*properties.italicAngle);return"\0\0\0"+(0,_util.string32)(angle)+"\0\0\0\0"+(0,_util.string32)(properties.fixedPitch?1:0)+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}function createPostscriptName(name){return name.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function createNameTable(name,proto){proto||(proto=[[],[]]);const strings=[proto[0][0]||"Original licence",proto[0][1]||name,proto[0][2]||"Unknown",proto[0][3]||"uniqueID",proto[0][4]||name,proto[0][5]||"Version 0.11",proto[0][6]||createPostscriptName(name),proto[0][7]||"Unknown",proto[0][8]||"Unknown",proto[0][9]||"Unknown"],stringsUnicode=[];let i,ii,j,jj,str;for(i=0,ii=strings.length;i0&&void 0!==arguments[0]&&arguments[0]?[...EXPORT_DATA_PROPERTIES,...EXPORT_DATA_EXTRA_PROPERTIES]:EXPORT_DATA_PROPERTIES,data=Object.create(null);let property,value;for(property of exportDataProperties)value=this[property],void 0!==value&&(data[property]=value);return data}fallbackToSystemFont(properties){this.missingFile=!0;const{name:name,type:type}=this;let fontName=(0,_fonts_utils.normalizeFontName)(name);const stdFontMap=(0,_standard_fonts.getStdFontMap)(),nonStdFontMap=(0,_standard_fonts.getNonStdFontMap)(),isStandardFont=!!stdFontMap[fontName],isMappedToStandardFont=!(!nonStdFontMap[fontName]||!stdFontMap[nonStdFontMap[fontName]]);fontName=stdFontMap[fontName]||nonStdFontMap[fontName]||fontName;const metrics=(0,_metrics.getFontBasicMetrics)()[fontName];metrics&&(isNaN(this.ascent)&&(this.ascent=metrics.ascent/1e3),isNaN(this.descent)&&(this.descent=metrics.descent/1e3),isNaN(this.capHeight)&&(this.capHeight=metrics.capHeight/1e3)),this.bold=/bold/gi.test(fontName),this.italic=/oblique|italic/gi.test(fontName),this.black=/Black/g.test(name);const isNarrow=/Narrow/g.test(name);if(this.remeasure=(!isStandardFont||isNarrow)&&Object.keys(this.widths).length>0,(isStandardFont||isMappedToStandardFont)&&"CIDFontType2"===type&&this.cidEncoding.startsWith("Identity-")){const cidToGidMap=properties.cidToGidMap,map=[];if(applyStandardFontGlyphMap(map,(0,_standard_fonts.getGlyphMapForStandardFonts)()),/Arial-?Black/i.test(name)?applyStandardFontGlyphMap(map,(0,_standard_fonts.getSupplementalGlyphMapForArialBlack)()):/Calibri/i.test(name)&&applyStandardFontGlyphMap(map,(0,_standard_fonts.getSupplementalGlyphMapForCalibri)()),cidToGidMap){for(const charCode in map){const cid=map[charCode];void 0!==cidToGidMap[cid]&&(map[+charCode]=cidToGidMap[cid])}cidToGidMap.length!==this.toUnicode.length&&properties.hasIncludedToUnicodeMap&&this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap&&this.toUnicode.forEach((function(charCode,unicodeCharCode){const cid=map[charCode];void 0===cidToGidMap[cid]&&(map[+charCode]=unicodeCharCode)}))}this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap||this.toUnicode.forEach((function(charCode,unicodeCharCode){map[+charCode]=unicodeCharCode})),this.toFontChar=map,this.toUnicode=new _to_unicode_map.ToUnicodeMap(map)}else if(/Symbol/i.test(fontName))this.toFontChar=buildToFontChar(_encodings.SymbolSetEncoding,(0,_glyphlist.getGlyphsUnicode)(),this.differences);else if(/Dingbats/i.test(fontName))this.toFontChar=buildToFontChar(_encodings.ZapfDingbatsEncoding,(0,_glyphlist.getDingbatsGlyphsUnicode)(),this.differences);else if(isStandardFont){const map=buildToFontChar(this.defaultEncoding,(0,_glyphlist.getGlyphsUnicode)(),this.differences);"CIDFontType2"!==type||this.cidEncoding.startsWith("Identity-")||this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap||this.toUnicode.forEach((function(charCode,unicodeCharCode){map[+charCode]=unicodeCharCode})),this.toFontChar=map}else{const glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)(),map=[];this.toUnicode.forEach(((charCode,unicodeCharCode)=>{if(!this.composite){const glyphName=this.differences[charCode]||this.defaultEncoding[charCode],unicode=(0,_unicode.getUnicodeForGlyph)(glyphName,glyphsUnicodeMap);-1!==unicode&&(unicodeCharCode=unicode)}map[+charCode]=unicodeCharCode})),this.composite&&this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap&&/Tahoma|Verdana/i.test(name)&&applyStandardFontGlyphMap(map,(0,_standard_fonts.getGlyphMapForStandardFonts)()),this.toFontChar=map}amendFallbackToUnicode(properties),this.loadedName=fontName.split("-")[0]}checkAndRepair(name,font,properties){var _properties$scaleFact,_this$cssFontInfo;const VALID_TABLES=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function readTables(file,numTables){const tables=Object.create(null);tables["OS/2"]=null,tables.cmap=null,tables.head=null,tables.hhea=null,tables.hmtx=null,tables.maxp=null,tables.name=null,tables.post=null;for(let i=0;i>>0,offset=file.getInt32()>>>0,length=file.getInt32()>>>0,previousPosition=file.pos;file.pos=file.start||0,file.skip(offset);const data=file.getBytes(length);return file.pos=previousPosition,"head"===tag&&(data[8]=data[9]=data[10]=data[11]=0,data[17]|=32),{tag:tag,checksum:checksum,length:length,offset:offset,data:data}}function readOpenTypeHeader(ttf){return{version:ttf.getString(4),numTables:ttf.getUint16(),searchRange:ttf.getUint16(),entrySelector:ttf.getUint16(),rangeShift:ttf.getUint16()}}function sanitizeGlyph(source,sourceStart,sourceEnd,dest,destStart,hintsValid){const glyphProfile={length:0,sizeOfInstructions:0};if(sourceStart<0||sourceStart>=source.length||sourceEnd>source.length||sourceEnd-sourceStart<=12)return glyphProfile;const glyf=source.subarray(sourceStart,sourceEnd),xMin=signedInt16(glyf[2],glyf[3]),yMin=signedInt16(glyf[4],glyf[5]),xMax=signedInt16(glyf[6],glyf[7]),yMax=signedInt16(glyf[8],glyf[9]);xMin>xMax&&(writeSignedInt16(glyf,2,xMax),writeSignedInt16(glyf,6,xMin)),yMin>yMax&&(writeSignedInt16(glyf,4,yMax),writeSignedInt16(glyf,8,yMin));const contoursCount=signedInt16(glyf[0],glyf[1]);if(contoursCount<0)return contoursCount<-1||(dest.set(glyf,destStart),glyphProfile.length=glyf.length),glyphProfile;let i,j=10,flagsCount=0;for(i=0;iglyf.length?glyphProfile:!hintsValid&&instructionsLength>0?(dest.set(glyf.subarray(0,instructionsStart),destStart),dest.set([0,0],destStart+instructionsStart),dest.set(glyf.subarray(instructionsEnd,glyphDataLength),destStart+instructionsStart+2),glyphDataLength-=instructionsLength,glyf.length-glyphDataLength>3&&(glyphDataLength=glyphDataLength+3&-4),glyphProfile.length=glyphDataLength,glyphProfile):glyf.length-glyphDataLength>3?(glyphDataLength=glyphDataLength+3&-4,dest.set(glyf.subarray(0,glyphDataLength),destStart),glyphProfile.length=glyphDataLength,glyphProfile):(dest.set(glyf,destStart),glyphProfile.length=glyf.length,glyphProfile)}function readNameTable(nameTable){const start=(font.start||0)+nameTable.offset;font.pos=start;const names=[[],[]],records=[],length=nameTable.length,end=start+length;if(0!==font.getUint16()||length<6)return[names,records];const numRecords=font.getUint16(),stringsStart=font.getUint16();let i,ii;for(i=0;iend)continue;font.pos=pos;const nameIndex=record.name;if(record.encoding){let str="";for(let j=0,jj=record.length;j0&&(i+=offset-1)}}else(inFDEF||inELSE)&&((0,_util.warn)("TT: nested FDEFs not allowed"),tooComplexToFollowFunctions=!0),inFDEF=!0,lastDeff=i,funcId=stack.pop(),ttContext.functionsDefined[funcId]={data:data,i:i};else if(!inFDEF&&!inELSE)if(funcId=stack.at(-1),isNaN(funcId))(0,_util.info)("TT: CALL empty stack (or invalid entry).");else if(ttContext.functionsUsed[funcId]=!0,funcId in ttContext.functionsStackDeltas){const newStackLength=stack.length+ttContext.functionsStackDeltas[funcId];if(newStackLength<0)return(0,_util.warn)("TT: CALL invalid functions stack delta."),void(ttContext.hintsValid=!1);stack.length=newStackLength}else if(funcId in ttContext.functionsDefined&&!functionsCalled.includes(funcId)){if(callstack.push({data:data,i:i,stackTop:stack.length-1}),functionsCalled.push(funcId),pc=ttContext.functionsDefined[funcId],!pc)return(0,_util.warn)("TT: CALL non-existent function"),void(ttContext.hintsValid=!1);data=pc.data,i=pc.i}if(!inFDEF&&!inELSE){let stackDelta=0;for(op<=142?stackDelta=TTOpsStackDeltas[op]:op>=192&&op<=223?stackDelta=-1:op>=224&&(stackDelta=-2),op>=113&&op<=117&&(n=stack.pop(),isNaN(n)||(stackDelta=2*-n));stackDelta<0&&stack.length>0;)stack.pop(),stackDelta++;for(;stackDelta>0;)stack.push(NaN),stackDelta--}}ttContext.tooComplexToFollowFunctions=tooComplexToFollowFunctions;const content=[data];i>data.length&&content.push(new Uint8Array(i-data.length)),lastDeff>lastEndf&&((0,_util.warn)("TT: complementing a missing function tail"),content.push(new Uint8Array([34,45]))),function(table,content){if(content.length>1){let j,jj,newLength=0;for(j=0,jj=content.length;j>>0,offsetTable=[];for(let i=0;i>>0);const header={ttcTag:ttcTag,majorVersion:majorVersion,minorVersion:minorVersion,numFonts:numFonts,offsetTable:offsetTable};switch(majorVersion){case 1:return header;case 2:return header.dsigTag=ttc.getInt32()>>>0,header.dsigLength=ttc.getInt32()>>>0,header.dsigOffset=ttc.getInt32()>>>0,header}throw new _util.FormatError("Invalid TrueType Collection majorVersion: ".concat(majorVersion,"."))}(ttc),fontNameParts=fontName.split("+");let fallbackData;for(let i=0;i0||!(properties.cMap instanceof _cmap.IdentityCMap));if("OTTO"===header.version&&!isComposite||!tables.head||!tables.hhea||!tables.maxp||!tables.post)return cffFile=new _stream.Stream(tables["CFF "].data),cff=new _cff_font.CFFFont(cffFile,properties),adjustWidths(properties),this.convert(name,cff,properties);delete tables.glyf,delete tables.loca,delete tables.fpgm,delete tables.prep,delete tables["cvt "],this.isOpenType=!0}if(!tables.maxp)throw new _util.FormatError('Required "maxp" table is not found');font.pos=(font.start||0)+tables.maxp.offset;const version=font.getInt32(),numGlyphs=font.getUint16();if((null===(_properties$scaleFact=properties.scaleFactors)||void 0===_properties$scaleFact?void 0:_properties$scaleFact.length)===numGlyphs&&isTrueType){const{scaleFactors:scaleFactors}=properties,isGlyphLocationsLong=int16(tables.head.data[50],tables.head.data[51]),glyphs=new _glyf.GlyfTable({glyfTable:tables.glyf.data,isGlyphLocationsLong:isGlyphLocationsLong,locaTable:tables.loca.data,numGlyphs:numGlyphs});glyphs.scale(scaleFactors);const{glyf:glyf,loca:loca,isLocationLong:isLocationLong}=glyphs.write();tables.glyf.data=glyf,tables.loca.data=loca,isLocationLong!==!!isGlyphLocationsLong&&(tables.head.data[50]=0,tables.head.data[51]=isLocationLong?1:0);const metrics=tables.hmtx.data;for(let i=0;i>8&255,metrics[j+1]=255&advanceWidth,writeSignedInt16(metrics,j+2,Math.round(scaleFactors[i]*signedInt16(metrics[j+2],metrics[j+3])))}}let numGlyphsOut=numGlyphs+1,dupFirstEntry=!0;numGlyphsOut>65535&&(dupFirstEntry=!1,numGlyphsOut=numGlyphs,(0,_util.warn)("Not enough space in glyfs to duplicate first glyph."));let maxFunctionDefs=0,maxSizeOfInstructions=0;version>=65536&&tables.maxp.length>=22&&(font.pos+=8,font.getUint16()>2&&(tables.maxp.data[14]=0,tables.maxp.data[15]=2),font.pos+=4,maxFunctionDefs=font.getUint16(),font.pos+=4,maxSizeOfInstructions=font.getUint16()),tables.maxp.data[4]=numGlyphsOut>>8,tables.maxp.data[5]=255&numGlyphsOut;const hintsValid=function(fpgm,prep,cvt,maxFunctionDefs){const ttContext={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(fpgm&&sanitizeTTProgram(fpgm,ttContext),prep&&sanitizeTTProgram(prep,ttContext),fpgm&&function(ttContext,maxFunctionDefs){if(!ttContext.tooComplexToFollowFunctions){if(ttContext.functionsDefined.length>maxFunctionDefs)return(0,_util.warn)("TT: more functions defined than expected"),void(ttContext.hintsValid=!1);for(let j=0,jj=ttContext.functionsUsed.length;jmaxFunctionDefs)return(0,_util.warn)("TT: invalid function id: "+j),void(ttContext.hintsValid=!1);if(ttContext.functionsUsed[j]&&!ttContext.functionsDefined[j])return(0,_util.warn)("TT: undefined function: "+j),void(ttContext.hintsValid=!1)}}}(ttContext,maxFunctionDefs),cvt&&1&cvt.length){const cvtData=new Uint8Array(cvt.length+1);cvtData.set(cvt.data),cvt.data=cvtData}return ttContext.hintsValid}(tables.fpgm,tables.prep,tables["cvt "],maxFunctionDefs);if(hintsValid||(delete tables.fpgm,delete tables.prep,delete tables["cvt "]),function(file,header,metrics,headTable,numGlyphs,dupFirstEntry){if(!header)return void(metrics&&(metrics.data=null));file.pos=(file.start||0)+header.offset,file.pos+=4,file.pos+=2,file.pos+=2,file.pos+=2,file.pos+=2,file.pos+=2,file.pos+=2,file.pos+=2,file.pos+=2,file.pos+=2;const caretOffset=file.getUint16();file.pos+=8,file.pos+=2;let numOfMetrics=file.getUint16();0!==caretOffset&&(2&int16(headTable.data[44],headTable.data[45])||(header.data[22]=0,header.data[23]=0)),numOfMetrics>numGlyphs&&((0,_util.info)("The numOfMetrics (".concat(numOfMetrics,") should not be ")+"greater than the numGlyphs (".concat(numGlyphs,").")),numOfMetrics=numGlyphs,header.data[34]=(65280&numOfMetrics)>>8,header.data[35]=255&numOfMetrics);const numMissing=numGlyphs-numOfMetrics-(metrics.length-4*numOfMetrics>>1);if(numMissing>0){const entries=new Uint8Array(metrics.length+2*numMissing);entries.set(metrics.data),dupFirstEntry&&(entries[metrics.length]=metrics.data[2],entries[metrics.length+1]=metrics.data[3]),metrics.data=entries}}(font,tables.hhea,tables.hmtx,tables.head,numGlyphsOut,dupFirstEntry),!tables.head)throw new _util.FormatError('Required "head" table is not found');!function(head,numGlyphs,locaLength){const data=head.data,version=(b0=data[0],b1=data[1],b2=data[2],b3=data[3],(b0<<24)+(b1<<16)+(b2<<8)+b3);var b0,b1,b2,b3;version>>16!=1&&((0,_util.info)("Attempting to fix invalid version in head table: "+version),data[0]=0,data[1]=1,data[2]=0,data[3]=0);const indexToLocFormat=int16(data[50],data[51]);if(indexToLocFormat<0||indexToLocFormat>1){(0,_util.info)("Attempting to fix invalid indexToLocFormat in head table: "+indexToLocFormat);const numGlyphsPlusOne=numGlyphs+1;if(locaLength===numGlyphsPlusOne<<1)data[50]=0,data[51]=0;else{if(locaLength!==numGlyphsPlusOne<<2)throw new _util.FormatError("Could not fix indexToLocFormat: "+indexToLocFormat);data[50]=0,data[51]=1}}}(tables.head,numGlyphs,isTrueType?tables.loca.length:0);let missingGlyphs=Object.create(null);if(isTrueType){const isGlyphLocationsLong=int16(tables.head.data[50],tables.head.data[51]),glyphsInfo=function(loca,glyf,numGlyphs,isGlyphLocationsLong,hintsValid,dupFirstEntry,maxSizeOfInstructions){let itemSize,itemDecode,itemEncode;isGlyphLocationsLong?(itemSize=4,itemDecode=function(data,offset){return data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3]},itemEncode=function(data,offset,value){data[offset]=value>>>24&255,data[offset+1]=value>>16&255,data[offset+2]=value>>8&255,data[offset+3]=255&value}):(itemSize=2,itemDecode=function(data,offset){return data[offset]<<9|data[offset+1]<<1},itemEncode=function(data,offset,value){data[offset]=value>>9&255,data[offset+1]=value>>1&255});const numGlyphsOut=dupFirstEntry?numGlyphs+1:numGlyphs,locaDataSize=itemSize*(1+numGlyphsOut),locaData=new Uint8Array(locaDataSize);locaData.set(loca.data.subarray(0,locaDataSize)),loca.data=locaData;const oldGlyfData=glyf.data,oldGlyfDataLength=oldGlyfData.length,newGlyfData=new Uint8Array(oldGlyfDataLength);let i,j;const locaEntries=[];for(i=0,j=0;ioldGlyfDataLength&&(offset=oldGlyfDataLength),locaEntries.push({index:i,offset:offset,endOffset:0})}for(locaEntries.sort(((a,b)=>a.offset-b.offset)),i=0;ia.index-b.index)),i=0;imaxSizeOfInstructions&&(maxSizeOfInstructions=glyphProfile.sizeOfInstructions),writeOffset+=newLength,itemEncode(locaData,j,writeOffset)}if(0===writeOffset){const simpleGlyph=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(i=0,j=itemSize;ifirstEntryLength+writeOffset?glyf.data=newGlyfData.subarray(0,firstEntryLength+writeOffset):(glyf.data=new Uint8Array(firstEntryLength+writeOffset),glyf.data.set(newGlyfData.subarray(0,writeOffset))),glyf.data.set(newGlyfData.subarray(0,firstEntryLength),writeOffset),itemEncode(loca.data,locaData.length-itemSize,writeOffset+firstEntryLength)}else glyf.data=newGlyfData.subarray(0,writeOffset);return{missingGlyphs:missingGlyphs,maxSizeOfInstructions:maxSizeOfInstructions}}(tables.loca,tables.glyf,numGlyphs,isGlyphLocationsLong,hintsValid,dupFirstEntry,maxSizeOfInstructions);missingGlyphs=glyphsInfo.missingGlyphs,version>=65536&&tables.maxp.length>=22&&(tables.maxp.data[26]=glyphsInfo.maxSizeOfInstructions>>8,tables.maxp.data[27]=255&glyphsInfo.maxSizeOfInstructions)}if(!tables.hhea)throw new _util.FormatError('Required "hhea" table is not found');0===tables.hhea.data[10]&&0===tables.hhea.data[11]&&(tables.hhea.data[10]=255,tables.hhea.data[11]=255);const metricsOverride={unitsPerEm:int16(tables.head.data[18],tables.head.data[19]),yMax:signedInt16(tables.head.data[42],tables.head.data[43]),yMin:signedInt16(tables.head.data[38],tables.head.data[39]),ascent:signedInt16(tables.hhea.data[4],tables.hhea.data[5]),descent:signedInt16(tables.hhea.data[6],tables.hhea.data[7]),lineGap:signedInt16(tables.hhea.data[8],tables.hhea.data[9])};this.ascent=metricsOverride.ascent/metricsOverride.unitsPerEm,this.descent=metricsOverride.descent/metricsOverride.unitsPerEm,this.lineGap=metricsOverride.lineGap/metricsOverride.unitsPerEm,null!==(_this$cssFontInfo=this.cssFontInfo)&&void 0!==_this$cssFontInfo&&_this$cssFontInfo.lineHeight?(this.lineHeight=this.cssFontInfo.metrics.lineHeight,this.lineGap=this.cssFontInfo.metrics.lineGap):this.lineHeight=this.ascent-this.descent+this.lineGap,tables.post&&function(post,propertiesObj,maxpNumGlyphs){const start=(font.start||0)+post.offset;font.pos=start;const end=start+post.length,version=font.getInt32();let glyphNames;font.skip(28);let i,valid=!0;switch(version){case 65536:glyphNames=_fonts_utils.MacStandardGlyphOrdering;break;case 131072:const numGlyphs=font.getUint16();if(numGlyphs!==maxpNumGlyphs){valid=!1;break}const glyphNameIndexes=[];for(i=0;i=32768){valid=!1;break}glyphNameIndexes.push(index)}if(!valid)break;const customNames=[],strBuf=[];for(;font.pos65535)throw new _util.FormatError("Max size of CID is 65,535");let glyphId=-1;isCidToGidMapEmpty?glyphId=cid:void 0!==cidToGidMap[cid]&&(glyphId=cidToGidMap[cid]),glyphId>=0&&glyphId>>0;let useTable=!1;if((null===(_potentialTable=potentialTable)||void 0===_potentialTable?void 0:_potentialTable.platformId)!==platformId||(null===(_potentialTable2=potentialTable)||void 0===_potentialTable2?void 0:_potentialTable2.encodingId)!==encodingId){if(0!==platformId||0!==encodingId&&1!==encodingId&&3!==encodingId)if(1===platformId&&0===encodingId)useTable=!0;else if(3!==platformId||1!==encodingId||!hasEncoding&&potentialTable){if(isSymbolicFont&&3===platformId&&0===encodingId){useTable=!0;let correctlySorted=!0;if(i>3;subHeaderKeys.push(subHeaderKey),maxSubHeaderKey=Math.max(subHeaderKey,maxSubHeaderKey)}const subHeaders=[];for(let i=0;i<=maxSubHeaderKey;i++)subHeaders.push({firstCode:file.getUint16(),entryCount:file.getUint16(),idDelta:signedInt16(file.getByte(),file.getByte()),idRangePos:file.pos+file.getUint16()});for(let i=0;i<256;i++)if(0===subHeaderKeys[i])file.pos=subHeaders[0].idRangePos+2*i,glyphId=file.getUint16(),mappings.push({charCode:i,glyphId:glyphId});else{const s=subHeaders[subHeaderKeys[i]];for(j=0;j>1;file.skip(6);const segments=[];let segIndex;for(segIndex=0;segIndex>1)-(segCount-segIndex),segment.offsetIndex=offsetIndex,offsetsCount=Math.max(offsetsCount,offsetIndex+segment.end-segment.start+1)):segment.offsetIndex=-1}const offsets=[];for(j=0;j>>0;for(j=0;j>>0,endCharCode=file.getInt32()>>>0;let glyphCode=file.getInt32()>>>0;for(let charCode=startCharCode;charCode<=endCharCode;charCode++)mappings.push({charCode:charCode,glyphId:glyphCode++})}}}mappings.sort((function(a,b){return a.charCode-b.charCode}));for(let i=1;i=61440&&charCode<=61695&&(charCode&=255),charCodeToGlyphId[charCode]=mapping.glyphId}if(properties.glyphNames&&(baseEncoding.length||this.differences.length))for(let i=0;i<256;++i){if(!forcePostTable&&void 0!==charCodeToGlyphId[i])continue;const glyphName=this.differences[i]||baseEncoding[i];if(!glyphName)continue;const glyphId=properties.glyphNames.indexOf(glyphName);glyphId>0&&hasGlyph(glyphId)&&(charCodeToGlyphId[i]=glyphId)}}0===charCodeToGlyphId.length&&(charCodeToGlyphId[0]=0);let glyphZeroId=numGlyphsOut-1;if(dupFirstEntry||(glyphZeroId=0),!properties.cssFontInfo){const newMapping=adjustMapping(charCodeToGlyphId,hasGlyph,glyphZeroId,this.toUnicode);this.toFontChar=newMapping.toFontChar,tables.cmap={tag:"cmap",data:createCmapTable(newMapping.charCodeToGlyphId,newMapping.toUnicodeExtraMap,numGlyphsOut)},tables["OS/2"]&&function(os2,file){file.pos=(file.start||0)+os2.offset;const version=file.getUint16();file.skip(60);const selection=file.getUint16();return!(version<4&&768&selection||file.getUint16()>file.getUint16()||(file.skip(6),0===file.getUint16()||(os2.data[8]=os2.data[9]=0,0)))}(tables["OS/2"],font)||(tables["OS/2"]={tag:"OS/2",data:createOS2Table(properties,newMapping.charCodeToGlyphId,metricsOverride)})}if(!isTrueType)try{cffFile=new _stream.Stream(tables["CFF "].data),cff=new _cff_parser.CFFParser(cffFile,properties,_fonts_utils.SEAC_ANALYSIS_ENABLED).parse(),cff.duplicateFirstGlyph();const compiler=new _cff_parser.CFFCompiler(cff);tables["CFF "].data=compiler.compile()}catch{(0,_util.warn)("Failed to compile font "+properties.loadedName)}if(tables.name){const[namePrototype,nameRecords]=readNameTable(tables.name);tables.name.data=createNameTable(name,namePrototype),this.psName=namePrototype[0][6]||null,properties.composite||function(properties,isSymbolicFont,nameRecords){if(properties.isInternalFont)return;if(properties.hasIncludedToUnicodeMap)return;if(properties.hasEncoding)return;if(properties.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap)return;if(!isSymbolicFont)return;if(0===nameRecords.length)return;if(properties.defaultEncoding===_encodings.WinAnsiEncoding)return;for(const r of nameRecords)if(!isWinNameRecord(r))return;const encoding=_encodings.WinAnsiEncoding,toUnicode=[],glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();for(const charCode in encoding){const glyphName=encoding[charCode];if(""===glyphName)continue;const unicode=glyphsUnicodeMap[glyphName];void 0!==unicode&&(toUnicode[charCode]=String.fromCharCode(unicode))}toUnicode.length>0&&properties.toUnicode.amend(toUnicode)}(properties,this.isSymbolicFont,nameRecords)}else tables.name={tag:"name",data:createNameTable(this.name)};const builder=new _opentype_file_builder.OpenTypeFileBuilder(header.version);for(const tableTag in tables)builder.addTable(tableTag,tables[tableTag].data);return builder.toArray()}convert(fontName,font,properties){properties.fixedPitch=!1,properties.builtInEncoding&&function(properties,builtInEncoding){if(properties.isInternalFont)return;if(properties.hasIncludedToUnicodeMap)return;if(builtInEncoding===properties.defaultEncoding)return;if(properties.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap)return;const toUnicode=[],glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();for(const charCode in builtInEncoding){if(properties.hasEncoding&&(properties.baseEncodingName||void 0!==properties.differences[charCode]))continue;const glyphName=builtInEncoding[charCode],unicode=(0,_unicode.getUnicodeForGlyph)(glyphName,glyphsUnicodeMap);-1!==unicode&&(toUnicode[charCode]=String.fromCharCode(unicode))}toUnicode.length>0&&properties.toUnicode.amend(toUnicode)}(properties,properties.builtInEncoding);let glyphZeroId=1;font instanceof _cff_font.CFFFont&&(glyphZeroId=font.numGlyphs-1);const mapping=font.getGlyphMapping(properties);let newMapping=null,newCharCodeToGlyphId=mapping,toUnicodeExtraMap=null;properties.cssFontInfo||(newMapping=adjustMapping(mapping,font.hasGlyphId.bind(font),glyphZeroId,this.toUnicode),this.toFontChar=newMapping.toFontChar,newCharCodeToGlyphId=newMapping.charCodeToGlyphId,toUnicodeExtraMap=newMapping.toUnicodeExtraMap);const numGlyphs=font.numGlyphs;function getCharCodes(charCodeToGlyphId,glyphId){let charCodes=null;for(const charCode in charCodeToGlyphId)glyphId===charCodeToGlyphId[charCode]&&(charCodes||(charCodes=[])).push(0|charCode);return charCodes}function createCharCode(charCodeToGlyphId,glyphId){for(const charCode in charCodeToGlyphId)if(glyphId===charCodeToGlyphId[charCode])return 0|charCode;return newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode]=glyphId,newMapping.nextAvailableFontCharCode++}const seacs=font.seacs;if(newMapping&&_fonts_utils.SEAC_ANALYSIS_ENABLED&&null!=seacs&&seacs.length){const matrix=properties.fontMatrix||_util.FONT_IDENTITY_MATRIX,charset=font.getCharset(),seacMap=Object.create(null);for(let glyphId in seacs){glyphId|=0;const seac=seacs[glyphId],baseGlyphName=_encodings.StandardEncoding[seac[2]],accentGlyphName=_encodings.StandardEncoding[seac[3]],baseGlyphId=charset.indexOf(baseGlyphName),accentGlyphId=charset.indexOf(accentGlyphName);if(baseGlyphId<0||accentGlyphId<0)continue;const accentOffset={x:seac[0]*matrix[0]+seac[1]*matrix[2]+matrix[4],y:seac[0]*matrix[1]+seac[1]*matrix[3]+matrix[5]},charCodes=getCharCodes(mapping,glyphId);if(charCodes)for(const charCode of charCodes){const charCodeToGlyphId=newMapping.charCodeToGlyphId,baseFontCharCode=createCharCode(charCodeToGlyphId,baseGlyphId),accentFontCharCode=createCharCode(charCodeToGlyphId,accentGlyphId);seacMap[charCode]={baseFontCharCode:baseFontCharCode,accentFontCharCode:accentFontCharCode,accentOffset:accentOffset}}}properties.seacMap=seacMap}const unitsPerEm=1/(properties.fontMatrix||_util.FONT_IDENTITY_MATRIX)[0],builder=new _opentype_file_builder.OpenTypeFileBuilder("OTTO");return builder.addTable("CFF ",font.data),builder.addTable("OS/2",createOS2Table(properties,newCharCodeToGlyphId)),builder.addTable("cmap",createCmapTable(newCharCodeToGlyphId,toUnicodeExtraMap,numGlyphs)),builder.addTable("head","\0\0\0\0\0\0\0\0\0\0_<õ\0\0"+safeString16(unitsPerEm)+"\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0"+safeString16(properties.descent)+"ÿ"+safeString16(properties.ascent)+string16(properties.italicAngle?2:0)+"\0\0\0\0\0\0\0"),builder.addTable("hhea","\0\0\0"+safeString16(properties.ascent)+safeString16(properties.descent)+"\0\0ÿÿ\0\0\0\0\0\0"+safeString16(properties.capHeight)+safeString16(Math.tan(properties.italicAngle)*properties.xHeight)+"\0\0\0\0\0\0\0\0\0\0\0\0"+string16(numGlyphs)),builder.addTable("hmtx",function(){const charstrings=font.charstrings,cffWidths=font.cff?font.cff.widths:null;let hmtx="\0\0\0\0";for(let i=1,ii=numGlyphs;i1&&void 0!==arguments[1]&&arguments[1],glyph=this._glyphCache[charcode];if((null===(_glyph=glyph)||void 0===_glyph?void 0:_glyph.isSpace)===isSpace)return glyph;let widthCode=charcode;null!==(_this$cMap=this.cMap)&&void 0!==_this$cMap&&_this$cMap.contains(charcode)&&(widthCode=this.cMap.lookup(charcode),"string"==typeof widthCode&&(widthCode=convertCidString(charcode,widthCode))),width=this.widths[widthCode],"number"!=typeof width&&(width=this.defaultWidth);const vmetric=null===(_this$vmetrics=this.vmetrics)||void 0===_this$vmetrics?void 0:_this$vmetrics[widthCode];let unicode=this.toUnicode.get(charcode)||charcode;"number"==typeof unicode&&(unicode=String.fromCharCode(unicode));let isInFont=void 0!==this.toFontChar[charcode];if(fontCharCode=this.toFontChar[charcode]||charcode,this.missingFile){const glyphName=this.differences[charcode]||this.defaultEncoding[charcode];".notdef"!==glyphName&&""!==glyphName||"Type1"!==this.type||(fontCharCode=32),fontCharCode=(0,_unicode.mapSpecialUnicodeValues)(fontCharCode)}this.isType3Font&&(operatorListId=fontCharCode);let accent=null;if(null!==(_this$seacMap=this.seacMap)&&void 0!==_this$seacMap&&_this$seacMap[charcode]){isInFont=!0;const seac=this.seacMap[charcode];fontCharCode=seac.baseFontCharCode,accent={fontChar:String.fromCodePoint(seac.accentFontCharCode),offset:seac.accentOffset}}let fontChar="";return"number"==typeof fontCharCode&&(fontCharCode<=1114111?fontChar=String.fromCodePoint(fontCharCode):(0,_util.warn)("charToGlyph - invalid fontCharCode: ".concat(fontCharCode))),glyph=new Glyph(charcode,fontChar,unicode,accent,width,vmetric,operatorListId,isSpace,isInFont),this._glyphCache[charcode]=glyph}charsToGlyphs(chars){let glyphs=this._charsCache[chars];if(glyphs)return glyphs;if(glyphs=[],this.cMap){const c=Object.create(null),ii=chars.length;let i=0;for(;ibuffers.length%2==1,getCharCode=this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap?unicode=>this.toUnicode.charCodeOf(unicode):unicode=>this.toUnicode.charCodeOf(String.fromCodePoint(unicode));for(let i=0,ii=str.length;i55295&&(unicode<57344||unicode>65533)&&i++,this.toUnicode){const charCode=getCharCode(unicode);if(-1!==charCode){hasCurrentBufErrors()&&(buffers.push(currentBuf.join("")),currentBuf.length=0);for(let j=(this.cMap?this.cMap.getCharCodeLength(charCode):1)-1;j>=0;j--)currentBuf.push(String.fromCharCode(charCode>>8*j&255));continue}}hasCurrentBufErrors()||(buffers.push(currentBuf.join("")),currentBuf.length=0),currentBuf.push(String.fromCodePoint(unicode))}return buffers.push(currentBuf.join("")),buffers}},exports.ErrorFont=class{constructor(error){this.error=error,this.loadedName="g_font_error",this.missingFile=!0}charsToGlyphs(){return[]}encodeString(chars){return[chars]}exportData(){return{error:this.error}}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CFFTopDict=exports.CFFStrings=exports.CFFStandardStrings=exports.CFFPrivateDict=exports.CFFParser=exports.CFFIndex=exports.CFFHeader=exports.CFFFDSelect=exports.CFFCompiler=exports.CFFCharset=exports.CFF=void 0;var _util=__w_pdfjs_require__(2),_charsets=__w_pdfjs_require__(36),_encodings=__w_pdfjs_require__(37);const CFFStandardStrings=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];exports.CFFStandardStrings=CFFStandardStrings;const CharstringValidationData=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],CharstringValidationData12=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(stack,index){stack[index-2]=stack[index-2]+stack[index-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(stack,index){stack[index-2]=stack[index-2]-stack[index-1]}},{id:"div",min:2,stackDelta:-1,stackFn(stack,index){stack[index-2]=stack[index-2]/stack[index-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(stack,index){stack[index-1]=-stack[index-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(stack,index){stack[index-2]=stack[index-2]*stack[index-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];exports.CFFParser=class{constructor(file,properties,seacAnalysisEnabled){this.bytes=file.getBytes(),this.properties=properties,this.seacAnalysisEnabled=!!seacAnalysisEnabled}parse(){const properties=this.properties,cff=new CFF;this.cff=cff;const header=this.parseHeader(),nameIndex=this.parseIndex(header.endPos),topDictIndex=this.parseIndex(nameIndex.endPos),stringIndex=this.parseIndex(topDictIndex.endPos),globalSubrIndex=this.parseIndex(stringIndex.endPos),topDictParsed=this.parseDict(topDictIndex.obj.get(0)),topDict=this.createDict(CFFTopDict,topDictParsed,cff.strings);cff.header=header.obj,cff.names=this.parseNameIndex(nameIndex.obj),cff.strings=this.parseStringIndex(stringIndex.obj),cff.topDict=topDict,cff.globalSubrIndex=globalSubrIndex.obj,this.parsePrivateDict(cff.topDict),cff.isCIDFont=topDict.hasName("ROS");const charStringOffset=topDict.getByName("CharStrings"),charStringIndex=this.parseIndex(charStringOffset).obj,fontMatrix=topDict.getByName("FontMatrix");fontMatrix&&(properties.fontMatrix=fontMatrix);const fontBBox=topDict.getByName("FontBBox");let charset,encoding;if(fontBBox&&(properties.ascent=Math.max(fontBBox[3],fontBBox[1]),properties.descent=Math.min(fontBBox[1],fontBBox[3]),properties.ascentScaled=!0),cff.isCIDFont){const fdArrayIndex=this.parseIndex(topDict.getByName("FDArray")).obj;for(let i=0,ii=fdArrayIndex.count;i=bytesLength)throw new _util.FormatError("Invalid CFF header");0!==offset&&((0,_util.info)("cff data is shifted"),bytes=bytes.subarray(offset),this.bytes=bytes);const major=bytes[0],minor=bytes[1],hdrSize=bytes[2],offSize=bytes[3];return{obj:new CFFHeader(major,minor,hdrSize,offSize),endPos:hdrSize}}parseDict(dict){let pos=0;function parseOperand(){let value=dict[pos++];return 30===value?function(){let str="";const eof=15,lookup=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],length=dict.length;for(;pos>4,b2=15&b;if(b1===eof)break;if(str+=lookup[b1],b2===eof)break;str+=lookup[b2]}return parseFloat(str)}():28===value?(value=dict[pos++],value=(value<<24|dict[pos++]<<16)>>16,value):29===value?(value=dict[pos++],value=value<<8|dict[pos++],value=value<<8|dict[pos++],value=value<<8|dict[pos++],value):value>=32&&value<=246?value-139:value>=247&&value<=250?256*(value-247)+dict[pos++]+108:value>=251&&value<=254?-256*(value-251)-dict[pos++]-108:((0,_util.warn)('CFFParser_parseDict: "'+value+'" is a reserved command.'),NaN)}let operands=[];const entries=[];pos=0;const end=dict.length;for(;pos10)return!1;let stackSize=state.stackSize;const stack=state.stack;let length=data.length;for(let j=0;j>16,j+=2,stackSize++;else if(14===value){if(stackSize>=4&&(stackSize-=4,this.seacAnalysisEnabled))return state.seac=stack.slice(stackSize,stackSize+4),!1;validationCommand=CharstringValidationData[value]}else if(value>=32&&value<=246)stack[stackSize]=value-139,stackSize++;else if(value>=247&&value<=254)stack[stackSize]=value<251?(value-247<<8)+data[j]+108:-(value-251<<8)-data[j]-108,j++,stackSize++;else if(255===value)stack[stackSize]=(data[j]<<24|data[j+1]<<16|data[j+2]<<8|data[j+3])/65536,j+=4,stackSize++;else if(19===value||20===value){if(state.hints+=stackSize>>1,0===state.hints){data.copyWithin(j-1,j,-1),j-=1,length-=1;continue}j+=state.hints+7>>3,stackSize%=2,validationCommand=CharstringValidationData[value]}else{if(10===value||29===value){const subrsIndex=10===value?localSubrIndex:globalSubrIndex;if(!subrsIndex)return validationCommand=CharstringValidationData[value],(0,_util.warn)("Missing subrsIndex for "+validationCommand.id),!1;let bias=32768;subrsIndex.count<1240?bias=107:subrsIndex.count<33900&&(bias=1131);const subrNumber=stack[--stackSize]+bias;if(subrNumber<0||subrNumber>=subrsIndex.count||isNaN(subrNumber))return validationCommand=CharstringValidationData[value],(0,_util.warn)("Out of bounds subrIndex for "+validationCommand.id),!1;if(state.stackSize=stackSize,state.callDepth++,!this.parseCharString(state,subrsIndex.get(subrNumber),localSubrIndex,globalSubrIndex))return!1;state.callDepth--,stackSize=state.stackSize;continue}if(11===value)return state.stackSize=stackSize,!0;if(0===value&&j===data.length)data[j-1]=14,validationCommand=CharstringValidationData[14];else{if(9===value){data.copyWithin(j-1,j,-1),j-=1,length-=1;continue}validationCommand=CharstringValidationData[value]}}if(validationCommand){if(validationCommand.stem&&(state.hints+=stackSize>>1,3===value||23===value?state.hasVStems=!0:!state.hasVStems||1!==value&&18!==value||((0,_util.warn)("CFF stem hints are in wrong order"),data[j-1]=1===value?3:23)),"min"in validationCommand&&!state.undefStack&&stackSize=2&&validationCommand.stem?stackSize%=2:stackSize>1&&(0,_util.warn)("Found too many parameters for stack-clearing command"),stackSize>0&&(state.width=stack[stackSize-1])),"stackDelta"in validationCommand?("stackFn"in validationCommand&&validationCommand.stackFn(stack,stackSize),stackSize+=validationCommand.stackDelta):validationCommand.stackClearing?stackSize=0:validationCommand.resetStack?(stackSize=0,state.undefStack=!1):validationCommand.undefStack&&(stackSize=0,state.undefStack=!0,state.firstStackClearing=!1)}}return length=fdArray.length&&((0,_util.warn)("Invalid fd index for glyph index."),valid=!1),valid&&(privateDictToUse=fdArray[fdIndex].privateDict,localSubrToUse=privateDictToUse.subrsIndex)}else localSubrIndex&&(localSubrToUse=localSubrIndex);if(valid&&(valid=this.parseCharString(state,charstring,localSubrToUse,globalSubrIndex)),null!==state.width){const nominalWidth=privateDictToUse.getByName("nominalWidthX");widths[i]=nominalWidth+state.width}else{const defaultWidth=privateDictToUse.getByName("defaultWidthX");widths[i]=defaultWidth}null!==state.seac&&(seacs[i]=state.seac),valid||charStrings.set(i,new Uint8Array([14]))}return{charStrings:charStrings,seacs:seacs,widths:widths}}emptyPrivateDictionary(parentDict){const privateDict=this.createDict(CFFPrivateDict,[],parentDict.strings);parentDict.setByKey(18,[0,0]),parentDict.privateDict=privateDict}parsePrivateDict(parentDict){if(!parentDict.hasName("Private"))return void this.emptyPrivateDictionary(parentDict);const privateOffset=parentDict.getByName("Private");if(!Array.isArray(privateOffset)||2!==privateOffset.length)return void parentDict.removeByName("Private");const size=privateOffset[0],offset=privateOffset[1];if(0===size||offset>=this.bytes.length)return void this.emptyPrivateDictionary(parentDict);const privateDictEnd=offset+size,dictData=this.bytes.subarray(offset,privateDictEnd),dict=this.parseDict(dictData),privateDict=this.createDict(CFFPrivateDict,dict,parentDict.strings);if(parentDict.privateDict=privateDict,0===privateDict.getByName("ExpansionFactor")&&privateDict.setByName("ExpansionFactor",.06),!privateDict.getByName("Subrs"))return;const subrsOffset=privateDict.getByName("Subrs"),relativeOffset=offset+subrsOffset;if(0===subrsOffset||relativeOffset>=this.bytes.length)return void this.emptyPrivateDictionary(parentDict);const subrsIndex=this.parseIndex(relativeOffset);privateDict.subrsIndex=subrsIndex.obj}parseCharsets(pos,length,strings,cid){if(0===pos)return new CFFCharset(!0,CFFCharsetPredefinedTypes.ISO_ADOBE,_charsets.ISOAdobeCharset);if(1===pos)return new CFFCharset(!0,CFFCharsetPredefinedTypes.EXPERT,_charsets.ExpertCharset);if(2===pos)return new CFFCharset(!0,CFFCharsetPredefinedTypes.EXPERT_SUBSET,_charsets.ExpertSubsetCharset);const bytes=this.bytes,start=pos,format=bytes[pos++],charset=[cid?0:".notdef"];let id,count,i;switch(length-=1,format){case 0:for(i=0;i=65535)return void(0,_util.warn)("Not enough space in charstrings to duplicate first glyph.");const glyphZero=this.charStrings.get(0);this.charStrings.add(glyphZero),this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(id){return!(id<0||id>=this.charStrings.count)&&this.charStrings.get(id).length>0}}exports.CFF=CFF;class CFFHeader{constructor(major,minor,hdrSize,offSize){this.major=major,this.minor=minor,this.hdrSize=hdrSize,this.offSize=offSize}}exports.CFFHeader=CFFHeader;class CFFStrings{constructor(){this.strings=[]}get(index){return index>=0&&index<=390?CFFStandardStrings[index]:index-391<=this.strings.length?this.strings[index-391]:CFFStandardStrings[0]}getSID(str){let index=CFFStandardStrings.indexOf(str);return-1!==index?index:(index=this.strings.indexOf(str),-1!==index?index+391:-1)}add(value){this.strings.push(value)}get count(){return this.strings.length}}exports.CFFStrings=CFFStrings;class CFFIndex{constructor(){this.objects=[],this.length=0}add(data){this.length+=data.length,this.objects.push(data)}set(index,data){this.length+=data.length-this.objects[index].length,this.objects[index]=data}get(index){return this.objects[index]}get count(){return this.objects.length}}exports.CFFIndex=CFFIndex;class CFFDict{constructor(tables,strings){this.keyToNameMap=tables.keyToNameMap,this.nameToKeyMap=tables.nameToKeyMap,this.defaults=tables.defaults,this.types=tables.types,this.opcodes=tables.opcodes,this.order=tables.order,this.strings=strings,this.values=Object.create(null)}setByKey(key,value){if(!(key in this.keyToNameMap))return!1;if(0===value.length)return!0;for(const val of value)if(isNaN(val))return(0,_util.warn)('Invalid CFFDict value: "'.concat(value,'" for key "').concat(key,'".')),!0;const type=this.types[key];return"num"!==type&&"sid"!==type&&"offset"!==type||(value=value[0]),this.values[key]=value,!0}setByName(name,value){if(!(name in this.nameToKeyMap))throw new _util.FormatError('Invalid dictionary name "'.concat(name,'"'));this.values[this.nameToKeyMap[name]]=value}hasName(name){return this.nameToKeyMap[name]in this.values}getByName(name){if(!(name in this.nameToKeyMap))throw new _util.FormatError("Invalid dictionary name ".concat(name,'"'));const key=this.nameToKeyMap[name];return key in this.values?this.values[key]:this.defaults[key]}removeByName(name){delete this.values[this.nameToKeyMap[name]]}static createTables(layout){const tables={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const entry of layout){const key=Array.isArray(entry[0])?(entry[0][0]<<8)+entry[0][1]:entry[0];tables.keyToNameMap[key]=entry[1],tables.nameToKeyMap[entry[1]]=key,tables.types[key]=entry[2],tables.defaults[key]=entry[3],tables.opcodes[key]=Array.isArray(entry[0])?entry[0]:[entry[0]],tables.order.push(key)}return tables}}const CFFTopDictLayout=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]];class CFFTopDict extends CFFDict{static get tables(){return(0,_util.shadow)(this,"tables",this.createTables(CFFTopDictLayout))}constructor(strings){super(CFFTopDict.tables,strings),this.privateDict=null}}exports.CFFTopDict=CFFTopDict;const CFFPrivateDictLayout=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]];class CFFPrivateDict extends CFFDict{static get tables(){return(0,_util.shadow)(this,"tables",this.createTables(CFFPrivateDictLayout))}constructor(strings){super(CFFPrivateDict.tables,strings),this.subrsIndex=null}}exports.CFFPrivateDict=CFFPrivateDict;const CFFCharsetPredefinedTypes={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class CFFCharset{constructor(predefined,format,charset,raw){this.predefined=predefined,this.format=format,this.charset=charset,this.raw=raw}}exports.CFFCharset=CFFCharset;class CFFEncoding{constructor(predefined,format,encoding,raw){this.predefined=predefined,this.format=format,this.encoding=encoding,this.raw=raw}}class CFFFDSelect{constructor(format,fdSelect){this.format=format,this.fdSelect=fdSelect}getFDIndex(glyphIndex){return glyphIndex<0||glyphIndex>=this.fdSelect.length?-1:this.fdSelect[glyphIndex]}}exports.CFFFDSelect=CFFFDSelect;class CFFOffsetTracker{constructor(){this.offsets=Object.create(null)}isTracking(key){return key in this.offsets}track(key,location){if(key in this.offsets)throw new _util.FormatError("Already tracking location of ".concat(key));this.offsets[key]=location}offset(value){for(const key in this.offsets)this.offsets[key]+=value}setEntryLocation(key,values,output){if(!(key in this.offsets))throw new _util.FormatError("Not tracking location of ".concat(key));const data=output.data,dataOffset=this.offsets[key];for(let i=0,ii=values.length;i>24&255,data[offset2]=value>>16&255,data[offset3]=value>>8&255,data[offset4]=255&value}}}class CFFCompiler{constructor(cff){this.cff=cff}compile(){const cff=this.cff,output={data:[],length:0,add(data){try{this.data.push(...data)}catch{this.data=this.data.concat(data)}this.length=this.data.length}},header=this.compileHeader(cff.header);output.add(header);const nameIndex=this.compileNameIndex(cff.names);if(output.add(nameIndex),cff.isCIDFont&&cff.topDict.hasName("FontMatrix")){const base=cff.topDict.getByName("FontMatrix");cff.topDict.removeByName("FontMatrix");for(const subDict of cff.fdArray){let matrix=base.slice(0);subDict.hasName("FontMatrix")&&(matrix=_util.Util.transform(matrix,subDict.getByName("FontMatrix"))),subDict.setByName("FontMatrix",matrix)}}const xuid=cff.topDict.getByName("XUID");(null==xuid?void 0:xuid.length)>16&&cff.topDict.removeByName("XUID"),cff.topDict.setByName("charset",0);let compiled=this.compileTopDicts([cff.topDict],output.length,cff.isCIDFont);output.add(compiled.output);const topDictTracker=compiled.trackers[0],stringIndex=this.compileStringIndex(cff.strings.strings);output.add(stringIndex);const globalSubrIndex=this.compileIndex(cff.globalSubrIndex);if(output.add(globalSubrIndex),cff.encoding&&cff.topDict.hasName("Encoding"))if(cff.encoding.predefined)topDictTracker.setEntryLocation("Encoding",[cff.encoding.format],output);else{const encoding=this.compileEncoding(cff.encoding);topDictTracker.setEntryLocation("Encoding",[output.length],output),output.add(encoding)}const charset=this.compileCharset(cff.charset,cff.charStrings.count,cff.strings,cff.isCIDFont);topDictTracker.setEntryLocation("charset",[output.length],output),output.add(charset);const charStrings=this.compileCharStrings(cff.charStrings);if(topDictTracker.setEntryLocation("CharStrings",[output.length],output),output.add(charStrings),cff.isCIDFont){topDictTracker.setEntryLocation("FDSelect",[output.length],output);const fdSelect=this.compileFDSelect(cff.fdSelect);output.add(fdSelect),compiled=this.compileTopDicts(cff.fdArray,output.length,!0),topDictTracker.setEntryLocation("FDArray",[output.length],output),output.add(compiled.output);const fontDictTrackers=compiled.trackers;this.compilePrivateDicts(cff.fdArray,fontDictTrackers,output)}return this.compilePrivateDicts([cff.topDict],[topDictTracker],output),output.add([0]),output.data}encodeNumber(value){return Number.isInteger(value)?this.encodeInteger(value):this.encodeFloat(value)}static get EncodeFloatRegExp(){return(0,_util.shadow)(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(num){let value=num.toString();const m=CFFCompiler.EncodeFloatRegExp.exec(value);if(m){const epsilon=parseFloat("1e"+((m[2]?+m[2]:0)+m[1].length));value=(Math.round(num*epsilon)/epsilon).toString()}let i,ii,nibbles="";for(i=0,ii=value.length;i=-107&&value<=107?[value+139]:value>=108&&value<=1131?[247+((value-=108)>>8),255&value]:value>=-1131&&value<=-108?[251+((value=-value-108)>>8),255&value]:value>=-32768&&value<=32767?[28,value>>8&255,255&value]:[29,value>>24&255,value>>16&255,value>>8&255,255&value],code}compileHeader(header){return[header.major,header.minor,4,header.offSize]}compileNameIndex(names){const nameIndex=new CFFIndex;for(const name of names){const length=Math.min(name.length,127);let sanitizedName=new Array(length);for(let j=0;j"~"||"["===char||"]"===char||"("===char||")"===char||"{"===char||"}"===char||"<"===char||">"===char||"/"===char||"%"===char)&&(char="_"),sanitizedName[j]=char}sanitizedName=sanitizedName.join(""),""===sanitizedName&&(sanitizedName="Bad_Font_Name"),nameIndex.add((0,_util.stringToBytes)(sanitizedName))}return this.compileIndex(nameIndex)}compileTopDicts(dicts,length,removeCidKeys){const fontDictTrackers=[];let fdArrayIndex=new CFFIndex;for(const fontDict of dicts){removeCidKeys&&(fontDict.removeByName("CIDFontVersion"),fontDict.removeByName("CIDFontRevision"),fontDict.removeByName("CIDFontType"),fontDict.removeByName("CIDCount"),fontDict.removeByName("UIDBase"));const fontDictTracker=new CFFOffsetTracker,fontDictData=this.compileDict(fontDict,fontDictTracker);fontDictTrackers.push(fontDictTracker),fdArrayIndex.add(fontDictData),fontDictTracker.offset(length)}return fdArrayIndex=this.compileIndex(fdArrayIndex,fontDictTrackers),{trackers:fontDictTrackers,output:fdArrayIndex}}compilePrivateDicts(dicts,trackers,output){for(let i=0,ii=dicts.length;i>8&255,255&numGlyphsLessNotDef]);else{out=new Uint8Array(1+2*numGlyphsLessNotDef),out[0]=0;let charsetIndex=0;const numCharsets=charset.charset.length;let warned=!1;for(let i=1;i>8&255,out[i+1]=255&sid}}return this.compileTypedArray(out)}compileEncoding(encoding){return this.compileTypedArray(encoding.raw)}compileFDSelect(fdSelect){const format=fdSelect.format;let out,i;switch(format){case 0:for(out=new Uint8Array(1+fdSelect.fdSelect.length),out[0]=format,i=0;i>8&255,255&start,lastFD];for(i=1;i>8&255,255&i,currentFD),lastFD=currentFD)}const numRanges=(ranges.length-3)/3;ranges[1]=numRanges>>8&255,ranges[2]=255&numRanges,ranges.push(i>>8&255,255&i),out=new Uint8Array(ranges)}return this.compileTypedArray(out)}compileTypedArray(data){return Array.from(data)}compileIndex(index){let trackers=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const objects=index.objects,count=objects.length;if(0===count)return[0,0];const data=[count>>8&255,255&count];let i,offsetSize,lastOffset=1;for(i=0;i>8&255,255&relativeOffset):3===offsetSize?data.push(relativeOffset>>16&255,relativeOffset>>8&255,255&relativeOffset):data.push(relativeOffset>>>24&255,relativeOffset>>16&255,relativeOffset>>8&255,255&relativeOffset),objects[i]&&(relativeOffset+=objects[i].length);for(i=0;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ISOAdobeCharset=exports.ExpertSubsetCharset=exports.ExpertCharset=void 0,exports.ISOAdobeCharset=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],exports.ExpertCharset=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],exports.ExpertSubsetCharset=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"]},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ZapfDingbatsEncoding=exports.WinAnsiEncoding=exports.SymbolSetEncoding=exports.StandardEncoding=exports.MacRomanEncoding=exports.ExpertEncoding=void 0,exports.getEncoding=function(encodingName){switch(encodingName){case"WinAnsiEncoding":return WinAnsiEncoding;case"StandardEncoding":return StandardEncoding;case"MacRomanEncoding":return MacRomanEncoding;case"SymbolSetEncoding":return SymbolSetEncoding;case"ZapfDingbatsEncoding":return ZapfDingbatsEncoding;case"ExpertEncoding":return ExpertEncoding;case"MacExpertEncoding":return MacExpertEncoding;default:return null}};const ExpertEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"];exports.ExpertEncoding=ExpertEncoding;const MacExpertEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall","","","",""],MacRomanEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"];exports.MacRomanEncoding=MacRomanEncoding;const StandardEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls","","","",""];exports.StandardEncoding=StandardEncoding;const WinAnsiEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"];exports.WinAnsiEncoding=WinAnsiEncoding;const SymbolSetEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt",""];exports.SymbolSetEncoding=SymbolSetEncoding;const ZapfDingbatsEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191",""];exports.ZapfDingbatsEncoding=ZapfDingbatsEncoding},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.SEAC_ANALYSIS_ENABLED=exports.MacStandardGlyphOrdering=exports.FontFlags=void 0,exports.normalizeFontName=function(name){return name.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")},exports.recoverGlyphName=recoverGlyphName,exports.type1FontGlyphMapping=function(properties,builtInEncoding,glyphNames){const charCodeToGlyphId=Object.create(null);let glyphId,charCode,baseEncoding;const isSymbolicFont=!!(properties.flags&FontFlags.Symbolic);if(properties.isInternalFont)for(baseEncoding=builtInEncoding,charCode=0;charCode=0?glyphId:0;else if(properties.baseEncodingName)for(baseEncoding=(0,_encodings.getEncoding)(properties.baseEncodingName),charCode=0;charCode=0?glyphId:0;else if(isSymbolicFont)for(charCode in builtInEncoding)charCodeToGlyphId[charCode]=builtInEncoding[charCode];else for(baseEncoding=_encodings.StandardEncoding,charCode=0;charCode=0?glyphId:0;const differences=properties.differences;let glyphsUnicodeMap;if(differences)for(charCode in differences){const glyphName=differences[charCode];if(glyphId=glyphNames.indexOf(glyphName),-1===glyphId){glyphsUnicodeMap||(glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)());const standardGlyphName=recoverGlyphName(glyphName,glyphsUnicodeMap);standardGlyphName!==glyphName&&(glyphId=glyphNames.indexOf(standardGlyphName))}charCodeToGlyphId[charCode]=glyphId>=0?glyphId:0}return charCodeToGlyphId};var _encodings=__w_pdfjs_require__(37),_glyphlist=__w_pdfjs_require__(39),_unicode=__w_pdfjs_require__(40),_util=__w_pdfjs_require__(2);exports.SEAC_ANALYSIS_ENABLED=!0;const FontFlags={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144};function recoverGlyphName(name,glyphsUnicodeMap){if(void 0!==glyphsUnicodeMap[name])return name;const unicode=(0,_unicode.getUnicodeForGlyph)(name,glyphsUnicodeMap);if(-1!==unicode)for(const key in glyphsUnicodeMap)if(glyphsUnicodeMap[key]===unicode)return key;return(0,_util.info)("Unable to recover a standard glyph name for: "+name),name}exports.FontFlags=FontFlags,exports.MacStandardGlyphOrdering=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"]},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.getGlyphsUnicode=exports.getDingbatsGlyphsUnicode=void 0;var _core_utils=__w_pdfjs_require__(3);const getGlyphsUnicode=(0,_core_utils.getLookupTableFactory)((function(t){t.A=65,t.AE=198,t.AEacute=508,t.AEmacron=482,t.AEsmall=63462,t.Aacute=193,t.Aacutesmall=63457,t.Abreve=258,t.Abreveacute=7854,t.Abrevecyrillic=1232,t.Abrevedotbelow=7862,t.Abrevegrave=7856,t.Abrevehookabove=7858,t.Abrevetilde=7860,t.Acaron=461,t.Acircle=9398,t.Acircumflex=194,t.Acircumflexacute=7844,t.Acircumflexdotbelow=7852,t.Acircumflexgrave=7846,t.Acircumflexhookabove=7848,t.Acircumflexsmall=63458,t.Acircumflextilde=7850,t.Acute=63177,t.Acutesmall=63412,t.Acyrillic=1040,t.Adblgrave=512,t.Adieresis=196,t.Adieresiscyrillic=1234,t.Adieresismacron=478,t.Adieresissmall=63460,t.Adotbelow=7840,t.Adotmacron=480,t.Agrave=192,t.Agravesmall=63456,t.Ahookabove=7842,t.Aiecyrillic=1236,t.Ainvertedbreve=514,t.Alpha=913,t.Alphatonos=902,t.Amacron=256,t.Amonospace=65313,t.Aogonek=260,t.Aring=197,t.Aringacute=506,t.Aringbelow=7680,t.Aringsmall=63461,t.Asmall=63329,t.Atilde=195,t.Atildesmall=63459,t.Aybarmenian=1329,t.B=66,t.Bcircle=9399,t.Bdotaccent=7682,t.Bdotbelow=7684,t.Becyrillic=1041,t.Benarmenian=1330,t.Beta=914,t.Bhook=385,t.Blinebelow=7686,t.Bmonospace=65314,t.Brevesmall=63220,t.Bsmall=63330,t.Btopbar=386,t.C=67,t.Caarmenian=1342,t.Cacute=262,t.Caron=63178,t.Caronsmall=63221,t.Ccaron=268,t.Ccedilla=199,t.Ccedillaacute=7688,t.Ccedillasmall=63463,t.Ccircle=9400,t.Ccircumflex=264,t.Cdot=266,t.Cdotaccent=266,t.Cedillasmall=63416,t.Chaarmenian=1353,t.Cheabkhasiancyrillic=1212,t.Checyrillic=1063,t.Chedescenderabkhasiancyrillic=1214,t.Chedescendercyrillic=1206,t.Chedieresiscyrillic=1268,t.Cheharmenian=1347,t.Chekhakassiancyrillic=1227,t.Cheverticalstrokecyrillic=1208,t.Chi=935,t.Chook=391,t.Circumflexsmall=63222,t.Cmonospace=65315,t.Coarmenian=1361,t.Csmall=63331,t.D=68,t.DZ=497,t.DZcaron=452,t.Daarmenian=1332,t.Dafrican=393,t.Dcaron=270,t.Dcedilla=7696,t.Dcircle=9401,t.Dcircumflexbelow=7698,t.Dcroat=272,t.Ddotaccent=7690,t.Ddotbelow=7692,t.Decyrillic=1044,t.Deicoptic=1006,t.Delta=8710,t.Deltagreek=916,t.Dhook=394,t.Dieresis=63179,t.DieresisAcute=63180,t.DieresisGrave=63181,t.Dieresissmall=63400,t.Digammagreek=988,t.Djecyrillic=1026,t.Dlinebelow=7694,t.Dmonospace=65316,t.Dotaccentsmall=63223,t.Dslash=272,t.Dsmall=63332,t.Dtopbar=395,t.Dz=498,t.Dzcaron=453,t.Dzeabkhasiancyrillic=1248,t.Dzecyrillic=1029,t.Dzhecyrillic=1039,t.E=69,t.Eacute=201,t.Eacutesmall=63465,t.Ebreve=276,t.Ecaron=282,t.Ecedillabreve=7708,t.Echarmenian=1333,t.Ecircle=9402,t.Ecircumflex=202,t.Ecircumflexacute=7870,t.Ecircumflexbelow=7704,t.Ecircumflexdotbelow=7878,t.Ecircumflexgrave=7872,t.Ecircumflexhookabove=7874,t.Ecircumflexsmall=63466,t.Ecircumflextilde=7876,t.Ecyrillic=1028,t.Edblgrave=516,t.Edieresis=203,t.Edieresissmall=63467,t.Edot=278,t.Edotaccent=278,t.Edotbelow=7864,t.Efcyrillic=1060,t.Egrave=200,t.Egravesmall=63464,t.Eharmenian=1335,t.Ehookabove=7866,t.Eightroman=8551,t.Einvertedbreve=518,t.Eiotifiedcyrillic=1124,t.Elcyrillic=1051,t.Elevenroman=8554,t.Emacron=274,t.Emacronacute=7702,t.Emacrongrave=7700,t.Emcyrillic=1052,t.Emonospace=65317,t.Encyrillic=1053,t.Endescendercyrillic=1186,t.Eng=330,t.Enghecyrillic=1188,t.Enhookcyrillic=1223,t.Eogonek=280,t.Eopen=400,t.Epsilon=917,t.Epsilontonos=904,t.Ercyrillic=1056,t.Ereversed=398,t.Ereversedcyrillic=1069,t.Escyrillic=1057,t.Esdescendercyrillic=1194,t.Esh=425,t.Esmall=63333,t.Eta=919,t.Etarmenian=1336,t.Etatonos=905,t.Eth=208,t.Ethsmall=63472,t.Etilde=7868,t.Etildebelow=7706,t.Euro=8364,t.Ezh=439,t.Ezhcaron=494,t.Ezhreversed=440,t.F=70,t.Fcircle=9403,t.Fdotaccent=7710,t.Feharmenian=1366,t.Feicoptic=996,t.Fhook=401,t.Fitacyrillic=1138,t.Fiveroman=8548,t.Fmonospace=65318,t.Fourroman=8547,t.Fsmall=63334,t.G=71,t.GBsquare=13191,t.Gacute=500,t.Gamma=915,t.Gammaafrican=404,t.Gangiacoptic=1002,t.Gbreve=286,t.Gcaron=486,t.Gcedilla=290,t.Gcircle=9404,t.Gcircumflex=284,t.Gcommaaccent=290,t.Gdot=288,t.Gdotaccent=288,t.Gecyrillic=1043,t.Ghadarmenian=1346,t.Ghemiddlehookcyrillic=1172,t.Ghestrokecyrillic=1170,t.Gheupturncyrillic=1168,t.Ghook=403,t.Gimarmenian=1331,t.Gjecyrillic=1027,t.Gmacron=7712,t.Gmonospace=65319,t.Grave=63182,t.Gravesmall=63328,t.Gsmall=63335,t.Gsmallhook=667,t.Gstroke=484,t.H=72,t.H18533=9679,t.H18543=9642,t.H18551=9643,t.H22073=9633,t.HPsquare=13259,t.Haabkhasiancyrillic=1192,t.Hadescendercyrillic=1202,t.Hardsigncyrillic=1066,t.Hbar=294,t.Hbrevebelow=7722,t.Hcedilla=7720,t.Hcircle=9405,t.Hcircumflex=292,t.Hdieresis=7718,t.Hdotaccent=7714,t.Hdotbelow=7716,t.Hmonospace=65320,t.Hoarmenian=1344,t.Horicoptic=1e3,t.Hsmall=63336,t.Hungarumlaut=63183,t.Hungarumlautsmall=63224,t.Hzsquare=13200,t.I=73,t.IAcyrillic=1071,t.IJ=306,t.IUcyrillic=1070,t.Iacute=205,t.Iacutesmall=63469,t.Ibreve=300,t.Icaron=463,t.Icircle=9406,t.Icircumflex=206,t.Icircumflexsmall=63470,t.Icyrillic=1030,t.Idblgrave=520,t.Idieresis=207,t.Idieresisacute=7726,t.Idieresiscyrillic=1252,t.Idieresissmall=63471,t.Idot=304,t.Idotaccent=304,t.Idotbelow=7882,t.Iebrevecyrillic=1238,t.Iecyrillic=1045,t.Ifraktur=8465,t.Igrave=204,t.Igravesmall=63468,t.Ihookabove=7880,t.Iicyrillic=1048,t.Iinvertedbreve=522,t.Iishortcyrillic=1049,t.Imacron=298,t.Imacroncyrillic=1250,t.Imonospace=65321,t.Iniarmenian=1339,t.Iocyrillic=1025,t.Iogonek=302,t.Iota=921,t.Iotaafrican=406,t.Iotadieresis=938,t.Iotatonos=906,t.Ismall=63337,t.Istroke=407,t.Itilde=296,t.Itildebelow=7724,t.Izhitsacyrillic=1140,t.Izhitsadblgravecyrillic=1142,t.J=74,t.Jaarmenian=1345,t.Jcircle=9407,t.Jcircumflex=308,t.Jecyrillic=1032,t.Jheharmenian=1355,t.Jmonospace=65322,t.Jsmall=63338,t.K=75,t.KBsquare=13189,t.KKsquare=13261,t.Kabashkircyrillic=1184,t.Kacute=7728,t.Kacyrillic=1050,t.Kadescendercyrillic=1178,t.Kahookcyrillic=1219,t.Kappa=922,t.Kastrokecyrillic=1182,t.Kaverticalstrokecyrillic=1180,t.Kcaron=488,t.Kcedilla=310,t.Kcircle=9408,t.Kcommaaccent=310,t.Kdotbelow=7730,t.Keharmenian=1364,t.Kenarmenian=1343,t.Khacyrillic=1061,t.Kheicoptic=998,t.Khook=408,t.Kjecyrillic=1036,t.Klinebelow=7732,t.Kmonospace=65323,t.Koppacyrillic=1152,t.Koppagreek=990,t.Ksicyrillic=1134,t.Ksmall=63339,t.L=76,t.LJ=455,t.LL=63167,t.Lacute=313,t.Lambda=923,t.Lcaron=317,t.Lcedilla=315,t.Lcircle=9409,t.Lcircumflexbelow=7740,t.Lcommaaccent=315,t.Ldot=319,t.Ldotaccent=319,t.Ldotbelow=7734,t.Ldotbelowmacron=7736,t.Liwnarmenian=1340,t.Lj=456,t.Ljecyrillic=1033,t.Llinebelow=7738,t.Lmonospace=65324,t.Lslash=321,t.Lslashsmall=63225,t.Lsmall=63340,t.M=77,t.MBsquare=13190,t.Macron=63184,t.Macronsmall=63407,t.Macute=7742,t.Mcircle=9410,t.Mdotaccent=7744,t.Mdotbelow=7746,t.Menarmenian=1348,t.Mmonospace=65325,t.Msmall=63341,t.Mturned=412,t.Mu=924,t.N=78,t.NJ=458,t.Nacute=323,t.Ncaron=327,t.Ncedilla=325,t.Ncircle=9411,t.Ncircumflexbelow=7754,t.Ncommaaccent=325,t.Ndotaccent=7748,t.Ndotbelow=7750,t.Nhookleft=413,t.Nineroman=8552,t.Nj=459,t.Njecyrillic=1034,t.Nlinebelow=7752,t.Nmonospace=65326,t.Nowarmenian=1350,t.Nsmall=63342,t.Ntilde=209,t.Ntildesmall=63473,t.Nu=925,t.O=79,t.OE=338,t.OEsmall=63226,t.Oacute=211,t.Oacutesmall=63475,t.Obarredcyrillic=1256,t.Obarreddieresiscyrillic=1258,t.Obreve=334,t.Ocaron=465,t.Ocenteredtilde=415,t.Ocircle=9412,t.Ocircumflex=212,t.Ocircumflexacute=7888,t.Ocircumflexdotbelow=7896,t.Ocircumflexgrave=7890,t.Ocircumflexhookabove=7892,t.Ocircumflexsmall=63476,t.Ocircumflextilde=7894,t.Ocyrillic=1054,t.Odblacute=336,t.Odblgrave=524,t.Odieresis=214,t.Odieresiscyrillic=1254,t.Odieresissmall=63478,t.Odotbelow=7884,t.Ogoneksmall=63227,t.Ograve=210,t.Ogravesmall=63474,t.Oharmenian=1365,t.Ohm=8486,t.Ohookabove=7886,t.Ohorn=416,t.Ohornacute=7898,t.Ohorndotbelow=7906,t.Ohorngrave=7900,t.Ohornhookabove=7902,t.Ohorntilde=7904,t.Ohungarumlaut=336,t.Oi=418,t.Oinvertedbreve=526,t.Omacron=332,t.Omacronacute=7762,t.Omacrongrave=7760,t.Omega=8486,t.Omegacyrillic=1120,t.Omegagreek=937,t.Omegaroundcyrillic=1146,t.Omegatitlocyrillic=1148,t.Omegatonos=911,t.Omicron=927,t.Omicrontonos=908,t.Omonospace=65327,t.Oneroman=8544,t.Oogonek=490,t.Oogonekmacron=492,t.Oopen=390,t.Oslash=216,t.Oslashacute=510,t.Oslashsmall=63480,t.Osmall=63343,t.Ostrokeacute=510,t.Otcyrillic=1150,t.Otilde=213,t.Otildeacute=7756,t.Otildedieresis=7758,t.Otildesmall=63477,t.P=80,t.Pacute=7764,t.Pcircle=9413,t.Pdotaccent=7766,t.Pecyrillic=1055,t.Peharmenian=1354,t.Pemiddlehookcyrillic=1190,t.Phi=934,t.Phook=420,t.Pi=928,t.Piwrarmenian=1363,t.Pmonospace=65328,t.Psi=936,t.Psicyrillic=1136,t.Psmall=63344,t.Q=81,t.Qcircle=9414,t.Qmonospace=65329,t.Qsmall=63345,t.R=82,t.Raarmenian=1356,t.Racute=340,t.Rcaron=344,t.Rcedilla=342,t.Rcircle=9415,t.Rcommaaccent=342,t.Rdblgrave=528,t.Rdotaccent=7768,t.Rdotbelow=7770,t.Rdotbelowmacron=7772,t.Reharmenian=1360,t.Rfraktur=8476,t.Rho=929,t.Ringsmall=63228,t.Rinvertedbreve=530,t.Rlinebelow=7774,t.Rmonospace=65330,t.Rsmall=63346,t.Rsmallinverted=641,t.Rsmallinvertedsuperior=694,t.S=83,t.SF010000=9484,t.SF020000=9492,t.SF030000=9488,t.SF040000=9496,t.SF050000=9532,t.SF060000=9516,t.SF070000=9524,t.SF080000=9500,t.SF090000=9508,t.SF100000=9472,t.SF110000=9474,t.SF190000=9569,t.SF200000=9570,t.SF210000=9558,t.SF220000=9557,t.SF230000=9571,t.SF240000=9553,t.SF250000=9559,t.SF260000=9565,t.SF270000=9564,t.SF280000=9563,t.SF360000=9566,t.SF370000=9567,t.SF380000=9562,t.SF390000=9556,t.SF400000=9577,t.SF410000=9574,t.SF420000=9568,t.SF430000=9552,t.SF440000=9580,t.SF450000=9575,t.SF460000=9576,t.SF470000=9572,t.SF480000=9573,t.SF490000=9561,t.SF500000=9560,t.SF510000=9554,t.SF520000=9555,t.SF530000=9579,t.SF540000=9578,t.Sacute=346,t.Sacutedotaccent=7780,t.Sampigreek=992,t.Scaron=352,t.Scarondotaccent=7782,t.Scaronsmall=63229,t.Scedilla=350,t.Schwa=399,t.Schwacyrillic=1240,t.Schwadieresiscyrillic=1242,t.Scircle=9416,t.Scircumflex=348,t.Scommaaccent=536,t.Sdotaccent=7776,t.Sdotbelow=7778,t.Sdotbelowdotaccent=7784,t.Seharmenian=1357,t.Sevenroman=8550,t.Shaarmenian=1351,t.Shacyrillic=1064,t.Shchacyrillic=1065,t.Sheicoptic=994,t.Shhacyrillic=1210,t.Shimacoptic=1004,t.Sigma=931,t.Sixroman=8549,t.Smonospace=65331,t.Softsigncyrillic=1068,t.Ssmall=63347,t.Stigmagreek=986,t.T=84,t.Tau=932,t.Tbar=358,t.Tcaron=356,t.Tcedilla=354,t.Tcircle=9417,t.Tcircumflexbelow=7792,t.Tcommaaccent=354,t.Tdotaccent=7786,t.Tdotbelow=7788,t.Tecyrillic=1058,t.Tedescendercyrillic=1196,t.Tenroman=8553,t.Tetsecyrillic=1204,t.Theta=920,t.Thook=428,t.Thorn=222,t.Thornsmall=63486,t.Threeroman=8546,t.Tildesmall=63230,t.Tiwnarmenian=1359,t.Tlinebelow=7790,t.Tmonospace=65332,t.Toarmenian=1337,t.Tonefive=444,t.Tonesix=388,t.Tonetwo=423,t.Tretroflexhook=430,t.Tsecyrillic=1062,t.Tshecyrillic=1035,t.Tsmall=63348,t.Twelveroman=8555,t.Tworoman=8545,t.U=85,t.Uacute=218,t.Uacutesmall=63482,t.Ubreve=364,t.Ucaron=467,t.Ucircle=9418,t.Ucircumflex=219,t.Ucircumflexbelow=7798,t.Ucircumflexsmall=63483,t.Ucyrillic=1059,t.Udblacute=368,t.Udblgrave=532,t.Udieresis=220,t.Udieresisacute=471,t.Udieresisbelow=7794,t.Udieresiscaron=473,t.Udieresiscyrillic=1264,t.Udieresisgrave=475,t.Udieresismacron=469,t.Udieresissmall=63484,t.Udotbelow=7908,t.Ugrave=217,t.Ugravesmall=63481,t.Uhookabove=7910,t.Uhorn=431,t.Uhornacute=7912,t.Uhorndotbelow=7920,t.Uhorngrave=7914,t.Uhornhookabove=7916,t.Uhorntilde=7918,t.Uhungarumlaut=368,t.Uhungarumlautcyrillic=1266,t.Uinvertedbreve=534,t.Ukcyrillic=1144,t.Umacron=362,t.Umacroncyrillic=1262,t.Umacrondieresis=7802,t.Umonospace=65333,t.Uogonek=370,t.Upsilon=933,t.Upsilon1=978,t.Upsilonacutehooksymbolgreek=979,t.Upsilonafrican=433,t.Upsilondieresis=939,t.Upsilondieresishooksymbolgreek=980,t.Upsilonhooksymbol=978,t.Upsilontonos=910,t.Uring=366,t.Ushortcyrillic=1038,t.Usmall=63349,t.Ustraightcyrillic=1198,t.Ustraightstrokecyrillic=1200,t.Utilde=360,t.Utildeacute=7800,t.Utildebelow=7796,t.V=86,t.Vcircle=9419,t.Vdotbelow=7806,t.Vecyrillic=1042,t.Vewarmenian=1358,t.Vhook=434,t.Vmonospace=65334,t.Voarmenian=1352,t.Vsmall=63350,t.Vtilde=7804,t.W=87,t.Wacute=7810,t.Wcircle=9420,t.Wcircumflex=372,t.Wdieresis=7812,t.Wdotaccent=7814,t.Wdotbelow=7816,t.Wgrave=7808,t.Wmonospace=65335,t.Wsmall=63351,t.X=88,t.Xcircle=9421,t.Xdieresis=7820,t.Xdotaccent=7818,t.Xeharmenian=1341,t.Xi=926,t.Xmonospace=65336,t.Xsmall=63352,t.Y=89,t.Yacute=221,t.Yacutesmall=63485,t.Yatcyrillic=1122,t.Ycircle=9422,t.Ycircumflex=374,t.Ydieresis=376,t.Ydieresissmall=63487,t.Ydotaccent=7822,t.Ydotbelow=7924,t.Yericyrillic=1067,t.Yerudieresiscyrillic=1272,t.Ygrave=7922,t.Yhook=435,t.Yhookabove=7926,t.Yiarmenian=1349,t.Yicyrillic=1031,t.Yiwnarmenian=1362,t.Ymonospace=65337,t.Ysmall=63353,t.Ytilde=7928,t.Yusbigcyrillic=1130,t.Yusbigiotifiedcyrillic=1132,t.Yuslittlecyrillic=1126,t.Yuslittleiotifiedcyrillic=1128,t.Z=90,t.Zaarmenian=1334,t.Zacute=377,t.Zcaron=381,t.Zcaronsmall=63231,t.Zcircle=9423,t.Zcircumflex=7824,t.Zdot=379,t.Zdotaccent=379,t.Zdotbelow=7826,t.Zecyrillic=1047,t.Zedescendercyrillic=1176,t.Zedieresiscyrillic=1246,t.Zeta=918,t.Zhearmenian=1338,t.Zhebrevecyrillic=1217,t.Zhecyrillic=1046,t.Zhedescendercyrillic=1174,t.Zhedieresiscyrillic=1244,t.Zlinebelow=7828,t.Zmonospace=65338,t.Zsmall=63354,t.Zstroke=437,t.a=97,t.aabengali=2438,t.aacute=225,t.aadeva=2310,t.aagujarati=2694,t.aagurmukhi=2566,t.aamatragurmukhi=2622,t.aarusquare=13059,t.aavowelsignbengali=2494,t.aavowelsigndeva=2366,t.aavowelsigngujarati=2750,t.abbreviationmarkarmenian=1375,t.abbreviationsigndeva=2416,t.abengali=2437,t.abopomofo=12570,t.abreve=259,t.abreveacute=7855,t.abrevecyrillic=1233,t.abrevedotbelow=7863,t.abrevegrave=7857,t.abrevehookabove=7859,t.abrevetilde=7861,t.acaron=462,t.acircle=9424,t.acircumflex=226,t.acircumflexacute=7845,t.acircumflexdotbelow=7853,t.acircumflexgrave=7847,t.acircumflexhookabove=7849,t.acircumflextilde=7851,t.acute=180,t.acutebelowcmb=791,t.acutecmb=769,t.acutecomb=769,t.acutedeva=2388,t.acutelowmod=719,t.acutetonecmb=833,t.acyrillic=1072,t.adblgrave=513,t.addakgurmukhi=2673,t.adeva=2309,t.adieresis=228,t.adieresiscyrillic=1235,t.adieresismacron=479,t.adotbelow=7841,t.adotmacron=481,t.ae=230,t.aeacute=509,t.aekorean=12624,t.aemacron=483,t.afii00208=8213,t.afii08941=8356,t.afii10017=1040,t.afii10018=1041,t.afii10019=1042,t.afii10020=1043,t.afii10021=1044,t.afii10022=1045,t.afii10023=1025,t.afii10024=1046,t.afii10025=1047,t.afii10026=1048,t.afii10027=1049,t.afii10028=1050,t.afii10029=1051,t.afii10030=1052;t.afii10031=1053,t.afii10032=1054,t.afii10033=1055,t.afii10034=1056,t.afii10035=1057,t.afii10036=1058,t.afii10037=1059,t.afii10038=1060,t.afii10039=1061,t.afii10040=1062,t.afii10041=1063,t.afii10042=1064,t.afii10043=1065,t.afii10044=1066,t.afii10045=1067,t.afii10046=1068,t.afii10047=1069,t.afii10048=1070,t.afii10049=1071,t.afii10050=1168,t.afii10051=1026,t.afii10052=1027,t.afii10053=1028,t.afii10054=1029,t.afii10055=1030,t.afii10056=1031,t.afii10057=1032,t.afii10058=1033,t.afii10059=1034,t.afii10060=1035,t.afii10061=1036,t.afii10062=1038,t.afii10063=63172,t.afii10064=63173,t.afii10065=1072,t.afii10066=1073,t.afii10067=1074,t.afii10068=1075,t.afii10069=1076,t.afii10070=1077,t.afii10071=1105,t.afii10072=1078,t.afii10073=1079,t.afii10074=1080,t.afii10075=1081,t.afii10076=1082,t.afii10077=1083,t.afii10078=1084,t.afii10079=1085,t.afii10080=1086,t.afii10081=1087,t.afii10082=1088,t.afii10083=1089,t.afii10084=1090,t.afii10085=1091,t.afii10086=1092,t.afii10087=1093,t.afii10088=1094,t.afii10089=1095,t.afii10090=1096,t.afii10091=1097,t.afii10092=1098,t.afii10093=1099,t.afii10094=1100,t.afii10095=1101,t.afii10096=1102,t.afii10097=1103,t.afii10098=1169,t.afii10099=1106,t.afii10100=1107,t.afii10101=1108,t.afii10102=1109,t.afii10103=1110,t.afii10104=1111,t.afii10105=1112,t.afii10106=1113,t.afii10107=1114,t.afii10108=1115,t.afii10109=1116,t.afii10110=1118,t.afii10145=1039,t.afii10146=1122,t.afii10147=1138,t.afii10148=1140,t.afii10192=63174,t.afii10193=1119,t.afii10194=1123,t.afii10195=1139,t.afii10196=1141,t.afii10831=63175,t.afii10832=63176,t.afii10846=1241,t.afii299=8206,t.afii300=8207,t.afii301=8205,t.afii57381=1642,t.afii57388=1548,t.afii57392=1632,t.afii57393=1633,t.afii57394=1634,t.afii57395=1635,t.afii57396=1636,t.afii57397=1637,t.afii57398=1638,t.afii57399=1639,t.afii57400=1640,t.afii57401=1641,t.afii57403=1563,t.afii57407=1567,t.afii57409=1569,t.afii57410=1570,t.afii57411=1571,t.afii57412=1572,t.afii57413=1573,t.afii57414=1574,t.afii57415=1575,t.afii57416=1576,t.afii57417=1577,t.afii57418=1578,t.afii57419=1579,t.afii57420=1580,t.afii57421=1581,t.afii57422=1582,t.afii57423=1583,t.afii57424=1584,t.afii57425=1585,t.afii57426=1586,t.afii57427=1587,t.afii57428=1588,t.afii57429=1589,t.afii57430=1590,t.afii57431=1591,t.afii57432=1592,t.afii57433=1593,t.afii57434=1594,t.afii57440=1600,t.afii57441=1601,t.afii57442=1602,t.afii57443=1603,t.afii57444=1604,t.afii57445=1605,t.afii57446=1606,t.afii57448=1608,t.afii57449=1609,t.afii57450=1610,t.afii57451=1611,t.afii57452=1612,t.afii57453=1613,t.afii57454=1614,t.afii57455=1615,t.afii57456=1616,t.afii57457=1617,t.afii57458=1618,t.afii57470=1607,t.afii57505=1700,t.afii57506=1662,t.afii57507=1670,t.afii57508=1688,t.afii57509=1711,t.afii57511=1657,t.afii57512=1672,t.afii57513=1681,t.afii57514=1722,t.afii57519=1746,t.afii57534=1749,t.afii57636=8362,t.afii57645=1470,t.afii57658=1475,t.afii57664=1488,t.afii57665=1489,t.afii57666=1490,t.afii57667=1491,t.afii57668=1492,t.afii57669=1493,t.afii57670=1494,t.afii57671=1495,t.afii57672=1496,t.afii57673=1497,t.afii57674=1498,t.afii57675=1499,t.afii57676=1500,t.afii57677=1501,t.afii57678=1502,t.afii57679=1503,t.afii57680=1504,t.afii57681=1505,t.afii57682=1506,t.afii57683=1507,t.afii57684=1508,t.afii57685=1509,t.afii57686=1510,t.afii57687=1511,t.afii57688=1512,t.afii57689=1513,t.afii57690=1514,t.afii57694=64298,t.afii57695=64299,t.afii57700=64331,t.afii57705=64287,t.afii57716=1520,t.afii57717=1521,t.afii57718=1522,t.afii57723=64309,t.afii57793=1460,t.afii57794=1461,t.afii57795=1462,t.afii57796=1467,t.afii57797=1464,t.afii57798=1463,t.afii57799=1456,t.afii57800=1458,t.afii57801=1457,t.afii57802=1459,t.afii57803=1474,t.afii57804=1473,t.afii57806=1465,t.afii57807=1468,t.afii57839=1469,t.afii57841=1471,t.afii57842=1472,t.afii57929=700,t.afii61248=8453,t.afii61289=8467,t.afii61352=8470,t.afii61573=8236,t.afii61574=8237,t.afii61575=8238,t.afii61664=8204,t.afii63167=1645,t.afii64937=701,t.agrave=224,t.agujarati=2693,t.agurmukhi=2565,t.ahiragana=12354,t.ahookabove=7843,t.aibengali=2448,t.aibopomofo=12574,t.aideva=2320,t.aiecyrillic=1237,t.aigujarati=2704,t.aigurmukhi=2576,t.aimatragurmukhi=2632,t.ainarabic=1593,t.ainfinalarabic=65226,t.aininitialarabic=65227,t.ainmedialarabic=65228,t.ainvertedbreve=515,t.aivowelsignbengali=2504,t.aivowelsigndeva=2376,t.aivowelsigngujarati=2760,t.akatakana=12450,t.akatakanahalfwidth=65393,t.akorean=12623,t.alef=1488,t.alefarabic=1575,t.alefdageshhebrew=64304,t.aleffinalarabic=65166,t.alefhamzaabovearabic=1571,t.alefhamzaabovefinalarabic=65156,t.alefhamzabelowarabic=1573,t.alefhamzabelowfinalarabic=65160,t.alefhebrew=1488,t.aleflamedhebrew=64335,t.alefmaddaabovearabic=1570,t.alefmaddaabovefinalarabic=65154,t.alefmaksuraarabic=1609,t.alefmaksurafinalarabic=65264,t.alefmaksurainitialarabic=65267,t.alefmaksuramedialarabic=65268,t.alefpatahhebrew=64302,t.alefqamatshebrew=64303,t.aleph=8501,t.allequal=8780,t.alpha=945,t.alphatonos=940,t.amacron=257,t.amonospace=65345,t.ampersand=38,t.ampersandmonospace=65286,t.ampersandsmall=63270,t.amsquare=13250,t.anbopomofo=12578,t.angbopomofo=12580,t.angbracketleft=12296,t.angbracketright=12297,t.angkhankhuthai=3674,t.angle=8736,t.anglebracketleft=12296,t.anglebracketleftvertical=65087,t.anglebracketright=12297,t.anglebracketrightvertical=65088,t.angleleft=9001,t.angleright=9002,t.angstrom=8491,t.anoteleia=903,t.anudattadeva=2386,t.anusvarabengali=2434,t.anusvaradeva=2306,t.anusvaragujarati=2690,t.aogonek=261,t.apaatosquare=13056,t.aparen=9372,t.apostrophearmenian=1370,t.apostrophemod=700,t.apple=63743,t.approaches=8784,t.approxequal=8776,t.approxequalorimage=8786,t.approximatelyequal=8773,t.araeaekorean=12686,t.araeakorean=12685,t.arc=8978,t.arighthalfring=7834,t.aring=229,t.aringacute=507,t.aringbelow=7681,t.arrowboth=8596,t.arrowdashdown=8675,t.arrowdashleft=8672,t.arrowdashright=8674,t.arrowdashup=8673,t.arrowdblboth=8660,t.arrowdbldown=8659,t.arrowdblleft=8656,t.arrowdblright=8658,t.arrowdblup=8657,t.arrowdown=8595,t.arrowdownleft=8601,t.arrowdownright=8600,t.arrowdownwhite=8681,t.arrowheaddownmod=709,t.arrowheadleftmod=706,t.arrowheadrightmod=707,t.arrowheadupmod=708,t.arrowhorizex=63719,t.arrowleft=8592,t.arrowleftdbl=8656,t.arrowleftdblstroke=8653,t.arrowleftoverright=8646,t.arrowleftwhite=8678,t.arrowright=8594,t.arrowrightdblstroke=8655,t.arrowrightheavy=10142,t.arrowrightoverleft=8644,t.arrowrightwhite=8680,t.arrowtableft=8676,t.arrowtabright=8677,t.arrowup=8593,t.arrowupdn=8597,t.arrowupdnbse=8616,t.arrowupdownbase=8616,t.arrowupleft=8598,t.arrowupleftofdown=8645,t.arrowupright=8599,t.arrowupwhite=8679,t.arrowvertex=63718,t.asciicircum=94,t.asciicircummonospace=65342,t.asciitilde=126,t.asciitildemonospace=65374,t.ascript=593,t.ascriptturned=594,t.asmallhiragana=12353,t.asmallkatakana=12449,t.asmallkatakanahalfwidth=65383,t.asterisk=42,t.asteriskaltonearabic=1645,t.asteriskarabic=1645,t.asteriskmath=8727,t.asteriskmonospace=65290,t.asterisksmall=65121,t.asterism=8258,t.asuperior=63209,t.asymptoticallyequal=8771,t.at=64,t.atilde=227,t.atmonospace=65312,t.atsmall=65131,t.aturned=592,t.aubengali=2452,t.aubopomofo=12576,t.audeva=2324,t.augujarati=2708,t.augurmukhi=2580,t.aulengthmarkbengali=2519,t.aumatragurmukhi=2636,t.auvowelsignbengali=2508,t.auvowelsigndeva=2380,t.auvowelsigngujarati=2764,t.avagrahadeva=2365,t.aybarmenian=1377,t.ayin=1506,t.ayinaltonehebrew=64288,t.ayinhebrew=1506,t.b=98,t.babengali=2476,t.backslash=92,t.backslashmonospace=65340,t.badeva=2348,t.bagujarati=2732,t.bagurmukhi=2604,t.bahiragana=12400,t.bahtthai=3647,t.bakatakana=12496,t.bar=124,t.barmonospace=65372,t.bbopomofo=12549,t.bcircle=9425,t.bdotaccent=7683,t.bdotbelow=7685,t.beamedsixteenthnotes=9836,t.because=8757,t.becyrillic=1073,t.beharabic=1576,t.behfinalarabic=65168,t.behinitialarabic=65169,t.behiragana=12409,t.behmedialarabic=65170,t.behmeeminitialarabic=64671,t.behmeemisolatedarabic=64520,t.behnoonfinalarabic=64621,t.bekatakana=12505,t.benarmenian=1378,t.bet=1489,t.beta=946,t.betasymbolgreek=976,t.betdagesh=64305,t.betdageshhebrew=64305,t.bethebrew=1489,t.betrafehebrew=64332,t.bhabengali=2477,t.bhadeva=2349,t.bhagujarati=2733,t.bhagurmukhi=2605,t.bhook=595,t.bihiragana=12403,t.bikatakana=12499,t.bilabialclick=664,t.bindigurmukhi=2562,t.birusquare=13105,t.blackcircle=9679,t.blackdiamond=9670,t.blackdownpointingtriangle=9660,t.blackleftpointingpointer=9668,t.blackleftpointingtriangle=9664,t.blacklenticularbracketleft=12304,t.blacklenticularbracketleftvertical=65083,t.blacklenticularbracketright=12305,t.blacklenticularbracketrightvertical=65084,t.blacklowerlefttriangle=9699,t.blacklowerrighttriangle=9698,t.blackrectangle=9644,t.blackrightpointingpointer=9658,t.blackrightpointingtriangle=9654,t.blacksmallsquare=9642,t.blacksmilingface=9787,t.blacksquare=9632,t.blackstar=9733,t.blackupperlefttriangle=9700,t.blackupperrighttriangle=9701,t.blackuppointingsmalltriangle=9652,t.blackuppointingtriangle=9650,t.blank=9251,t.blinebelow=7687,t.block=9608,t.bmonospace=65346,t.bobaimaithai=3610,t.bohiragana=12412,t.bokatakana=12508,t.bparen=9373,t.bqsquare=13251,t.braceex=63732,t.braceleft=123,t.braceleftbt=63731,t.braceleftmid=63730,t.braceleftmonospace=65371,t.braceleftsmall=65115,t.bracelefttp=63729,t.braceleftvertical=65079,t.braceright=125,t.bracerightbt=63742,t.bracerightmid=63741,t.bracerightmonospace=65373,t.bracerightsmall=65116,t.bracerighttp=63740,t.bracerightvertical=65080,t.bracketleft=91,t.bracketleftbt=63728,t.bracketleftex=63727,t.bracketleftmonospace=65339,t.bracketlefttp=63726,t.bracketright=93,t.bracketrightbt=63739,t.bracketrightex=63738,t.bracketrightmonospace=65341,t.bracketrighttp=63737,t.breve=728,t.brevebelowcmb=814,t.brevecmb=774,t.breveinvertedbelowcmb=815,t.breveinvertedcmb=785,t.breveinverteddoublecmb=865,t.bridgebelowcmb=810,t.bridgeinvertedbelowcmb=826,t.brokenbar=166,t.bstroke=384,t.bsuperior=63210,t.btopbar=387,t.buhiragana=12406,t.bukatakana=12502,t.bullet=8226,t.bulletinverse=9688,t.bulletoperator=8729,t.bullseye=9678,t.c=99,t.caarmenian=1390,t.cabengali=2458,t.cacute=263,t.cadeva=2330,t.cagujarati=2714,t.cagurmukhi=2586,t.calsquare=13192,t.candrabindubengali=2433,t.candrabinducmb=784,t.candrabindudeva=2305,t.candrabindugujarati=2689,t.capslock=8682,t.careof=8453,t.caron=711,t.caronbelowcmb=812,t.caroncmb=780,t.carriagereturn=8629,t.cbopomofo=12568,t.ccaron=269,t.ccedilla=231,t.ccedillaacute=7689,t.ccircle=9426,t.ccircumflex=265,t.ccurl=597,t.cdot=267,t.cdotaccent=267,t.cdsquare=13253,t.cedilla=184,t.cedillacmb=807,t.cent=162,t.centigrade=8451,t.centinferior=63199,t.centmonospace=65504,t.centoldstyle=63394,t.centsuperior=63200,t.chaarmenian=1401,t.chabengali=2459,t.chadeva=2331,t.chagujarati=2715,t.chagurmukhi=2587,t.chbopomofo=12564,t.cheabkhasiancyrillic=1213,t.checkmark=10003,t.checyrillic=1095,t.chedescenderabkhasiancyrillic=1215,t.chedescendercyrillic=1207,t.chedieresiscyrillic=1269,t.cheharmenian=1395,t.chekhakassiancyrillic=1228,t.cheverticalstrokecyrillic=1209,t.chi=967,t.chieuchacirclekorean=12919,t.chieuchaparenkorean=12823,t.chieuchcirclekorean=12905,t.chieuchkorean=12618,t.chieuchparenkorean=12809,t.chochangthai=3594,t.chochanthai=3592,t.chochingthai=3593,t.chochoethai=3596,t.chook=392,t.cieucacirclekorean=12918,t.cieucaparenkorean=12822,t.cieuccirclekorean=12904,t.cieuckorean=12616,t.cieucparenkorean=12808,t.cieucuparenkorean=12828,t.circle=9675,t.circlecopyrt=169,t.circlemultiply=8855,t.circleot=8857,t.circleplus=8853,t.circlepostalmark=12342,t.circlewithlefthalfblack=9680,t.circlewithrighthalfblack=9681,t.circumflex=710,t.circumflexbelowcmb=813,t.circumflexcmb=770,t.clear=8999,t.clickalveolar=450,t.clickdental=448,t.clicklateral=449,t.clickretroflex=451,t.club=9827,t.clubsuitblack=9827,t.clubsuitwhite=9831,t.cmcubedsquare=13220,t.cmonospace=65347,t.cmsquaredsquare=13216,t.coarmenian=1409,t.colon=58,t.colonmonetary=8353,t.colonmonospace=65306,t.colonsign=8353,t.colonsmall=65109,t.colontriangularhalfmod=721,t.colontriangularmod=720,t.comma=44,t.commaabovecmb=787,t.commaaboverightcmb=789,t.commaaccent=63171,t.commaarabic=1548,t.commaarmenian=1373,t.commainferior=63201,t.commamonospace=65292,t.commareversedabovecmb=788,t.commareversedmod=701,t.commasmall=65104,t.commasuperior=63202,t.commaturnedabovecmb=786,t.commaturnedmod=699,t.compass=9788,t.congruent=8773,t.contourintegral=8750,t.control=8963,t.controlACK=6,t.controlBEL=7,t.controlBS=8,t.controlCAN=24,t.controlCR=13,t.controlDC1=17,t.controlDC2=18,t.controlDC3=19,t.controlDC4=20,t.controlDEL=127,t.controlDLE=16,t.controlEM=25,t.controlENQ=5,t.controlEOT=4,t.controlESC=27,t.controlETB=23,t.controlETX=3,t.controlFF=12,t.controlFS=28,t.controlGS=29,t.controlHT=9,t.controlLF=10,t.controlNAK=21,t.controlNULL=0,t.controlRS=30,t.controlSI=15,t.controlSO=14,t.controlSOT=2,t.controlSTX=1,t.controlSUB=26,t.controlSYN=22,t.controlUS=31,t.controlVT=11,t.copyright=169,t.copyrightsans=63721,t.copyrightserif=63193,t.cornerbracketleft=12300,t.cornerbracketlefthalfwidth=65378,t.cornerbracketleftvertical=65089,t.cornerbracketright=12301,t.cornerbracketrighthalfwidth=65379,t.cornerbracketrightvertical=65090,t.corporationsquare=13183,t.cosquare=13255,t.coverkgsquare=13254,t.cparen=9374,t.cruzeiro=8354,t.cstretched=663,t.curlyand=8911,t.curlyor=8910,t.currency=164,t.cyrBreve=63185,t.cyrFlex=63186,t.cyrbreve=63188,t.cyrflex=63189,t.d=100,t.daarmenian=1380,t.dabengali=2470,t.dadarabic=1590,t.dadeva=2342,t.dadfinalarabic=65214,t.dadinitialarabic=65215,t.dadmedialarabic=65216,t.dagesh=1468,t.dageshhebrew=1468,t.dagger=8224,t.daggerdbl=8225,t.dagujarati=2726,t.dagurmukhi=2598,t.dahiragana=12384,t.dakatakana=12480,t.dalarabic=1583,t.dalet=1491,t.daletdagesh=64307,t.daletdageshhebrew=64307,t.dalethebrew=1491,t.dalfinalarabic=65194,t.dammaarabic=1615,t.dammalowarabic=1615,t.dammatanaltonearabic=1612,t.dammatanarabic=1612,t.danda=2404,t.dargahebrew=1447,t.dargalefthebrew=1447,t.dasiapneumatacyrilliccmb=1157,t.dblGrave=63187,t.dblanglebracketleft=12298,t.dblanglebracketleftvertical=65085,t.dblanglebracketright=12299,t.dblanglebracketrightvertical=65086,t.dblarchinvertedbelowcmb=811,t.dblarrowleft=8660,t.dblarrowright=8658,t.dbldanda=2405,t.dblgrave=63190,t.dblgravecmb=783,t.dblintegral=8748,t.dbllowline=8215,t.dbllowlinecmb=819,t.dbloverlinecmb=831,t.dblprimemod=698,t.dblverticalbar=8214,t.dblverticallineabovecmb=782,t.dbopomofo=12553,t.dbsquare=13256,t.dcaron=271,t.dcedilla=7697,t.dcircle=9427,t.dcircumflexbelow=7699,t.dcroat=273,t.ddabengali=2465,t.ddadeva=2337,t.ddagujarati=2721,t.ddagurmukhi=2593,t.ddalarabic=1672,t.ddalfinalarabic=64393,t.dddhadeva=2396,t.ddhabengali=2466,t.ddhadeva=2338,t.ddhagujarati=2722,t.ddhagurmukhi=2594,t.ddotaccent=7691,t.ddotbelow=7693,t.decimalseparatorarabic=1643,t.decimalseparatorpersian=1643,t.decyrillic=1076,t.degree=176,t.dehihebrew=1453,t.dehiragana=12391,t.deicoptic=1007,t.dekatakana=12487,t.deleteleft=9003,t.deleteright=8998,t.delta=948,t.deltaturned=397,t.denominatorminusonenumeratorbengali=2552,t.dezh=676,t.dhabengali=2471,t.dhadeva=2343,t.dhagujarati=2727,t.dhagurmukhi=2599,t.dhook=599,t.dialytikatonos=901,t.dialytikatonoscmb=836,t.diamond=9830,t.diamondsuitwhite=9826,t.dieresis=168,t.dieresisacute=63191,t.dieresisbelowcmb=804,t.dieresiscmb=776,t.dieresisgrave=63192,t.dieresistonos=901,t.dihiragana=12386,t.dikatakana=12482,t.dittomark=12291,t.divide=247,t.divides=8739,t.divisionslash=8725,t.djecyrillic=1106,t.dkshade=9619,t.dlinebelow=7695,t.dlsquare=13207,t.dmacron=273,t.dmonospace=65348,t.dnblock=9604,t.dochadathai=3598,t.dodekthai=3604,t.dohiragana=12393,t.dokatakana=12489,t.dollar=36;t.dollarinferior=63203,t.dollarmonospace=65284,t.dollaroldstyle=63268,t.dollarsmall=65129,t.dollarsuperior=63204,t.dong=8363,t.dorusquare=13094,t.dotaccent=729,t.dotaccentcmb=775,t.dotbelowcmb=803,t.dotbelowcomb=803,t.dotkatakana=12539,t.dotlessi=305,t.dotlessj=63166,t.dotlessjstrokehook=644,t.dotmath=8901,t.dottedcircle=9676,t.doubleyodpatah=64287,t.doubleyodpatahhebrew=64287,t.downtackbelowcmb=798,t.downtackmod=725,t.dparen=9375,t.dsuperior=63211,t.dtail=598,t.dtopbar=396,t.duhiragana=12389,t.dukatakana=12485,t.dz=499,t.dzaltone=675,t.dzcaron=454,t.dzcurl=677,t.dzeabkhasiancyrillic=1249,t.dzecyrillic=1109,t.dzhecyrillic=1119,t.e=101,t.eacute=233,t.earth=9793,t.ebengali=2447,t.ebopomofo=12572,t.ebreve=277,t.ecandradeva=2317,t.ecandragujarati=2701,t.ecandravowelsigndeva=2373,t.ecandravowelsigngujarati=2757,t.ecaron=283,t.ecedillabreve=7709,t.echarmenian=1381,t.echyiwnarmenian=1415,t.ecircle=9428,t.ecircumflex=234,t.ecircumflexacute=7871,t.ecircumflexbelow=7705,t.ecircumflexdotbelow=7879,t.ecircumflexgrave=7873,t.ecircumflexhookabove=7875,t.ecircumflextilde=7877,t.ecyrillic=1108,t.edblgrave=517,t.edeva=2319,t.edieresis=235,t.edot=279,t.edotaccent=279,t.edotbelow=7865,t.eegurmukhi=2575,t.eematragurmukhi=2631,t.efcyrillic=1092,t.egrave=232,t.egujarati=2703,t.eharmenian=1383,t.ehbopomofo=12573,t.ehiragana=12360,t.ehookabove=7867,t.eibopomofo=12575,t.eight=56,t.eightarabic=1640,t.eightbengali=2542,t.eightcircle=9319,t.eightcircleinversesansserif=10129,t.eightdeva=2414,t.eighteencircle=9329,t.eighteenparen=9349,t.eighteenperiod=9369,t.eightgujarati=2798,t.eightgurmukhi=2670,t.eighthackarabic=1640,t.eighthangzhou=12328,t.eighthnotebeamed=9835,t.eightideographicparen=12839,t.eightinferior=8328,t.eightmonospace=65304,t.eightoldstyle=63288,t.eightparen=9339,t.eightperiod=9359,t.eightpersian=1784,t.eightroman=8567,t.eightsuperior=8312,t.eightthai=3672,t.einvertedbreve=519,t.eiotifiedcyrillic=1125,t.ekatakana=12456,t.ekatakanahalfwidth=65396,t.ekonkargurmukhi=2676,t.ekorean=12628,t.elcyrillic=1083,t.element=8712,t.elevencircle=9322,t.elevenparen=9342,t.elevenperiod=9362,t.elevenroman=8570,t.ellipsis=8230,t.ellipsisvertical=8942,t.emacron=275,t.emacronacute=7703,t.emacrongrave=7701,t.emcyrillic=1084,t.emdash=8212,t.emdashvertical=65073,t.emonospace=65349,t.emphasismarkarmenian=1371,t.emptyset=8709,t.enbopomofo=12579,t.encyrillic=1085,t.endash=8211,t.endashvertical=65074,t.endescendercyrillic=1187,t.eng=331,t.engbopomofo=12581,t.enghecyrillic=1189,t.enhookcyrillic=1224,t.enspace=8194,t.eogonek=281,t.eokorean=12627,t.eopen=603,t.eopenclosed=666,t.eopenreversed=604,t.eopenreversedclosed=606,t.eopenreversedhook=605,t.eparen=9376,t.epsilon=949,t.epsilontonos=941,t.equal=61,t.equalmonospace=65309,t.equalsmall=65126,t.equalsuperior=8316,t.equivalence=8801,t.erbopomofo=12582,t.ercyrillic=1088,t.ereversed=600,t.ereversedcyrillic=1101,t.escyrillic=1089,t.esdescendercyrillic=1195,t.esh=643,t.eshcurl=646,t.eshortdeva=2318,t.eshortvowelsigndeva=2374,t.eshreversedloop=426,t.eshsquatreversed=645,t.esmallhiragana=12359,t.esmallkatakana=12455,t.esmallkatakanahalfwidth=65386,t.estimated=8494,t.esuperior=63212,t.eta=951,t.etarmenian=1384,t.etatonos=942,t.eth=240,t.etilde=7869,t.etildebelow=7707,t.etnahtafoukhhebrew=1425,t.etnahtafoukhlefthebrew=1425,t.etnahtahebrew=1425,t.etnahtalefthebrew=1425,t.eturned=477,t.eukorean=12641,t.euro=8364,t.evowelsignbengali=2503,t.evowelsigndeva=2375,t.evowelsigngujarati=2759,t.exclam=33,t.exclamarmenian=1372,t.exclamdbl=8252,t.exclamdown=161,t.exclamdownsmall=63393,t.exclammonospace=65281,t.exclamsmall=63265,t.existential=8707,t.ezh=658,t.ezhcaron=495,t.ezhcurl=659,t.ezhreversed=441,t.ezhtail=442,t.f=102,t.fadeva=2398,t.fagurmukhi=2654,t.fahrenheit=8457,t.fathaarabic=1614,t.fathalowarabic=1614,t.fathatanarabic=1611,t.fbopomofo=12552,t.fcircle=9429,t.fdotaccent=7711,t.feharabic=1601,t.feharmenian=1414,t.fehfinalarabic=65234,t.fehinitialarabic=65235,t.fehmedialarabic=65236,t.feicoptic=997,t.female=9792,t.ff=64256,t.f_f=64256,t.ffi=64259,t.f_f_i=64259,t.ffl=64260,t.f_f_l=64260,t.fi=64257,t.f_i=64257,t.fifteencircle=9326,t.fifteenparen=9346,t.fifteenperiod=9366,t.figuredash=8210,t.filledbox=9632,t.filledrect=9644,t.finalkaf=1498,t.finalkafdagesh=64314,t.finalkafdageshhebrew=64314,t.finalkafhebrew=1498,t.finalmem=1501,t.finalmemhebrew=1501,t.finalnun=1503,t.finalnunhebrew=1503,t.finalpe=1507,t.finalpehebrew=1507,t.finaltsadi=1509,t.finaltsadihebrew=1509,t.firsttonechinese=713,t.fisheye=9673,t.fitacyrillic=1139,t.five=53,t.fivearabic=1637,t.fivebengali=2539,t.fivecircle=9316,t.fivecircleinversesansserif=10126,t.fivedeva=2411,t.fiveeighths=8541,t.fivegujarati=2795,t.fivegurmukhi=2667,t.fivehackarabic=1637,t.fivehangzhou=12325,t.fiveideographicparen=12836,t.fiveinferior=8325,t.fivemonospace=65301,t.fiveoldstyle=63285,t.fiveparen=9336,t.fiveperiod=9356,t.fivepersian=1781,t.fiveroman=8564,t.fivesuperior=8309,t.fivethai=3669,t.fl=64258,t.f_l=64258,t.florin=402,t.fmonospace=65350,t.fmsquare=13209,t.fofanthai=3615,t.fofathai=3613,t.fongmanthai=3663,t.forall=8704,t.four=52,t.fourarabic=1636,t.fourbengali=2538,t.fourcircle=9315,t.fourcircleinversesansserif=10125,t.fourdeva=2410,t.fourgujarati=2794,t.fourgurmukhi=2666,t.fourhackarabic=1636,t.fourhangzhou=12324,t.fourideographicparen=12835,t.fourinferior=8324,t.fourmonospace=65300,t.fournumeratorbengali=2551,t.fouroldstyle=63284,t.fourparen=9335,t.fourperiod=9355,t.fourpersian=1780,t.fourroman=8563,t.foursuperior=8308,t.fourteencircle=9325,t.fourteenparen=9345,t.fourteenperiod=9365,t.fourthai=3668,t.fourthtonechinese=715,t.fparen=9377,t.fraction=8260,t.franc=8355,t.g=103,t.gabengali=2455,t.gacute=501,t.gadeva=2327,t.gafarabic=1711,t.gaffinalarabic=64403,t.gafinitialarabic=64404,t.gafmedialarabic=64405,t.gagujarati=2711,t.gagurmukhi=2583,t.gahiragana=12364,t.gakatakana=12460,t.gamma=947,t.gammalatinsmall=611,t.gammasuperior=736,t.gangiacoptic=1003,t.gbopomofo=12557,t.gbreve=287,t.gcaron=487,t.gcedilla=291,t.gcircle=9430,t.gcircumflex=285,t.gcommaaccent=291,t.gdot=289,t.gdotaccent=289,t.gecyrillic=1075,t.gehiragana=12370,t.gekatakana=12466,t.geometricallyequal=8785,t.gereshaccenthebrew=1436,t.gereshhebrew=1523,t.gereshmuqdamhebrew=1437,t.germandbls=223,t.gershayimaccenthebrew=1438,t.gershayimhebrew=1524,t.getamark=12307,t.ghabengali=2456,t.ghadarmenian=1394,t.ghadeva=2328,t.ghagujarati=2712,t.ghagurmukhi=2584,t.ghainarabic=1594,t.ghainfinalarabic=65230,t.ghaininitialarabic=65231,t.ghainmedialarabic=65232,t.ghemiddlehookcyrillic=1173,t.ghestrokecyrillic=1171,t.gheupturncyrillic=1169,t.ghhadeva=2394,t.ghhagurmukhi=2650,t.ghook=608,t.ghzsquare=13203,t.gihiragana=12366,t.gikatakana=12462,t.gimarmenian=1379,t.gimel=1490,t.gimeldagesh=64306,t.gimeldageshhebrew=64306,t.gimelhebrew=1490,t.gjecyrillic=1107,t.glottalinvertedstroke=446,t.glottalstop=660,t.glottalstopinverted=662,t.glottalstopmod=704,t.glottalstopreversed=661,t.glottalstopreversedmod=705,t.glottalstopreversedsuperior=740,t.glottalstopstroke=673,t.glottalstopstrokereversed=674,t.gmacron=7713,t.gmonospace=65351,t.gohiragana=12372,t.gokatakana=12468,t.gparen=9378,t.gpasquare=13228,t.gradient=8711,t.grave=96,t.gravebelowcmb=790,t.gravecmb=768,t.gravecomb=768,t.gravedeva=2387,t.gravelowmod=718,t.gravemonospace=65344,t.gravetonecmb=832,t.greater=62,t.greaterequal=8805,t.greaterequalorless=8923,t.greatermonospace=65310,t.greaterorequivalent=8819,t.greaterorless=8823,t.greateroverequal=8807,t.greatersmall=65125,t.gscript=609,t.gstroke=485,t.guhiragana=12368,t.guillemotleft=171,t.guillemotright=187,t.guilsinglleft=8249,t.guilsinglright=8250,t.gukatakana=12464,t.guramusquare=13080,t.gysquare=13257,t.h=104,t.haabkhasiancyrillic=1193,t.haaltonearabic=1729,t.habengali=2489,t.hadescendercyrillic=1203,t.hadeva=2361,t.hagujarati=2745,t.hagurmukhi=2617,t.haharabic=1581,t.hahfinalarabic=65186,t.hahinitialarabic=65187,t.hahiragana=12399,t.hahmedialarabic=65188,t.haitusquare=13098,t.hakatakana=12495,t.hakatakanahalfwidth=65418,t.halantgurmukhi=2637,t.hamzaarabic=1569,t.hamzalowarabic=1569,t.hangulfiller=12644,t.hardsigncyrillic=1098,t.harpoonleftbarbup=8636,t.harpoonrightbarbup=8640,t.hasquare=13258,t.hatafpatah=1458,t.hatafpatah16=1458,t.hatafpatah23=1458,t.hatafpatah2f=1458,t.hatafpatahhebrew=1458,t.hatafpatahnarrowhebrew=1458,t.hatafpatahquarterhebrew=1458,t.hatafpatahwidehebrew=1458,t.hatafqamats=1459,t.hatafqamats1b=1459,t.hatafqamats28=1459,t.hatafqamats34=1459,t.hatafqamatshebrew=1459,t.hatafqamatsnarrowhebrew=1459,t.hatafqamatsquarterhebrew=1459,t.hatafqamatswidehebrew=1459,t.hatafsegol=1457,t.hatafsegol17=1457,t.hatafsegol24=1457,t.hatafsegol30=1457,t.hatafsegolhebrew=1457,t.hatafsegolnarrowhebrew=1457,t.hatafsegolquarterhebrew=1457,t.hatafsegolwidehebrew=1457,t.hbar=295,t.hbopomofo=12559,t.hbrevebelow=7723,t.hcedilla=7721,t.hcircle=9431,t.hcircumflex=293,t.hdieresis=7719,t.hdotaccent=7715,t.hdotbelow=7717,t.he=1492,t.heart=9829,t.heartsuitblack=9829,t.heartsuitwhite=9825,t.hedagesh=64308,t.hedageshhebrew=64308,t.hehaltonearabic=1729,t.heharabic=1607,t.hehebrew=1492,t.hehfinalaltonearabic=64423,t.hehfinalalttwoarabic=65258,t.hehfinalarabic=65258,t.hehhamzaabovefinalarabic=64421,t.hehhamzaaboveisolatedarabic=64420,t.hehinitialaltonearabic=64424,t.hehinitialarabic=65259,t.hehiragana=12408,t.hehmedialaltonearabic=64425,t.hehmedialarabic=65260,t.heiseierasquare=13179,t.hekatakana=12504,t.hekatakanahalfwidth=65421,t.hekutaarusquare=13110,t.henghook=615,t.herutusquare=13113,t.het=1495,t.hethebrew=1495,t.hhook=614,t.hhooksuperior=689,t.hieuhacirclekorean=12923,t.hieuhaparenkorean=12827,t.hieuhcirclekorean=12909,t.hieuhkorean=12622,t.hieuhparenkorean=12813,t.hihiragana=12402,t.hikatakana=12498,t.hikatakanahalfwidth=65419,t.hiriq=1460,t.hiriq14=1460,t.hiriq21=1460,t.hiriq2d=1460,t.hiriqhebrew=1460,t.hiriqnarrowhebrew=1460,t.hiriqquarterhebrew=1460,t.hiriqwidehebrew=1460,t.hlinebelow=7830,t.hmonospace=65352,t.hoarmenian=1392,t.hohipthai=3627,t.hohiragana=12411,t.hokatakana=12507,t.hokatakanahalfwidth=65422,t.holam=1465,t.holam19=1465,t.holam26=1465,t.holam32=1465,t.holamhebrew=1465,t.holamnarrowhebrew=1465,t.holamquarterhebrew=1465,t.holamwidehebrew=1465,t.honokhukthai=3630,t.hookabovecomb=777,t.hookcmb=777,t.hookpalatalizedbelowcmb=801,t.hookretroflexbelowcmb=802,t.hoonsquare=13122,t.horicoptic=1001,t.horizontalbar=8213,t.horncmb=795,t.hotsprings=9832,t.house=8962,t.hparen=9379,t.hsuperior=688,t.hturned=613,t.huhiragana=12405,t.huiitosquare=13107,t.hukatakana=12501,t.hukatakanahalfwidth=65420,t.hungarumlaut=733,t.hungarumlautcmb=779,t.hv=405,t.hyphen=45,t.hypheninferior=63205,t.hyphenmonospace=65293,t.hyphensmall=65123,t.hyphensuperior=63206,t.hyphentwo=8208,t.i=105,t.iacute=237,t.iacyrillic=1103,t.ibengali=2439,t.ibopomofo=12583,t.ibreve=301,t.icaron=464,t.icircle=9432,t.icircumflex=238,t.icyrillic=1110,t.idblgrave=521,t.ideographearthcircle=12943,t.ideographfirecircle=12939,t.ideographicallianceparen=12863,t.ideographiccallparen=12858,t.ideographiccentrecircle=12965,t.ideographicclose=12294,t.ideographiccomma=12289,t.ideographiccommaleft=65380,t.ideographiccongratulationparen=12855,t.ideographiccorrectcircle=12963,t.ideographicearthparen=12847,t.ideographicenterpriseparen=12861,t.ideographicexcellentcircle=12957,t.ideographicfestivalparen=12864,t.ideographicfinancialcircle=12950,t.ideographicfinancialparen=12854,t.ideographicfireparen=12843,t.ideographichaveparen=12850,t.ideographichighcircle=12964,t.ideographiciterationmark=12293,t.ideographiclaborcircle=12952,t.ideographiclaborparen=12856,t.ideographicleftcircle=12967,t.ideographiclowcircle=12966,t.ideographicmedicinecircle=12969,t.ideographicmetalparen=12846,t.ideographicmoonparen=12842,t.ideographicnameparen=12852,t.ideographicperiod=12290,t.ideographicprintcircle=12958,t.ideographicreachparen=12867,t.ideographicrepresentparen=12857,t.ideographicresourceparen=12862,t.ideographicrightcircle=12968,t.ideographicsecretcircle=12953,t.ideographicselfparen=12866,t.ideographicsocietyparen=12851,t.ideographicspace=12288,t.ideographicspecialparen=12853,t.ideographicstockparen=12849,t.ideographicstudyparen=12859,t.ideographicsunparen=12848,t.ideographicsuperviseparen=12860,t.ideographicwaterparen=12844,t.ideographicwoodparen=12845,t.ideographiczero=12295,t.ideographmetalcircle=12942,t.ideographmooncircle=12938,t.ideographnamecircle=12948,t.ideographsuncircle=12944,t.ideographwatercircle=12940,t.ideographwoodcircle=12941,t.ideva=2311,t.idieresis=239,t.idieresisacute=7727,t.idieresiscyrillic=1253,t.idotbelow=7883,t.iebrevecyrillic=1239,t.iecyrillic=1077,t.ieungacirclekorean=12917,t.ieungaparenkorean=12821,t.ieungcirclekorean=12903,t.ieungkorean=12615,t.ieungparenkorean=12807,t.igrave=236,t.igujarati=2695,t.igurmukhi=2567,t.ihiragana=12356,t.ihookabove=7881,t.iibengali=2440,t.iicyrillic=1080,t.iideva=2312,t.iigujarati=2696,t.iigurmukhi=2568,t.iimatragurmukhi=2624,t.iinvertedbreve=523,t.iishortcyrillic=1081,t.iivowelsignbengali=2496,t.iivowelsigndeva=2368,t.iivowelsigngujarati=2752,t.ij=307,t.ikatakana=12452,t.ikatakanahalfwidth=65394,t.ikorean=12643,t.ilde=732,t.iluyhebrew=1452,t.imacron=299,t.imacroncyrillic=1251,t.imageorapproximatelyequal=8787,t.imatragurmukhi=2623,t.imonospace=65353,t.increment=8710,t.infinity=8734,t.iniarmenian=1387,t.integral=8747,t.integralbottom=8993,t.integralbt=8993,t.integralex=63733,t.integraltop=8992,t.integraltp=8992,t.intersection=8745,t.intisquare=13061,t.invbullet=9688,t.invcircle=9689,t.invsmileface=9787,t.iocyrillic=1105,t.iogonek=303,t.iota=953,t.iotadieresis=970,t.iotadieresistonos=912,t.iotalatin=617,t.iotatonos=943,t.iparen=9380,t.irigurmukhi=2674,t.ismallhiragana=12355,t.ismallkatakana=12451,t.ismallkatakanahalfwidth=65384,t.issharbengali=2554,t.istroke=616,t.isuperior=63213,t.iterationhiragana=12445,t.iterationkatakana=12541,t.itilde=297,t.itildebelow=7725,t.iubopomofo=12585,t.iucyrillic=1102,t.ivowelsignbengali=2495,t.ivowelsigndeva=2367,t.ivowelsigngujarati=2751,t.izhitsacyrillic=1141,t.izhitsadblgravecyrillic=1143,t.j=106,t.jaarmenian=1393,t.jabengali=2460,t.jadeva=2332,t.jagujarati=2716,t.jagurmukhi=2588,t.jbopomofo=12560,t.jcaron=496,t.jcircle=9433,t.jcircumflex=309,t.jcrossedtail=669,t.jdotlessstroke=607,t.jecyrillic=1112,t.jeemarabic=1580,t.jeemfinalarabic=65182,t.jeeminitialarabic=65183,t.jeemmedialarabic=65184,t.jeharabic=1688,t.jehfinalarabic=64395,t.jhabengali=2461,t.jhadeva=2333,t.jhagujarati=2717,t.jhagurmukhi=2589,t.jheharmenian=1403,t.jis=12292,t.jmonospace=65354,t.jparen=9381,t.jsuperior=690,t.k=107,t.kabashkircyrillic=1185,t.kabengali=2453,t.kacute=7729,t.kacyrillic=1082,t.kadescendercyrillic=1179,t.kadeva=2325,t.kaf=1499,t.kafarabic=1603,t.kafdagesh=64315,t.kafdageshhebrew=64315,t.kaffinalarabic=65242,t.kafhebrew=1499,t.kafinitialarabic=65243,t.kafmedialarabic=65244,t.kafrafehebrew=64333,t.kagujarati=2709,t.kagurmukhi=2581,t.kahiragana=12363,t.kahookcyrillic=1220,t.kakatakana=12459,t.kakatakanahalfwidth=65398,t.kappa=954,t.kappasymbolgreek=1008,t.kapyeounmieumkorean=12657,t.kapyeounphieuphkorean=12676,t.kapyeounpieupkorean=12664,t.kapyeounssangpieupkorean=12665,t.karoriisquare=13069,t.kashidaautoarabic=1600,t.kashidaautonosidebearingarabic=1600,t.kasmallkatakana=12533,t.kasquare=13188,t.kasraarabic=1616,t.kasratanarabic=1613,t.kastrokecyrillic=1183,t.katahiraprolongmarkhalfwidth=65392,t.kaverticalstrokecyrillic=1181,t.kbopomofo=12558,t.kcalsquare=13193,t.kcaron=489,t.kcedilla=311,t.kcircle=9434,t.kcommaaccent=311,t.kdotbelow=7731,t.keharmenian=1412,t.kehiragana=12369,t.kekatakana=12465,t.kekatakanahalfwidth=65401,t.kenarmenian=1391,t.kesmallkatakana=12534,t.kgreenlandic=312,t.khabengali=2454,t.khacyrillic=1093,t.khadeva=2326,t.khagujarati=2710,t.khagurmukhi=2582,t.khaharabic=1582,t.khahfinalarabic=65190,t.khahinitialarabic=65191,t.khahmedialarabic=65192,t.kheicoptic=999,t.khhadeva=2393,t.khhagurmukhi=2649,t.khieukhacirclekorean=12920,t.khieukhaparenkorean=12824,t.khieukhcirclekorean=12906,t.khieukhkorean=12619,t.khieukhparenkorean=12810,t.khokhaithai=3586,t.khokhonthai=3589,t.khokhuatthai=3587,t.khokhwaithai=3588,t.khomutthai=3675,t.khook=409,t.khorakhangthai=3590,t.khzsquare=13201,t.kihiragana=12365,t.kikatakana=12461,t.kikatakanahalfwidth=65399,t.kiroguramusquare=13077,t.kiromeetorusquare=13078,t.kirosquare=13076,t.kiyeokacirclekorean=12910,t.kiyeokaparenkorean=12814,t.kiyeokcirclekorean=12896,t.kiyeokkorean=12593,t.kiyeokparenkorean=12800,t.kiyeoksioskorean=12595;t.kjecyrillic=1116,t.klinebelow=7733,t.klsquare=13208,t.kmcubedsquare=13222,t.kmonospace=65355,t.kmsquaredsquare=13218,t.kohiragana=12371,t.kohmsquare=13248,t.kokaithai=3585,t.kokatakana=12467,t.kokatakanahalfwidth=65402,t.kooposquare=13086,t.koppacyrillic=1153,t.koreanstandardsymbol=12927,t.koroniscmb=835,t.kparen=9382,t.kpasquare=13226,t.ksicyrillic=1135,t.ktsquare=13263,t.kturned=670,t.kuhiragana=12367,t.kukatakana=12463,t.kukatakanahalfwidth=65400,t.kvsquare=13240,t.kwsquare=13246,t.l=108,t.labengali=2482,t.lacute=314,t.ladeva=2354,t.lagujarati=2738,t.lagurmukhi=2610,t.lakkhangyaothai=3653,t.lamaleffinalarabic=65276,t.lamalefhamzaabovefinalarabic=65272,t.lamalefhamzaaboveisolatedarabic=65271,t.lamalefhamzabelowfinalarabic=65274,t.lamalefhamzabelowisolatedarabic=65273,t.lamalefisolatedarabic=65275,t.lamalefmaddaabovefinalarabic=65270,t.lamalefmaddaaboveisolatedarabic=65269,t.lamarabic=1604,t.lambda=955,t.lambdastroke=411,t.lamed=1500,t.lameddagesh=64316,t.lameddageshhebrew=64316,t.lamedhebrew=1500,t.lamfinalarabic=65246,t.lamhahinitialarabic=64714,t.laminitialarabic=65247,t.lamjeeminitialarabic=64713,t.lamkhahinitialarabic=64715,t.lamlamhehisolatedarabic=65010,t.lammedialarabic=65248,t.lammeemhahinitialarabic=64904,t.lammeeminitialarabic=64716,t.largecircle=9711,t.lbar=410,t.lbelt=620,t.lbopomofo=12556,t.lcaron=318,t.lcedilla=316,t.lcircle=9435,t.lcircumflexbelow=7741,t.lcommaaccent=316,t.ldot=320,t.ldotaccent=320,t.ldotbelow=7735,t.ldotbelowmacron=7737,t.leftangleabovecmb=794,t.lefttackbelowcmb=792,t.less=60,t.lessequal=8804,t.lessequalorgreater=8922,t.lessmonospace=65308,t.lessorequivalent=8818,t.lessorgreater=8822,t.lessoverequal=8806,t.lesssmall=65124,t.lezh=622,t.lfblock=9612,t.lhookretroflex=621,t.lira=8356,t.liwnarmenian=1388,t.lj=457,t.ljecyrillic=1113,t.ll=63168,t.lladeva=2355,t.llagujarati=2739,t.llinebelow=7739,t.llladeva=2356,t.llvocalicbengali=2529,t.llvocalicdeva=2401,t.llvocalicvowelsignbengali=2531,t.llvocalicvowelsigndeva=2403,t.lmiddletilde=619,t.lmonospace=65356,t.lmsquare=13264,t.lochulathai=3628,t.logicaland=8743,t.logicalnot=172,t.logicalnotreversed=8976,t.logicalor=8744,t.lolingthai=3621,t.longs=383,t.lowlinecenterline=65102,t.lowlinecmb=818,t.lowlinedashed=65101,t.lozenge=9674,t.lparen=9383,t.lslash=322,t.lsquare=8467,t.lsuperior=63214,t.ltshade=9617,t.luthai=3622,t.lvocalicbengali=2444,t.lvocalicdeva=2316,t.lvocalicvowelsignbengali=2530,t.lvocalicvowelsigndeva=2402,t.lxsquare=13267,t.m=109,t.mabengali=2478,t.macron=175,t.macronbelowcmb=817,t.macroncmb=772,t.macronlowmod=717,t.macronmonospace=65507,t.macute=7743,t.madeva=2350,t.magujarati=2734,t.magurmukhi=2606,t.mahapakhhebrew=1444,t.mahapakhlefthebrew=1444,t.mahiragana=12414,t.maichattawalowleftthai=63637,t.maichattawalowrightthai=63636,t.maichattawathai=3659,t.maichattawaupperleftthai=63635,t.maieklowleftthai=63628,t.maieklowrightthai=63627,t.maiekthai=3656,t.maiekupperleftthai=63626,t.maihanakatleftthai=63620,t.maihanakatthai=3633,t.maitaikhuleftthai=63625,t.maitaikhuthai=3655,t.maitholowleftthai=63631,t.maitholowrightthai=63630,t.maithothai=3657,t.maithoupperleftthai=63629,t.maitrilowleftthai=63634,t.maitrilowrightthai=63633,t.maitrithai=3658,t.maitriupperleftthai=63632,t.maiyamokthai=3654,t.makatakana=12510,t.makatakanahalfwidth=65423,t.male=9794,t.mansyonsquare=13127,t.maqafhebrew=1470,t.mars=9794,t.masoracirclehebrew=1455,t.masquare=13187,t.mbopomofo=12551,t.mbsquare=13268,t.mcircle=9436,t.mcubedsquare=13221,t.mdotaccent=7745,t.mdotbelow=7747,t.meemarabic=1605,t.meemfinalarabic=65250,t.meeminitialarabic=65251,t.meemmedialarabic=65252,t.meemmeeminitialarabic=64721,t.meemmeemisolatedarabic=64584,t.meetorusquare=13133,t.mehiragana=12417,t.meizierasquare=13182,t.mekatakana=12513,t.mekatakanahalfwidth=65426,t.mem=1502,t.memdagesh=64318,t.memdageshhebrew=64318,t.memhebrew=1502,t.menarmenian=1396,t.merkhahebrew=1445,t.merkhakefulahebrew=1446,t.merkhakefulalefthebrew=1446,t.merkhalefthebrew=1445,t.mhook=625,t.mhzsquare=13202,t.middledotkatakanahalfwidth=65381,t.middot=183,t.mieumacirclekorean=12914,t.mieumaparenkorean=12818,t.mieumcirclekorean=12900,t.mieumkorean=12609,t.mieumpansioskorean=12656,t.mieumparenkorean=12804,t.mieumpieupkorean=12654,t.mieumsioskorean=12655,t.mihiragana=12415,t.mikatakana=12511,t.mikatakanahalfwidth=65424,t.minus=8722,t.minusbelowcmb=800,t.minuscircle=8854,t.minusmod=727,t.minusplus=8723,t.minute=8242,t.miribaarusquare=13130,t.mirisquare=13129,t.mlonglegturned=624,t.mlsquare=13206,t.mmcubedsquare=13219,t.mmonospace=65357,t.mmsquaredsquare=13215,t.mohiragana=12418,t.mohmsquare=13249,t.mokatakana=12514,t.mokatakanahalfwidth=65427,t.molsquare=13270,t.momathai=3617,t.moverssquare=13223,t.moverssquaredsquare=13224,t.mparen=9384,t.mpasquare=13227,t.mssquare=13235,t.msuperior=63215,t.mturned=623,t.mu=181,t.mu1=181,t.muasquare=13186,t.muchgreater=8811,t.muchless=8810,t.mufsquare=13196,t.mugreek=956,t.mugsquare=13197,t.muhiragana=12416,t.mukatakana=12512,t.mukatakanahalfwidth=65425,t.mulsquare=13205,t.multiply=215,t.mumsquare=13211,t.munahhebrew=1443,t.munahlefthebrew=1443,t.musicalnote=9834,t.musicalnotedbl=9835,t.musicflatsign=9837,t.musicsharpsign=9839,t.mussquare=13234,t.muvsquare=13238,t.muwsquare=13244,t.mvmegasquare=13241,t.mvsquare=13239,t.mwmegasquare=13247,t.mwsquare=13245,t.n=110,t.nabengali=2472,t.nabla=8711,t.nacute=324,t.nadeva=2344,t.nagujarati=2728,t.nagurmukhi=2600,t.nahiragana=12394,t.nakatakana=12490,t.nakatakanahalfwidth=65413,t.napostrophe=329,t.nasquare=13185,t.nbopomofo=12555,t.nbspace=160,t.ncaron=328,t.ncedilla=326,t.ncircle=9437,t.ncircumflexbelow=7755,t.ncommaaccent=326,t.ndotaccent=7749,t.ndotbelow=7751,t.nehiragana=12397,t.nekatakana=12493,t.nekatakanahalfwidth=65416,t.newsheqelsign=8362,t.nfsquare=13195,t.ngabengali=2457,t.ngadeva=2329,t.ngagujarati=2713,t.ngagurmukhi=2585,t.ngonguthai=3591,t.nhiragana=12435,t.nhookleft=626,t.nhookretroflex=627,t.nieunacirclekorean=12911,t.nieunaparenkorean=12815,t.nieuncieuckorean=12597,t.nieuncirclekorean=12897,t.nieunhieuhkorean=12598,t.nieunkorean=12596,t.nieunpansioskorean=12648,t.nieunparenkorean=12801,t.nieunsioskorean=12647,t.nieuntikeutkorean=12646,t.nihiragana=12395,t.nikatakana=12491,t.nikatakanahalfwidth=65414,t.nikhahitleftthai=63641,t.nikhahitthai=3661,t.nine=57,t.ninearabic=1641,t.ninebengali=2543,t.ninecircle=9320,t.ninecircleinversesansserif=10130,t.ninedeva=2415,t.ninegujarati=2799,t.ninegurmukhi=2671,t.ninehackarabic=1641,t.ninehangzhou=12329,t.nineideographicparen=12840,t.nineinferior=8329,t.ninemonospace=65305,t.nineoldstyle=63289,t.nineparen=9340,t.nineperiod=9360,t.ninepersian=1785,t.nineroman=8568,t.ninesuperior=8313,t.nineteencircle=9330,t.nineteenparen=9350,t.nineteenperiod=9370,t.ninethai=3673,t.nj=460,t.njecyrillic=1114,t.nkatakana=12531,t.nkatakanahalfwidth=65437,t.nlegrightlong=414,t.nlinebelow=7753,t.nmonospace=65358,t.nmsquare=13210,t.nnabengali=2467,t.nnadeva=2339,t.nnagujarati=2723,t.nnagurmukhi=2595,t.nnnadeva=2345,t.nohiragana=12398,t.nokatakana=12494,t.nokatakanahalfwidth=65417,t.nonbreakingspace=160,t.nonenthai=3603,t.nonuthai=3609,t.noonarabic=1606,t.noonfinalarabic=65254,t.noonghunnaarabic=1722,t.noonghunnafinalarabic=64415,t.nooninitialarabic=65255,t.noonjeeminitialarabic=64722,t.noonjeemisolatedarabic=64587,t.noonmedialarabic=65256,t.noonmeeminitialarabic=64725,t.noonmeemisolatedarabic=64590,t.noonnoonfinalarabic=64653,t.notcontains=8716,t.notelement=8713,t.notelementof=8713,t.notequal=8800,t.notgreater=8815,t.notgreaternorequal=8817,t.notgreaternorless=8825,t.notidentical=8802,t.notless=8814,t.notlessnorequal=8816,t.notparallel=8742,t.notprecedes=8832,t.notsubset=8836,t.notsucceeds=8833,t.notsuperset=8837,t.nowarmenian=1398,t.nparen=9385,t.nssquare=13233,t.nsuperior=8319,t.ntilde=241,t.nu=957,t.nuhiragana=12396,t.nukatakana=12492,t.nukatakanahalfwidth=65415,t.nuktabengali=2492,t.nuktadeva=2364,t.nuktagujarati=2748,t.nuktagurmukhi=2620,t.numbersign=35,t.numbersignmonospace=65283,t.numbersignsmall=65119,t.numeralsigngreek=884,t.numeralsignlowergreek=885,t.numero=8470,t.nun=1504,t.nundagesh=64320,t.nundageshhebrew=64320,t.nunhebrew=1504,t.nvsquare=13237,t.nwsquare=13243,t.nyabengali=2462,t.nyadeva=2334,t.nyagujarati=2718,t.nyagurmukhi=2590,t.o=111,t.oacute=243,t.oangthai=3629,t.obarred=629,t.obarredcyrillic=1257,t.obarreddieresiscyrillic=1259,t.obengali=2451,t.obopomofo=12571,t.obreve=335,t.ocandradeva=2321,t.ocandragujarati=2705,t.ocandravowelsigndeva=2377,t.ocandravowelsigngujarati=2761,t.ocaron=466,t.ocircle=9438,t.ocircumflex=244,t.ocircumflexacute=7889,t.ocircumflexdotbelow=7897,t.ocircumflexgrave=7891,t.ocircumflexhookabove=7893,t.ocircumflextilde=7895,t.ocyrillic=1086,t.odblacute=337,t.odblgrave=525,t.odeva=2323,t.odieresis=246,t.odieresiscyrillic=1255,t.odotbelow=7885,t.oe=339,t.oekorean=12634,t.ogonek=731,t.ogonekcmb=808,t.ograve=242,t.ogujarati=2707,t.oharmenian=1413,t.ohiragana=12362,t.ohookabove=7887,t.ohorn=417,t.ohornacute=7899,t.ohorndotbelow=7907,t.ohorngrave=7901,t.ohornhookabove=7903,t.ohorntilde=7905,t.ohungarumlaut=337,t.oi=419,t.oinvertedbreve=527,t.okatakana=12458,t.okatakanahalfwidth=65397,t.okorean=12631,t.olehebrew=1451,t.omacron=333,t.omacronacute=7763,t.omacrongrave=7761,t.omdeva=2384,t.omega=969,t.omega1=982,t.omegacyrillic=1121,t.omegalatinclosed=631,t.omegaroundcyrillic=1147,t.omegatitlocyrillic=1149,t.omegatonos=974,t.omgujarati=2768,t.omicron=959,t.omicrontonos=972,t.omonospace=65359,t.one=49,t.onearabic=1633,t.onebengali=2535,t.onecircle=9312,t.onecircleinversesansserif=10122,t.onedeva=2407,t.onedotenleader=8228,t.oneeighth=8539,t.onefitted=63196,t.onegujarati=2791,t.onegurmukhi=2663,t.onehackarabic=1633,t.onehalf=189,t.onehangzhou=12321,t.oneideographicparen=12832,t.oneinferior=8321,t.onemonospace=65297,t.onenumeratorbengali=2548,t.oneoldstyle=63281,t.oneparen=9332,t.oneperiod=9352,t.onepersian=1777,t.onequarter=188,t.oneroman=8560,t.onesuperior=185,t.onethai=3665,t.onethird=8531,t.oogonek=491,t.oogonekmacron=493,t.oogurmukhi=2579,t.oomatragurmukhi=2635,t.oopen=596,t.oparen=9386,t.openbullet=9702,t.option=8997,t.ordfeminine=170,t.ordmasculine=186,t.orthogonal=8735,t.oshortdeva=2322,t.oshortvowelsigndeva=2378,t.oslash=248,t.oslashacute=511,t.osmallhiragana=12361,t.osmallkatakana=12457,t.osmallkatakanahalfwidth=65387,t.ostrokeacute=511,t.osuperior=63216,t.otcyrillic=1151,t.otilde=245,t.otildeacute=7757,t.otildedieresis=7759,t.oubopomofo=12577,t.overline=8254,t.overlinecenterline=65098,t.overlinecmb=773,t.overlinedashed=65097,t.overlinedblwavy=65100,t.overlinewavy=65099,t.overscore=175,t.ovowelsignbengali=2507,t.ovowelsigndeva=2379,t.ovowelsigngujarati=2763,t.p=112,t.paampssquare=13184,t.paasentosquare=13099,t.pabengali=2474,t.pacute=7765,t.padeva=2346,t.pagedown=8671,t.pageup=8670,t.pagujarati=2730,t.pagurmukhi=2602,t.pahiragana=12401,t.paiyannoithai=3631,t.pakatakana=12497,t.palatalizationcyrilliccmb=1156,t.palochkacyrillic=1216,t.pansioskorean=12671,t.paragraph=182,t.parallel=8741,t.parenleft=40,t.parenleftaltonearabic=64830,t.parenleftbt=63725,t.parenleftex=63724,t.parenleftinferior=8333,t.parenleftmonospace=65288,t.parenleftsmall=65113,t.parenleftsuperior=8317,t.parenlefttp=63723,t.parenleftvertical=65077,t.parenright=41,t.parenrightaltonearabic=64831,t.parenrightbt=63736,t.parenrightex=63735,t.parenrightinferior=8334,t.parenrightmonospace=65289,t.parenrightsmall=65114,t.parenrightsuperior=8318,t.parenrighttp=63734,t.parenrightvertical=65078,t.partialdiff=8706,t.paseqhebrew=1472,t.pashtahebrew=1433,t.pasquare=13225,t.patah=1463,t.patah11=1463,t.patah1d=1463,t.patah2a=1463,t.patahhebrew=1463,t.patahnarrowhebrew=1463,t.patahquarterhebrew=1463,t.patahwidehebrew=1463,t.pazerhebrew=1441,t.pbopomofo=12550,t.pcircle=9439,t.pdotaccent=7767,t.pe=1508,t.pecyrillic=1087,t.pedagesh=64324,t.pedageshhebrew=64324,t.peezisquare=13115,t.pefinaldageshhebrew=64323,t.peharabic=1662,t.peharmenian=1402,t.pehebrew=1508,t.pehfinalarabic=64343,t.pehinitialarabic=64344,t.pehiragana=12410,t.pehmedialarabic=64345,t.pekatakana=12506,t.pemiddlehookcyrillic=1191,t.perafehebrew=64334,t.percent=37,t.percentarabic=1642,t.percentmonospace=65285,t.percentsmall=65130,t.period=46,t.periodarmenian=1417,t.periodcentered=183,t.periodhalfwidth=65377,t.periodinferior=63207,t.periodmonospace=65294,t.periodsmall=65106,t.periodsuperior=63208,t.perispomenigreekcmb=834,t.perpendicular=8869,t.perthousand=8240,t.peseta=8359,t.pfsquare=13194,t.phabengali=2475,t.phadeva=2347,t.phagujarati=2731,t.phagurmukhi=2603,t.phi=966,t.phi1=981,t.phieuphacirclekorean=12922,t.phieuphaparenkorean=12826,t.phieuphcirclekorean=12908,t.phieuphkorean=12621,t.phieuphparenkorean=12812,t.philatin=632,t.phinthuthai=3642,t.phisymbolgreek=981,t.phook=421,t.phophanthai=3614,t.phophungthai=3612,t.phosamphaothai=3616,t.pi=960,t.pieupacirclekorean=12915,t.pieupaparenkorean=12819,t.pieupcieuckorean=12662,t.pieupcirclekorean=12901,t.pieupkiyeokkorean=12658,t.pieupkorean=12610,t.pieupparenkorean=12805,t.pieupsioskiyeokkorean=12660,t.pieupsioskorean=12612,t.pieupsiostikeutkorean=12661,t.pieupthieuthkorean=12663,t.pieuptikeutkorean=12659,t.pihiragana=12404,t.pikatakana=12500,t.pisymbolgreek=982,t.piwrarmenian=1411,t.planckover2pi=8463,t.planckover2pi1=8463,t.plus=43,t.plusbelowcmb=799,t.pluscircle=8853,t.plusminus=177,t.plusmod=726,t.plusmonospace=65291,t.plussmall=65122,t.plussuperior=8314,t.pmonospace=65360,t.pmsquare=13272,t.pohiragana=12413,t.pointingindexdownwhite=9759,t.pointingindexleftwhite=9756,t.pointingindexrightwhite=9758,t.pointingindexupwhite=9757,t.pokatakana=12509,t.poplathai=3611,t.postalmark=12306,t.postalmarkface=12320,t.pparen=9387,t.precedes=8826,t.prescription=8478,t.primemod=697,t.primereversed=8245,t.product=8719,t.projective=8965,t.prolongedkana=12540,t.propellor=8984,t.propersubset=8834,t.propersuperset=8835,t.proportion=8759,t.proportional=8733,t.psi=968,t.psicyrillic=1137,t.psilipneumatacyrilliccmb=1158,t.pssquare=13232,t.puhiragana=12407,t.pukatakana=12503,t.pvsquare=13236,t.pwsquare=13242,t.q=113,t.qadeva=2392,t.qadmahebrew=1448,t.qafarabic=1602,t.qaffinalarabic=65238,t.qafinitialarabic=65239,t.qafmedialarabic=65240,t.qamats=1464,t.qamats10=1464,t.qamats1a=1464,t.qamats1c=1464,t.qamats27=1464,t.qamats29=1464,t.qamats33=1464,t.qamatsde=1464,t.qamatshebrew=1464,t.qamatsnarrowhebrew=1464,t.qamatsqatanhebrew=1464,t.qamatsqatannarrowhebrew=1464,t.qamatsqatanquarterhebrew=1464,t.qamatsqatanwidehebrew=1464,t.qamatsquarterhebrew=1464,t.qamatswidehebrew=1464,t.qarneyparahebrew=1439,t.qbopomofo=12561,t.qcircle=9440,t.qhook=672,t.qmonospace=65361,t.qof=1511,t.qofdagesh=64327,t.qofdageshhebrew=64327,t.qofhebrew=1511,t.qparen=9388,t.quarternote=9833,t.qubuts=1467,t.qubuts18=1467,t.qubuts25=1467,t.qubuts31=1467,t.qubutshebrew=1467,t.qubutsnarrowhebrew=1467,t.qubutsquarterhebrew=1467,t.qubutswidehebrew=1467,t.question=63,t.questionarabic=1567,t.questionarmenian=1374,t.questiondown=191,t.questiondownsmall=63423,t.questiongreek=894,t.questionmonospace=65311,t.questionsmall=63295,t.quotedbl=34,t.quotedblbase=8222,t.quotedblleft=8220,t.quotedblmonospace=65282,t.quotedblprime=12318,t.quotedblprimereversed=12317,t.quotedblright=8221,t.quoteleft=8216,t.quoteleftreversed=8219,t.quotereversed=8219,t.quoteright=8217,t.quoterightn=329,t.quotesinglbase=8218,t.quotesingle=39,t.quotesinglemonospace=65287,t.r=114,t.raarmenian=1404,t.rabengali=2480,t.racute=341,t.radeva=2352,t.radical=8730,t.radicalex=63717,t.radoverssquare=13230,t.radoverssquaredsquare=13231,t.radsquare=13229,t.rafe=1471,t.rafehebrew=1471,t.ragujarati=2736,t.ragurmukhi=2608,t.rahiragana=12425,t.rakatakana=12521,t.rakatakanahalfwidth=65431,t.ralowerdiagonalbengali=2545,t.ramiddlediagonalbengali=2544,t.ramshorn=612,t.ratio=8758,t.rbopomofo=12566,t.rcaron=345,t.rcedilla=343,t.rcircle=9441,t.rcommaaccent=343,t.rdblgrave=529,t.rdotaccent=7769,t.rdotbelow=7771,t.rdotbelowmacron=7773,t.referencemark=8251,t.reflexsubset=8838,t.reflexsuperset=8839,t.registered=174,t.registersans=63720,t.registerserif=63194,t.reharabic=1585,t.reharmenian=1408,t.rehfinalarabic=65198,t.rehiragana=12428,t.rekatakana=12524;t.rekatakanahalfwidth=65434,t.resh=1512,t.reshdageshhebrew=64328,t.reshhebrew=1512,t.reversedtilde=8765,t.reviahebrew=1431,t.reviamugrashhebrew=1431,t.revlogicalnot=8976,t.rfishhook=638,t.rfishhookreversed=639,t.rhabengali=2525,t.rhadeva=2397,t.rho=961,t.rhook=637,t.rhookturned=635,t.rhookturnedsuperior=693,t.rhosymbolgreek=1009,t.rhotichookmod=734,t.rieulacirclekorean=12913,t.rieulaparenkorean=12817,t.rieulcirclekorean=12899,t.rieulhieuhkorean=12608,t.rieulkiyeokkorean=12602,t.rieulkiyeoksioskorean=12649,t.rieulkorean=12601,t.rieulmieumkorean=12603,t.rieulpansioskorean=12652,t.rieulparenkorean=12803,t.rieulphieuphkorean=12607,t.rieulpieupkorean=12604,t.rieulpieupsioskorean=12651,t.rieulsioskorean=12605,t.rieulthieuthkorean=12606,t.rieultikeutkorean=12650,t.rieulyeorinhieuhkorean=12653,t.rightangle=8735,t.righttackbelowcmb=793,t.righttriangle=8895,t.rihiragana=12426,t.rikatakana=12522,t.rikatakanahalfwidth=65432,t.ring=730,t.ringbelowcmb=805,t.ringcmb=778,t.ringhalfleft=703,t.ringhalfleftarmenian=1369,t.ringhalfleftbelowcmb=796,t.ringhalfleftcentered=723,t.ringhalfright=702,t.ringhalfrightbelowcmb=825,t.ringhalfrightcentered=722,t.rinvertedbreve=531,t.rittorusquare=13137,t.rlinebelow=7775,t.rlongleg=636,t.rlonglegturned=634,t.rmonospace=65362,t.rohiragana=12429,t.rokatakana=12525,t.rokatakanahalfwidth=65435,t.roruathai=3619,t.rparen=9389,t.rrabengali=2524,t.rradeva=2353,t.rragurmukhi=2652,t.rreharabic=1681,t.rrehfinalarabic=64397,t.rrvocalicbengali=2528,t.rrvocalicdeva=2400,t.rrvocalicgujarati=2784,t.rrvocalicvowelsignbengali=2500,t.rrvocalicvowelsigndeva=2372,t.rrvocalicvowelsigngujarati=2756,t.rsuperior=63217,t.rtblock=9616,t.rturned=633,t.rturnedsuperior=692,t.ruhiragana=12427,t.rukatakana=12523,t.rukatakanahalfwidth=65433,t.rupeemarkbengali=2546,t.rupeesignbengali=2547,t.rupiah=63197,t.ruthai=3620,t.rvocalicbengali=2443,t.rvocalicdeva=2315,t.rvocalicgujarati=2699,t.rvocalicvowelsignbengali=2499,t.rvocalicvowelsigndeva=2371,t.rvocalicvowelsigngujarati=2755,t.s=115,t.sabengali=2488,t.sacute=347,t.sacutedotaccent=7781,t.sadarabic=1589,t.sadeva=2360,t.sadfinalarabic=65210,t.sadinitialarabic=65211,t.sadmedialarabic=65212,t.sagujarati=2744,t.sagurmukhi=2616,t.sahiragana=12373,t.sakatakana=12469,t.sakatakanahalfwidth=65403,t.sallallahoualayhewasallamarabic=65018,t.samekh=1505,t.samekhdagesh=64321,t.samekhdageshhebrew=64321,t.samekhhebrew=1505,t.saraaathai=3634,t.saraaethai=3649,t.saraaimaimalaithai=3652,t.saraaimaimuanthai=3651,t.saraamthai=3635,t.saraathai=3632,t.saraethai=3648,t.saraiileftthai=63622,t.saraiithai=3637,t.saraileftthai=63621,t.saraithai=3636,t.saraothai=3650,t.saraueeleftthai=63624,t.saraueethai=3639,t.saraueleftthai=63623,t.sarauethai=3638,t.sarauthai=3640,t.sarauuthai=3641,t.sbopomofo=12569,t.scaron=353,t.scarondotaccent=7783,t.scedilla=351,t.schwa=601,t.schwacyrillic=1241,t.schwadieresiscyrillic=1243,t.schwahook=602,t.scircle=9442,t.scircumflex=349,t.scommaaccent=537,t.sdotaccent=7777,t.sdotbelow=7779,t.sdotbelowdotaccent=7785,t.seagullbelowcmb=828,t.second=8243,t.secondtonechinese=714,t.section=167,t.seenarabic=1587,t.seenfinalarabic=65202,t.seeninitialarabic=65203,t.seenmedialarabic=65204,t.segol=1462,t.segol13=1462,t.segol1f=1462,t.segol2c=1462,t.segolhebrew=1462,t.segolnarrowhebrew=1462,t.segolquarterhebrew=1462,t.segoltahebrew=1426,t.segolwidehebrew=1462,t.seharmenian=1405,t.sehiragana=12379,t.sekatakana=12475,t.sekatakanahalfwidth=65406,t.semicolon=59,t.semicolonarabic=1563,t.semicolonmonospace=65307,t.semicolonsmall=65108,t.semivoicedmarkkana=12444,t.semivoicedmarkkanahalfwidth=65439,t.sentisquare=13090,t.sentosquare=13091,t.seven=55,t.sevenarabic=1639,t.sevenbengali=2541,t.sevencircle=9318,t.sevencircleinversesansserif=10128,t.sevendeva=2413,t.seveneighths=8542,t.sevengujarati=2797,t.sevengurmukhi=2669,t.sevenhackarabic=1639,t.sevenhangzhou=12327,t.sevenideographicparen=12838,t.seveninferior=8327,t.sevenmonospace=65303,t.sevenoldstyle=63287,t.sevenparen=9338,t.sevenperiod=9358,t.sevenpersian=1783,t.sevenroman=8566,t.sevensuperior=8311,t.seventeencircle=9328,t.seventeenparen=9348,t.seventeenperiod=9368,t.seventhai=3671,t.sfthyphen=173,t.shaarmenian=1399,t.shabengali=2486,t.shacyrillic=1096,t.shaddaarabic=1617,t.shaddadammaarabic=64609,t.shaddadammatanarabic=64606,t.shaddafathaarabic=64608,t.shaddakasraarabic=64610,t.shaddakasratanarabic=64607,t.shade=9618,t.shadedark=9619,t.shadelight=9617,t.shademedium=9618,t.shadeva=2358,t.shagujarati=2742,t.shagurmukhi=2614,t.shalshelethebrew=1427,t.shbopomofo=12565,t.shchacyrillic=1097,t.sheenarabic=1588,t.sheenfinalarabic=65206,t.sheeninitialarabic=65207,t.sheenmedialarabic=65208,t.sheicoptic=995,t.sheqel=8362,t.sheqelhebrew=8362,t.sheva=1456,t.sheva115=1456,t.sheva15=1456,t.sheva22=1456,t.sheva2e=1456,t.shevahebrew=1456,t.shevanarrowhebrew=1456,t.shevaquarterhebrew=1456,t.shevawidehebrew=1456,t.shhacyrillic=1211,t.shimacoptic=1005,t.shin=1513,t.shindagesh=64329,t.shindageshhebrew=64329,t.shindageshshindot=64300,t.shindageshshindothebrew=64300,t.shindageshsindot=64301,t.shindageshsindothebrew=64301,t.shindothebrew=1473,t.shinhebrew=1513,t.shinshindot=64298,t.shinshindothebrew=64298,t.shinsindot=64299,t.shinsindothebrew=64299,t.shook=642,t.sigma=963,t.sigma1=962,t.sigmafinal=962,t.sigmalunatesymbolgreek=1010,t.sihiragana=12375,t.sikatakana=12471,t.sikatakanahalfwidth=65404,t.siluqhebrew=1469,t.siluqlefthebrew=1469,t.similar=8764,t.sindothebrew=1474,t.siosacirclekorean=12916,t.siosaparenkorean=12820,t.sioscieuckorean=12670,t.sioscirclekorean=12902,t.sioskiyeokkorean=12666,t.sioskorean=12613,t.siosnieunkorean=12667,t.siosparenkorean=12806,t.siospieupkorean=12669,t.siostikeutkorean=12668,t.six=54,t.sixarabic=1638,t.sixbengali=2540,t.sixcircle=9317,t.sixcircleinversesansserif=10127,t.sixdeva=2412,t.sixgujarati=2796,t.sixgurmukhi=2668,t.sixhackarabic=1638,t.sixhangzhou=12326,t.sixideographicparen=12837,t.sixinferior=8326,t.sixmonospace=65302,t.sixoldstyle=63286,t.sixparen=9337,t.sixperiod=9357,t.sixpersian=1782,t.sixroman=8565,t.sixsuperior=8310,t.sixteencircle=9327,t.sixteencurrencydenominatorbengali=2553,t.sixteenparen=9347,t.sixteenperiod=9367,t.sixthai=3670,t.slash=47,t.slashmonospace=65295,t.slong=383,t.slongdotaccent=7835,t.smileface=9786,t.smonospace=65363,t.sofpasuqhebrew=1475,t.softhyphen=173,t.softsigncyrillic=1100,t.sohiragana=12381,t.sokatakana=12477,t.sokatakanahalfwidth=65407,t.soliduslongoverlaycmb=824,t.solidusshortoverlaycmb=823,t.sorusithai=3625,t.sosalathai=3624,t.sosothai=3595,t.sosuathai=3626,t.space=32,t.spacehackarabic=32,t.spade=9824,t.spadesuitblack=9824,t.spadesuitwhite=9828,t.sparen=9390,t.squarebelowcmb=827,t.squarecc=13252,t.squarecm=13213,t.squarediagonalcrosshatchfill=9641,t.squarehorizontalfill=9636,t.squarekg=13199,t.squarekm=13214,t.squarekmcapital=13262,t.squareln=13265,t.squarelog=13266,t.squaremg=13198,t.squaremil=13269,t.squaremm=13212,t.squaremsquared=13217,t.squareorthogonalcrosshatchfill=9638,t.squareupperlefttolowerrightfill=9639,t.squareupperrighttolowerleftfill=9640,t.squareverticalfill=9637,t.squarewhitewithsmallblack=9635,t.srsquare=13275,t.ssabengali=2487,t.ssadeva=2359,t.ssagujarati=2743,t.ssangcieuckorean=12617,t.ssanghieuhkorean=12677,t.ssangieungkorean=12672,t.ssangkiyeokkorean=12594,t.ssangnieunkorean=12645,t.ssangpieupkorean=12611,t.ssangsioskorean=12614,t.ssangtikeutkorean=12600,t.ssuperior=63218,t.sterling=163,t.sterlingmonospace=65505,t.strokelongoverlaycmb=822,t.strokeshortoverlaycmb=821,t.subset=8834,t.subsetnotequal=8842,t.subsetorequal=8838,t.succeeds=8827,t.suchthat=8715,t.suhiragana=12377,t.sukatakana=12473,t.sukatakanahalfwidth=65405,t.sukunarabic=1618,t.summation=8721,t.sun=9788,t.superset=8835,t.supersetnotequal=8843,t.supersetorequal=8839,t.svsquare=13276,t.syouwaerasquare=13180,t.t=116,t.tabengali=2468,t.tackdown=8868,t.tackleft=8867,t.tadeva=2340,t.tagujarati=2724,t.tagurmukhi=2596,t.taharabic=1591,t.tahfinalarabic=65218,t.tahinitialarabic=65219,t.tahiragana=12383,t.tahmedialarabic=65220,t.taisyouerasquare=13181,t.takatakana=12479,t.takatakanahalfwidth=65408,t.tatweelarabic=1600,t.tau=964,t.tav=1514,t.tavdages=64330,t.tavdagesh=64330,t.tavdageshhebrew=64330,t.tavhebrew=1514,t.tbar=359,t.tbopomofo=12554,t.tcaron=357,t.tccurl=680,t.tcedilla=355,t.tcheharabic=1670,t.tchehfinalarabic=64379,t.tchehinitialarabic=64380,t.tchehmedialarabic=64381,t.tcircle=9443,t.tcircumflexbelow=7793,t.tcommaaccent=355,t.tdieresis=7831,t.tdotaccent=7787,t.tdotbelow=7789,t.tecyrillic=1090,t.tedescendercyrillic=1197,t.teharabic=1578,t.tehfinalarabic=65174,t.tehhahinitialarabic=64674,t.tehhahisolatedarabic=64524,t.tehinitialarabic=65175,t.tehiragana=12390,t.tehjeeminitialarabic=64673,t.tehjeemisolatedarabic=64523,t.tehmarbutaarabic=1577,t.tehmarbutafinalarabic=65172,t.tehmedialarabic=65176,t.tehmeeminitialarabic=64676,t.tehmeemisolatedarabic=64526,t.tehnoonfinalarabic=64627,t.tekatakana=12486,t.tekatakanahalfwidth=65411,t.telephone=8481,t.telephoneblack=9742,t.telishagedolahebrew=1440,t.telishaqetanahebrew=1449,t.tencircle=9321,t.tenideographicparen=12841,t.tenparen=9341,t.tenperiod=9361,t.tenroman=8569,t.tesh=679,t.tet=1496,t.tetdagesh=64312,t.tetdageshhebrew=64312,t.tethebrew=1496,t.tetsecyrillic=1205,t.tevirhebrew=1435,t.tevirlefthebrew=1435,t.thabengali=2469,t.thadeva=2341,t.thagujarati=2725,t.thagurmukhi=2597,t.thalarabic=1584,t.thalfinalarabic=65196,t.thanthakhatlowleftthai=63640,t.thanthakhatlowrightthai=63639,t.thanthakhatthai=3660,t.thanthakhatupperleftthai=63638,t.theharabic=1579,t.thehfinalarabic=65178,t.thehinitialarabic=65179,t.thehmedialarabic=65180,t.thereexists=8707,t.therefore=8756,t.theta=952,t.theta1=977,t.thetasymbolgreek=977,t.thieuthacirclekorean=12921,t.thieuthaparenkorean=12825,t.thieuthcirclekorean=12907,t.thieuthkorean=12620,t.thieuthparenkorean=12811,t.thirteencircle=9324,t.thirteenparen=9344,t.thirteenperiod=9364,t.thonangmonthothai=3601,t.thook=429,t.thophuthaothai=3602,t.thorn=254,t.thothahanthai=3607,t.thothanthai=3600,t.thothongthai=3608,t.thothungthai=3606,t.thousandcyrillic=1154,t.thousandsseparatorarabic=1644,t.thousandsseparatorpersian=1644,t.three=51,t.threearabic=1635,t.threebengali=2537,t.threecircle=9314,t.threecircleinversesansserif=10124,t.threedeva=2409,t.threeeighths=8540,t.threegujarati=2793,t.threegurmukhi=2665,t.threehackarabic=1635,t.threehangzhou=12323,t.threeideographicparen=12834,t.threeinferior=8323,t.threemonospace=65299,t.threenumeratorbengali=2550,t.threeoldstyle=63283,t.threeparen=9334,t.threeperiod=9354,t.threepersian=1779,t.threequarters=190,t.threequartersemdash=63198,t.threeroman=8562,t.threesuperior=179,t.threethai=3667,t.thzsquare=13204,t.tihiragana=12385,t.tikatakana=12481,t.tikatakanahalfwidth=65409,t.tikeutacirclekorean=12912,t.tikeutaparenkorean=12816,t.tikeutcirclekorean=12898,t.tikeutkorean=12599,t.tikeutparenkorean=12802,t.tilde=732,t.tildebelowcmb=816,t.tildecmb=771,t.tildecomb=771,t.tildedoublecmb=864,t.tildeoperator=8764,t.tildeoverlaycmb=820,t.tildeverticalcmb=830,t.timescircle=8855,t.tipehahebrew=1430,t.tipehalefthebrew=1430,t.tippigurmukhi=2672,t.titlocyrilliccmb=1155,t.tiwnarmenian=1407,t.tlinebelow=7791,t.tmonospace=65364,t.toarmenian=1385,t.tohiragana=12392,t.tokatakana=12488,t.tokatakanahalfwidth=65412,t.tonebarextrahighmod=741,t.tonebarextralowmod=745,t.tonebarhighmod=742,t.tonebarlowmod=744,t.tonebarmidmod=743,t.tonefive=445,t.tonesix=389,t.tonetwo=424,t.tonos=900,t.tonsquare=13095,t.topatakthai=3599,t.tortoiseshellbracketleft=12308,t.tortoiseshellbracketleftsmall=65117,t.tortoiseshellbracketleftvertical=65081,t.tortoiseshellbracketright=12309,t.tortoiseshellbracketrightsmall=65118,t.tortoiseshellbracketrightvertical=65082,t.totaothai=3605,t.tpalatalhook=427,t.tparen=9391,t.trademark=8482,t.trademarksans=63722,t.trademarkserif=63195,t.tretroflexhook=648,t.triagdn=9660,t.triaglf=9668,t.triagrt=9658,t.triagup=9650,t.ts=678,t.tsadi=1510,t.tsadidagesh=64326,t.tsadidageshhebrew=64326,t.tsadihebrew=1510,t.tsecyrillic=1094,t.tsere=1461,t.tsere12=1461,t.tsere1e=1461,t.tsere2b=1461,t.tserehebrew=1461,t.tserenarrowhebrew=1461,t.tserequarterhebrew=1461,t.tserewidehebrew=1461,t.tshecyrillic=1115,t.tsuperior=63219,t.ttabengali=2463,t.ttadeva=2335,t.ttagujarati=2719,t.ttagurmukhi=2591,t.tteharabic=1657,t.ttehfinalarabic=64359,t.ttehinitialarabic=64360,t.ttehmedialarabic=64361,t.tthabengali=2464,t.tthadeva=2336,t.tthagujarati=2720,t.tthagurmukhi=2592,t.tturned=647,t.tuhiragana=12388,t.tukatakana=12484,t.tukatakanahalfwidth=65410,t.tusmallhiragana=12387,t.tusmallkatakana=12483,t.tusmallkatakanahalfwidth=65391,t.twelvecircle=9323,t.twelveparen=9343,t.twelveperiod=9363,t.twelveroman=8571,t.twentycircle=9331,t.twentyhangzhou=21316,t.twentyparen=9351,t.twentyperiod=9371,t.two=50,t.twoarabic=1634,t.twobengali=2536,t.twocircle=9313,t.twocircleinversesansserif=10123,t.twodeva=2408,t.twodotenleader=8229,t.twodotleader=8229,t.twodotleadervertical=65072,t.twogujarati=2792,t.twogurmukhi=2664,t.twohackarabic=1634,t.twohangzhou=12322,t.twoideographicparen=12833,t.twoinferior=8322,t.twomonospace=65298,t.twonumeratorbengali=2549,t.twooldstyle=63282,t.twoparen=9333,t.twoperiod=9353,t.twopersian=1778,t.tworoman=8561,t.twostroke=443,t.twosuperior=178,t.twothai=3666,t.twothirds=8532,t.u=117,t.uacute=250,t.ubar=649,t.ubengali=2441,t.ubopomofo=12584,t.ubreve=365,t.ucaron=468,t.ucircle=9444,t.ucircumflex=251,t.ucircumflexbelow=7799,t.ucyrillic=1091,t.udattadeva=2385,t.udblacute=369,t.udblgrave=533,t.udeva=2313,t.udieresis=252,t.udieresisacute=472,t.udieresisbelow=7795,t.udieresiscaron=474,t.udieresiscyrillic=1265,t.udieresisgrave=476,t.udieresismacron=470,t.udotbelow=7909,t.ugrave=249,t.ugujarati=2697,t.ugurmukhi=2569,t.uhiragana=12358,t.uhookabove=7911,t.uhorn=432,t.uhornacute=7913,t.uhorndotbelow=7921,t.uhorngrave=7915,t.uhornhookabove=7917,t.uhorntilde=7919,t.uhungarumlaut=369,t.uhungarumlautcyrillic=1267,t.uinvertedbreve=535,t.ukatakana=12454,t.ukatakanahalfwidth=65395,t.ukcyrillic=1145,t.ukorean=12636,t.umacron=363,t.umacroncyrillic=1263,t.umacrondieresis=7803,t.umatragurmukhi=2625,t.umonospace=65365,t.underscore=95,t.underscoredbl=8215,t.underscoremonospace=65343,t.underscorevertical=65075,t.underscorewavy=65103,t.union=8746,t.universal=8704,t.uogonek=371,t.uparen=9392,t.upblock=9600,t.upperdothebrew=1476,t.upsilon=965,t.upsilondieresis=971,t.upsilondieresistonos=944,t.upsilonlatin=650,t.upsilontonos=973,t.uptackbelowcmb=797,t.uptackmod=724,t.uragurmukhi=2675,t.uring=367,t.ushortcyrillic=1118,t.usmallhiragana=12357,t.usmallkatakana=12453,t.usmallkatakanahalfwidth=65385,t.ustraightcyrillic=1199,t.ustraightstrokecyrillic=1201,t.utilde=361,t.utildeacute=7801,t.utildebelow=7797,t.uubengali=2442,t.uudeva=2314,t.uugujarati=2698,t.uugurmukhi=2570,t.uumatragurmukhi=2626,t.uuvowelsignbengali=2498,t.uuvowelsigndeva=2370,t.uuvowelsigngujarati=2754,t.uvowelsignbengali=2497,t.uvowelsigndeva=2369,t.uvowelsigngujarati=2753,t.v=118,t.vadeva=2357,t.vagujarati=2741,t.vagurmukhi=2613,t.vakatakana=12535,t.vav=1493,t.vavdagesh=64309,t.vavdagesh65=64309,t.vavdageshhebrew=64309,t.vavhebrew=1493,t.vavholam=64331,t.vavholamhebrew=64331,t.vavvavhebrew=1520,t.vavyodhebrew=1521,t.vcircle=9445,t.vdotbelow=7807,t.vecyrillic=1074,t.veharabic=1700,t.vehfinalarabic=64363,t.vehinitialarabic=64364,t.vehmedialarabic=64365,t.vekatakana=12537,t.venus=9792,t.verticalbar=124,t.verticallineabovecmb=781,t.verticallinebelowcmb=809,t.verticallinelowmod=716,t.verticallinemod=712,t.vewarmenian=1406,t.vhook=651,t.vikatakana=12536,t.viramabengali=2509,t.viramadeva=2381,t.viramagujarati=2765,t.visargabengali=2435,t.visargadeva=2307,t.visargagujarati=2691,t.vmonospace=65366,t.voarmenian=1400,t.voicediterationhiragana=12446,t.voicediterationkatakana=12542,t.voicedmarkkana=12443,t.voicedmarkkanahalfwidth=65438,t.vokatakana=12538,t.vparen=9393,t.vtilde=7805,t.vturned=652,t.vuhiragana=12436,t.vukatakana=12532,t.w=119,t.wacute=7811,t.waekorean=12633,t.wahiragana=12431,t.wakatakana=12527,t.wakatakanahalfwidth=65436,t.wakorean=12632,t.wasmallhiragana=12430,t.wasmallkatakana=12526,t.wattosquare=13143,t.wavedash=12316,t.wavyunderscorevertical=65076,t.wawarabic=1608,t.wawfinalarabic=65262,t.wawhamzaabovearabic=1572,t.wawhamzaabovefinalarabic=65158,t.wbsquare=13277,t.wcircle=9446,t.wcircumflex=373,t.wdieresis=7813,t.wdotaccent=7815,t.wdotbelow=7817,t.wehiragana=12433,t.weierstrass=8472,t.wekatakana=12529,t.wekorean=12638,t.weokorean=12637,t.wgrave=7809,t.whitebullet=9702,t.whitecircle=9675,t.whitecircleinverse=9689,t.whitecornerbracketleft=12302,t.whitecornerbracketleftvertical=65091,t.whitecornerbracketright=12303,t.whitecornerbracketrightvertical=65092,t.whitediamond=9671,t.whitediamondcontainingblacksmalldiamond=9672,t.whitedownpointingsmalltriangle=9663;t.whitedownpointingtriangle=9661,t.whiteleftpointingsmalltriangle=9667,t.whiteleftpointingtriangle=9665,t.whitelenticularbracketleft=12310,t.whitelenticularbracketright=12311,t.whiterightpointingsmalltriangle=9657,t.whiterightpointingtriangle=9655,t.whitesmallsquare=9643,t.whitesmilingface=9786,t.whitesquare=9633,t.whitestar=9734,t.whitetelephone=9743,t.whitetortoiseshellbracketleft=12312,t.whitetortoiseshellbracketright=12313,t.whiteuppointingsmalltriangle=9653,t.whiteuppointingtriangle=9651,t.wihiragana=12432,t.wikatakana=12528,t.wikorean=12639,t.wmonospace=65367,t.wohiragana=12434,t.wokatakana=12530,t.wokatakanahalfwidth=65382,t.won=8361,t.wonmonospace=65510,t.wowaenthai=3623,t.wparen=9394,t.wring=7832,t.wsuperior=695,t.wturned=653,t.wynn=447,t.x=120,t.xabovecmb=829,t.xbopomofo=12562,t.xcircle=9447,t.xdieresis=7821,t.xdotaccent=7819,t.xeharmenian=1389,t.xi=958,t.xmonospace=65368,t.xparen=9395,t.xsuperior=739,t.y=121,t.yaadosquare=13134,t.yabengali=2479,t.yacute=253,t.yadeva=2351,t.yaekorean=12626,t.yagujarati=2735,t.yagurmukhi=2607,t.yahiragana=12420,t.yakatakana=12516,t.yakatakanahalfwidth=65428,t.yakorean=12625,t.yamakkanthai=3662,t.yasmallhiragana=12419,t.yasmallkatakana=12515,t.yasmallkatakanahalfwidth=65388,t.yatcyrillic=1123,t.ycircle=9448,t.ycircumflex=375,t.ydieresis=255,t.ydotaccent=7823,t.ydotbelow=7925,t.yeharabic=1610,t.yehbarreearabic=1746,t.yehbarreefinalarabic=64431,t.yehfinalarabic=65266,t.yehhamzaabovearabic=1574,t.yehhamzaabovefinalarabic=65162,t.yehhamzaaboveinitialarabic=65163,t.yehhamzaabovemedialarabic=65164,t.yehinitialarabic=65267,t.yehmedialarabic=65268,t.yehmeeminitialarabic=64733,t.yehmeemisolatedarabic=64600,t.yehnoonfinalarabic=64660,t.yehthreedotsbelowarabic=1745,t.yekorean=12630,t.yen=165,t.yenmonospace=65509,t.yeokorean=12629,t.yeorinhieuhkorean=12678,t.yerahbenyomohebrew=1450,t.yerahbenyomolefthebrew=1450,t.yericyrillic=1099,t.yerudieresiscyrillic=1273,t.yesieungkorean=12673,t.yesieungpansioskorean=12675,t.yesieungsioskorean=12674,t.yetivhebrew=1434,t.ygrave=7923,t.yhook=436,t.yhookabove=7927,t.yiarmenian=1397,t.yicyrillic=1111,t.yikorean=12642,t.yinyang=9775,t.yiwnarmenian=1410,t.ymonospace=65369,t.yod=1497,t.yoddagesh=64313,t.yoddageshhebrew=64313,t.yodhebrew=1497,t.yodyodhebrew=1522,t.yodyodpatahhebrew=64287,t.yohiragana=12424,t.yoikorean=12681,t.yokatakana=12520,t.yokatakanahalfwidth=65430,t.yokorean=12635,t.yosmallhiragana=12423,t.yosmallkatakana=12519,t.yosmallkatakanahalfwidth=65390,t.yotgreek=1011,t.yoyaekorean=12680,t.yoyakorean=12679,t.yoyakthai=3618,t.yoyingthai=3597,t.yparen=9396,t.ypogegrammeni=890,t.ypogegrammenigreekcmb=837,t.yr=422,t.yring=7833,t.ysuperior=696,t.ytilde=7929,t.yturned=654,t.yuhiragana=12422,t.yuikorean=12684,t.yukatakana=12518,t.yukatakanahalfwidth=65429,t.yukorean=12640,t.yusbigcyrillic=1131,t.yusbigiotifiedcyrillic=1133,t.yuslittlecyrillic=1127,t.yuslittleiotifiedcyrillic=1129,t.yusmallhiragana=12421,t.yusmallkatakana=12517,t.yusmallkatakanahalfwidth=65389,t.yuyekorean=12683,t.yuyeokorean=12682,t.yyabengali=2527,t.yyadeva=2399,t.z=122,t.zaarmenian=1382,t.zacute=378,t.zadeva=2395,t.zagurmukhi=2651,t.zaharabic=1592,t.zahfinalarabic=65222,t.zahinitialarabic=65223,t.zahiragana=12374,t.zahmedialarabic=65224,t.zainarabic=1586,t.zainfinalarabic=65200,t.zakatakana=12470,t.zaqefgadolhebrew=1429,t.zaqefqatanhebrew=1428,t.zarqahebrew=1432,t.zayin=1494,t.zayindagesh=64310,t.zayindageshhebrew=64310,t.zayinhebrew=1494,t.zbopomofo=12567,t.zcaron=382,t.zcircle=9449,t.zcircumflex=7825,t.zcurl=657,t.zdot=380,t.zdotaccent=380,t.zdotbelow=7827,t.zecyrillic=1079,t.zedescendercyrillic=1177,t.zedieresiscyrillic=1247,t.zehiragana=12380,t.zekatakana=12476,t.zero=48,t.zeroarabic=1632,t.zerobengali=2534,t.zerodeva=2406,t.zerogujarati=2790,t.zerogurmukhi=2662,t.zerohackarabic=1632,t.zeroinferior=8320,t.zeromonospace=65296,t.zerooldstyle=63280,t.zeropersian=1776,t.zerosuperior=8304,t.zerothai=3664,t.zerowidthjoiner=65279,t.zerowidthnonjoiner=8204,t.zerowidthspace=8203,t.zeta=950,t.zhbopomofo=12563,t.zhearmenian=1386,t.zhebrevecyrillic=1218,t.zhecyrillic=1078,t.zhedescendercyrillic=1175,t.zhedieresiscyrillic=1245,t.zihiragana=12376,t.zikatakana=12472,t.zinorhebrew=1454,t.zlinebelow=7829,t.zmonospace=65370,t.zohiragana=12382,t.zokatakana=12478,t.zparen=9397,t.zretroflexhook=656,t.zstroke=438,t.zuhiragana=12378,t.zukatakana=12474,t[".notdef"]=0,t.angbracketleftbig=9001,t.angbracketleftBig=9001,t.angbracketleftbigg=9001,t.angbracketleftBigg=9001,t.angbracketrightBig=9002,t.angbracketrightbig=9002,t.angbracketrightBigg=9002,t.angbracketrightbigg=9002,t.arrowhookleft=8618,t.arrowhookright=8617,t.arrowlefttophalf=8636,t.arrowleftbothalf=8637,t.arrownortheast=8599,t.arrownorthwest=8598,t.arrowrighttophalf=8640,t.arrowrightbothalf=8641,t.arrowsoutheast=8600,t.arrowsouthwest=8601,t.backslashbig=8726,t.backslashBig=8726,t.backslashBigg=8726,t.backslashbigg=8726,t.bardbl=8214,t.bracehtipdownleft=65079,t.bracehtipdownright=65079,t.bracehtipupleft=65080,t.bracehtipupright=65080,t.braceleftBig=123,t.braceleftbig=123,t.braceleftbigg=123,t.braceleftBigg=123,t.bracerightBig=125,t.bracerightbig=125,t.bracerightbigg=125,t.bracerightBigg=125,t.bracketleftbig=91,t.bracketleftBig=91,t.bracketleftbigg=91,t.bracketleftBigg=91,t.bracketrightBig=93,t.bracketrightbig=93,t.bracketrightbigg=93,t.bracketrightBigg=93,t.ceilingleftbig=8968,t.ceilingleftBig=8968,t.ceilingleftBigg=8968,t.ceilingleftbigg=8968,t.ceilingrightbig=8969,t.ceilingrightBig=8969,t.ceilingrightbigg=8969,t.ceilingrightBigg=8969,t.circledotdisplay=8857,t.circledottext=8857,t.circlemultiplydisplay=8855,t.circlemultiplytext=8855,t.circleplusdisplay=8853,t.circleplustext=8853,t.contintegraldisplay=8750,t.contintegraltext=8750,t.coproductdisplay=8720,t.coproducttext=8720,t.floorleftBig=8970,t.floorleftbig=8970,t.floorleftbigg=8970,t.floorleftBigg=8970,t.floorrightbig=8971,t.floorrightBig=8971,t.floorrightBigg=8971,t.floorrightbigg=8971,t.hatwide=770,t.hatwider=770,t.hatwidest=770,t.intercal=7488,t.integraldisplay=8747,t.integraltext=8747,t.intersectiondisplay=8898,t.intersectiontext=8898,t.logicalanddisplay=8743,t.logicalandtext=8743,t.logicalordisplay=8744,t.logicalortext=8744,t.parenleftBig=40,t.parenleftbig=40,t.parenleftBigg=40,t.parenleftbigg=40,t.parenrightBig=41,t.parenrightbig=41,t.parenrightBigg=41,t.parenrightbigg=41,t.prime=8242,t.productdisplay=8719,t.producttext=8719,t.radicalbig=8730,t.radicalBig=8730,t.radicalBigg=8730,t.radicalbigg=8730,t.radicalbt=8730,t.radicaltp=8730,t.radicalvertex=8730,t.slashbig=47,t.slashBig=47,t.slashBigg=47,t.slashbigg=47,t.summationdisplay=8721,t.summationtext=8721,t.tildewide=732,t.tildewider=732,t.tildewidest=732,t.uniondisplay=8899,t.unionmultidisplay=8846,t.unionmultitext=8846,t.unionsqdisplay=8852,t.unionsqtext=8852,t.uniontext=8899,t.vextenddouble=8741,t.vextendsingle=8739}));exports.getGlyphsUnicode=getGlyphsUnicode;const getDingbatsGlyphsUnicode=(0,_core_utils.getLookupTableFactory)((function(t){t.space=32,t.a1=9985,t.a2=9986,t.a202=9987,t.a3=9988,t.a4=9742,t.a5=9990,t.a119=9991,t.a118=9992,t.a117=9993,t.a11=9755,t.a12=9758,t.a13=9996,t.a14=9997,t.a15=9998,t.a16=9999,t.a105=1e4,t.a17=10001,t.a18=10002,t.a19=10003,t.a20=10004,t.a21=10005,t.a22=10006,t.a23=10007,t.a24=10008,t.a25=10009,t.a26=10010,t.a27=10011,t.a28=10012,t.a6=10013,t.a7=10014,t.a8=10015,t.a9=10016,t.a10=10017,t.a29=10018,t.a30=10019,t.a31=10020,t.a32=10021,t.a33=10022,t.a34=10023,t.a35=9733,t.a36=10025,t.a37=10026,t.a38=10027,t.a39=10028,t.a40=10029,t.a41=10030,t.a42=10031,t.a43=10032,t.a44=10033,t.a45=10034,t.a46=10035,t.a47=10036,t.a48=10037,t.a49=10038,t.a50=10039,t.a51=10040,t.a52=10041,t.a53=10042,t.a54=10043,t.a55=10044,t.a56=10045,t.a57=10046,t.a58=10047,t.a59=10048,t.a60=10049,t.a61=10050,t.a62=10051,t.a63=10052,t.a64=10053,t.a65=10054,t.a66=10055,t.a67=10056,t.a68=10057,t.a69=10058,t.a70=10059,t.a71=9679,t.a72=10061,t.a73=9632,t.a74=10063,t.a203=10064,t.a75=10065,t.a204=10066,t.a76=9650,t.a77=9660,t.a78=9670,t.a79=10070,t.a81=9687,t.a82=10072,t.a83=10073,t.a84=10074,t.a97=10075,t.a98=10076,t.a99=10077,t.a100=10078,t.a101=10081,t.a102=10082,t.a103=10083,t.a104=10084,t.a106=10085,t.a107=10086,t.a108=10087,t.a112=9827,t.a111=9830,t.a110=9829,t.a109=9824,t.a120=9312,t.a121=9313,t.a122=9314,t.a123=9315,t.a124=9316,t.a125=9317,t.a126=9318,t.a127=9319,t.a128=9320,t.a129=9321,t.a130=10102,t.a131=10103,t.a132=10104,t.a133=10105,t.a134=10106,t.a135=10107,t.a136=10108,t.a137=10109,t.a138=10110,t.a139=10111,t.a140=10112,t.a141=10113,t.a142=10114,t.a143=10115,t.a144=10116,t.a145=10117,t.a146=10118,t.a147=10119,t.a148=10120,t.a149=10121,t.a150=10122,t.a151=10123,t.a152=10124,t.a153=10125,t.a154=10126,t.a155=10127,t.a156=10128,t.a157=10129,t.a158=10130,t.a159=10131,t.a160=10132,t.a161=8594,t.a163=8596,t.a164=8597,t.a196=10136,t.a165=10137,t.a192=10138,t.a166=10139,t.a167=10140,t.a168=10141,t.a169=10142,t.a170=10143,t.a171=10144,t.a172=10145,t.a173=10146,t.a162=10147,t.a174=10148,t.a175=10149,t.a176=10150,t.a177=10151,t.a178=10152,t.a179=10153,t.a193=10154,t.a180=10155,t.a199=10156,t.a181=10157,t.a200=10158,t.a182=10159,t.a201=10161,t.a183=10162,t.a184=10163,t.a197=10164,t.a185=10165,t.a194=10166,t.a198=10167,t.a186=10168,t.a195=10169,t.a187=10170,t.a188=10171,t.a189=10172,t.a190=10173,t.a191=10174,t.a89=10088,t.a90=10089,t.a93=10090,t.a94=10091,t.a91=10092,t.a92=10093,t.a205=10094,t.a85=10095,t.a206=10096,t.a86=10097,t.a87=10098,t.a88=10099,t.a95=10100,t.a96=10101,t[".notdef"]=0}));exports.getDingbatsGlyphsUnicode=getDingbatsGlyphsUnicode},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.clearUnicodeCaches=function(){CategoryCache.clear()},exports.getCharUnicodeCategory=function(char){const cachedCategory=CategoryCache.get(char);if(cachedCategory)return cachedCategory;const groups=char.match(SpecialCharRegExp),category={isWhitespace:!(null==groups||!groups[1]),isZeroWidthDiacritic:!(null==groups||!groups[2]),isInvisibleFormatMark:!(null==groups||!groups[3])};return CategoryCache.set(char,category),category},exports.getUnicodeForGlyph=function(name,glyphsUnicodeMap){let unicode=glyphsUnicodeMap[name];if(void 0!==unicode)return unicode;if(!name)return-1;if("u"===name[0]){const nameLen=name.length;let hexStr;if(7===nameLen&&"n"===name[1]&&"i"===name[2])hexStr=name.substring(3);else{if(!(nameLen>=5&&nameLen<=7))return-1;hexStr=name.substring(1)}if(hexStr===hexStr.toUpperCase()&&(unicode=parseInt(hexStr,16),unicode>=0))return unicode}return-1},exports.getUnicodeRangeFor=function(value){let lastPosition=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(-1!==lastPosition){const range=UnicodeRanges[lastPosition];for(let i=0,ii=range.length;i=range[i]&&value<=range[i+1])return lastPosition}for(let i=0,ii=UnicodeRanges.length;i=range[j]&&value<=range[j+1])return i}return-1},exports.mapSpecialUnicodeValues=function(code){return code>=65520&&code<=65535?0:code>=62976&&code<=63743?getSpecialPUASymbols()[code]||code:173===code?45:code};const getSpecialPUASymbols=(0,__w_pdfjs_require__(3).getLookupTableFactory)((function(t){t[63721]=169,t[63193]=169,t[63720]=174,t[63194]=174,t[63722]=8482,t[63195]=8482,t[63729]=9127,t[63730]=9128,t[63731]=9129,t[63740]=9131,t[63741]=9132,t[63742]=9133,t[63726]=9121,t[63727]=9122,t[63728]=9123,t[63737]=9124,t[63738]=9125,t[63739]=9126,t[63723]=9115,t[63724]=9116,t[63725]=9117,t[63734]=9118,t[63735]=9119,t[63736]=9120})),UnicodeRanges=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]],SpecialCharRegExp=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),CategoryCache=new Map},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSerifFonts=exports.getNonStdFontMap=exports.getGlyphMapForStandardFonts=exports.getFontNameToFileMap=void 0,exports.getStandardFontName=function(name){const fontName=(0,_fonts_utils.normalizeFontName)(name);return getStdFontMap()[fontName]},exports.getSymbolsFonts=exports.getSupplementalGlyphMapForCalibri=exports.getSupplementalGlyphMapForArialBlack=exports.getStdFontMap=void 0,exports.isKnownFontName=function(name){const fontName=(0,_fonts_utils.normalizeFontName)(name);return!!(getStdFontMap()[fontName]||getNonStdFontMap()[fontName]||getSerifFonts()[fontName]||getSymbolsFonts()[fontName])};var _core_utils=__w_pdfjs_require__(3),_fonts_utils=__w_pdfjs_require__(38);const getStdFontMap=(0,_core_utils.getLookupTableFactory)((function(t){t["Times-Roman"]="Times-Roman",t.Helvetica="Helvetica",t.Courier="Courier",t.Symbol="Symbol",t["Times-Bold"]="Times-Bold",t["Helvetica-Bold"]="Helvetica-Bold",t["Courier-Bold"]="Courier-Bold",t.ZapfDingbats="ZapfDingbats",t["Times-Italic"]="Times-Italic",t["Helvetica-Oblique"]="Helvetica-Oblique",t["Courier-Oblique"]="Courier-Oblique",t["Times-BoldItalic"]="Times-BoldItalic",t["Helvetica-BoldOblique"]="Helvetica-BoldOblique",t["Courier-BoldOblique"]="Courier-BoldOblique",t.ArialNarrow="Helvetica",t["ArialNarrow-Bold"]="Helvetica-Bold",t["ArialNarrow-BoldItalic"]="Helvetica-BoldOblique",t["ArialNarrow-Italic"]="Helvetica-Oblique",t.ArialBlack="Helvetica",t["ArialBlack-Bold"]="Helvetica-Bold",t["ArialBlack-BoldItalic"]="Helvetica-BoldOblique",t["ArialBlack-Italic"]="Helvetica-Oblique",t["Arial-Black"]="Helvetica",t["Arial-Black-Bold"]="Helvetica-Bold",t["Arial-Black-BoldItalic"]="Helvetica-BoldOblique",t["Arial-Black-Italic"]="Helvetica-Oblique",t.Arial="Helvetica",t["Arial-Bold"]="Helvetica-Bold",t["Arial-BoldItalic"]="Helvetica-BoldOblique",t["Arial-Italic"]="Helvetica-Oblique",t.ArialMT="Helvetica",t["Arial-BoldItalicMT"]="Helvetica-BoldOblique",t["Arial-BoldMT"]="Helvetica-Bold",t["Arial-ItalicMT"]="Helvetica-Oblique",t["Arial-BoldItalicMT-BoldItalic"]="Helvetica-BoldOblique",t["Arial-BoldMT-Bold"]="Helvetica-Bold",t["Arial-ItalicMT-Italic"]="Helvetica-Oblique",t.ArialUnicodeMS="Helvetica",t["ArialUnicodeMS-Bold"]="Helvetica-Bold",t["ArialUnicodeMS-BoldItalic"]="Helvetica-BoldOblique",t["ArialUnicodeMS-Italic"]="Helvetica-Oblique",t["Courier-BoldItalic"]="Courier-BoldOblique",t["Courier-Italic"]="Courier-Oblique",t.CourierNew="Courier",t["CourierNew-Bold"]="Courier-Bold",t["CourierNew-BoldItalic"]="Courier-BoldOblique",t["CourierNew-Italic"]="Courier-Oblique",t["CourierNewPS-BoldItalicMT"]="Courier-BoldOblique",t["CourierNewPS-BoldMT"]="Courier-Bold",t["CourierNewPS-ItalicMT"]="Courier-Oblique",t.CourierNewPSMT="Courier",t["Helvetica-BoldItalic"]="Helvetica-BoldOblique",t["Helvetica-Italic"]="Helvetica-Oblique",t["Symbol-Bold"]="Symbol",t["Symbol-BoldItalic"]="Symbol",t["Symbol-Italic"]="Symbol",t.TimesNewRoman="Times-Roman",t["TimesNewRoman-Bold"]="Times-Bold",t["TimesNewRoman-BoldItalic"]="Times-BoldItalic",t["TimesNewRoman-Italic"]="Times-Italic",t.TimesNewRomanPS="Times-Roman",t["TimesNewRomanPS-Bold"]="Times-Bold",t["TimesNewRomanPS-BoldItalic"]="Times-BoldItalic",t["TimesNewRomanPS-BoldItalicMT"]="Times-BoldItalic",t["TimesNewRomanPS-BoldMT"]="Times-Bold",t["TimesNewRomanPS-Italic"]="Times-Italic",t["TimesNewRomanPS-ItalicMT"]="Times-Italic",t.TimesNewRomanPSMT="Times-Roman",t["TimesNewRomanPSMT-Bold"]="Times-Bold",t["TimesNewRomanPSMT-BoldItalic"]="Times-BoldItalic",t["TimesNewRomanPSMT-Italic"]="Times-Italic"}));exports.getStdFontMap=getStdFontMap;const getFontNameToFileMap=(0,_core_utils.getLookupTableFactory)((function(t){t.Courier="FoxitFixed.pfb",t["Courier-Bold"]="FoxitFixedBold.pfb",t["Courier-BoldOblique"]="FoxitFixedBoldItalic.pfb",t["Courier-Oblique"]="FoxitFixedItalic.pfb",t.Helvetica="LiberationSans-Regular.ttf",t["Helvetica-Bold"]="LiberationSans-Bold.ttf",t["Helvetica-BoldOblique"]="LiberationSans-BoldItalic.ttf",t["Helvetica-Oblique"]="LiberationSans-Italic.ttf",t["Times-Roman"]="FoxitSerif.pfb",t["Times-Bold"]="FoxitSerifBold.pfb",t["Times-BoldItalic"]="FoxitSerifBoldItalic.pfb",t["Times-Italic"]="FoxitSerifItalic.pfb",t.Symbol="FoxitSymbol.pfb",t.ZapfDingbats="FoxitDingbats.pfb",t["LiberationSans-Regular"]="LiberationSans-Regular.ttf",t["LiberationSans-Bold"]="LiberationSans-Bold.ttf",t["LiberationSans-Italic"]="LiberationSans-Italic.ttf",t["LiberationSans-BoldItalic"]="LiberationSans-BoldItalic.ttf"}));exports.getFontNameToFileMap=getFontNameToFileMap;const getNonStdFontMap=(0,_core_utils.getLookupTableFactory)((function(t){t.Calibri="Helvetica",t["Calibri-Bold"]="Helvetica-Bold",t["Calibri-BoldItalic"]="Helvetica-BoldOblique",t["Calibri-Italic"]="Helvetica-Oblique",t.CenturyGothic="Helvetica",t["CenturyGothic-Bold"]="Helvetica-Bold",t["CenturyGothic-BoldItalic"]="Helvetica-BoldOblique",t["CenturyGothic-Italic"]="Helvetica-Oblique",t.ComicSansMS="Comic Sans MS",t["ComicSansMS-Bold"]="Comic Sans MS-Bold",t["ComicSansMS-BoldItalic"]="Comic Sans MS-BoldItalic",t["ComicSansMS-Italic"]="Comic Sans MS-Italic",t.Impact="Helvetica",t["ItcSymbol-Bold"]="Helvetica-Bold",t["ItcSymbol-BoldItalic"]="Helvetica-BoldOblique",t["ItcSymbol-Book"]="Helvetica",t["ItcSymbol-BookItalic"]="Helvetica-Oblique",t["ItcSymbol-Medium"]="Helvetica",t["ItcSymbol-MediumItalic"]="Helvetica-Oblique",t.LucidaConsole="Courier",t["LucidaConsole-Bold"]="Courier-Bold",t["LucidaConsole-BoldItalic"]="Courier-BoldOblique",t["LucidaConsole-Italic"]="Courier-Oblique",t["LucidaSans-Demi"]="Helvetica-Bold",t["MS-Gothic"]="MS Gothic",t["MS-Gothic-Bold"]="MS Gothic-Bold",t["MS-Gothic-BoldItalic"]="MS Gothic-BoldItalic",t["MS-Gothic-Italic"]="MS Gothic-Italic",t["MS-Mincho"]="MS Mincho",t["MS-Mincho-Bold"]="MS Mincho-Bold",t["MS-Mincho-BoldItalic"]="MS Mincho-BoldItalic",t["MS-Mincho-Italic"]="MS Mincho-Italic",t["MS-PGothic"]="MS PGothic",t["MS-PGothic-Bold"]="MS PGothic-Bold",t["MS-PGothic-BoldItalic"]="MS PGothic-BoldItalic",t["MS-PGothic-Italic"]="MS PGothic-Italic",t["MS-PMincho"]="MS PMincho",t["MS-PMincho-Bold"]="MS PMincho-Bold",t["MS-PMincho-BoldItalic"]="MS PMincho-BoldItalic",t["MS-PMincho-Italic"]="MS PMincho-Italic",t.NuptialScript="Times-Italic",t.SegoeUISymbol="Helvetica"}));exports.getNonStdFontMap=getNonStdFontMap;const getSerifFonts=(0,_core_utils.getLookupTableFactory)((function(t){t["Adobe Jenson"]=!0,t["Adobe Text"]=!0,t.Albertus=!0,t.Aldus=!0,t.Alexandria=!0,t.Algerian=!0,t["American Typewriter"]=!0,t.Antiqua=!0,t.Apex=!0,t.Arno=!0,t.Aster=!0,t.Aurora=!0,t.Baskerville=!0,t.Bell=!0,t.Bembo=!0,t["Bembo Schoolbook"]=!0,t.Benguiat=!0,t["Berkeley Old Style"]=!0,t["Bernhard Modern"]=!0,t["Berthold City"]=!0,t.Bodoni=!0,t["Bauer Bodoni"]=!0,t["Book Antiqua"]=!0,t.Bookman=!0,t["Bordeaux Roman"]=!0,t["Californian FB"]=!0,t.Calisto=!0,t.Calvert=!0,t.Capitals=!0,t.Cambria=!0,t.Cartier=!0,t.Caslon=!0,t.Catull=!0,t.Centaur=!0,t["Century Old Style"]=!0,t["Century Schoolbook"]=!0,t.Chaparral=!0,t["Charis SIL"]=!0,t.Cheltenham=!0,t["Cholla Slab"]=!0,t.Clarendon=!0,t.Clearface=!0,t.Cochin=!0,t.Colonna=!0,t["Computer Modern"]=!0,t["Concrete Roman"]=!0,t.Constantia=!0,t["Cooper Black"]=!0,t.Corona=!0,t.Ecotype=!0,t.Egyptienne=!0,t.Elephant=!0,t.Excelsior=!0,t.Fairfield=!0,t["FF Scala"]=!0,t.Folkard=!0,t.Footlight=!0,t.FreeSerif=!0,t["Friz Quadrata"]=!0,t.Garamond=!0,t.Gentium=!0,t.Georgia=!0,t.Gloucester=!0,t["Goudy Old Style"]=!0,t["Goudy Schoolbook"]=!0,t["Goudy Pro Font"]=!0,t.Granjon=!0,t["Guardian Egyptian"]=!0,t.Heather=!0,t.Hercules=!0,t["High Tower Text"]=!0,t.Hiroshige=!0,t["Hoefler Text"]=!0,t["Humana Serif"]=!0,t.Imprint=!0,t["Ionic No. 5"]=!0,t.Janson=!0,t.Joanna=!0,t.Korinna=!0,t.Lexicon=!0,t.LiberationSerif=!0,t["Liberation Serif"]=!0,t["Linux Libertine"]=!0,t.Literaturnaya=!0,t.Lucida=!0,t["Lucida Bright"]=!0,t.Melior=!0,t.Memphis=!0,t.Miller=!0,t.Minion=!0,t.Modern=!0,t["Mona Lisa"]=!0,t["Mrs Eaves"]=!0,t["MS Serif"]=!0,t["Museo Slab"]=!0,t["New York"]=!0,t["Nimbus Roman"]=!0,t["NPS Rawlinson Roadway"]=!0,t.NuptialScript=!0,t.Palatino=!0,t.Perpetua=!0,t.Plantin=!0,t["Plantin Schoolbook"]=!0,t.Playbill=!0,t["Poor Richard"]=!0,t["Rawlinson Roadway"]=!0,t.Renault=!0,t.Requiem=!0,t.Rockwell=!0,t.Roman=!0,t["Rotis Serif"]=!0,t.Sabon=!0,t.Scala=!0,t.Seagull=!0,t.Sistina=!0,t.Souvenir=!0,t.STIX=!0,t["Stone Informal"]=!0,t["Stone Serif"]=!0,t.Sylfaen=!0,t.Times=!0,t.Trajan=!0,t["Trinité"]=!0,t["Trump Mediaeval"]=!0,t.Utopia=!0,t["Vale Type"]=!0,t["Bitstream Vera"]=!0,t["Vera Serif"]=!0,t.Versailles=!0,t.Wanted=!0,t.Weiss=!0,t["Wide Latin"]=!0,t.Windsor=!0,t.XITS=!0}));exports.getSerifFonts=getSerifFonts;const getSymbolsFonts=(0,_core_utils.getLookupTableFactory)((function(t){t.Dingbats=!0,t.Symbol=!0,t.ZapfDingbats=!0,t.Wingdings=!0,t["Wingdings-Bold"]=!0,t["Wingdings-Regular"]=!0}));exports.getSymbolsFonts=getSymbolsFonts;const getGlyphMapForStandardFonts=(0,_core_utils.getLookupTableFactory)((function(t){t[2]=10,t[3]=32,t[4]=33,t[5]=34,t[6]=35,t[7]=36,t[8]=37,t[9]=38,t[10]=39,t[11]=40,t[12]=41,t[13]=42,t[14]=43,t[15]=44,t[16]=45,t[17]=46,t[18]=47,t[19]=48,t[20]=49,t[21]=50,t[22]=51,t[23]=52,t[24]=53,t[25]=54,t[26]=55,t[27]=56,t[28]=57,t[29]=58,t[30]=894,t[31]=60,t[32]=61,t[33]=62,t[34]=63,t[35]=64,t[36]=65,t[37]=66,t[38]=67,t[39]=68,t[40]=69,t[41]=70,t[42]=71,t[43]=72,t[44]=73,t[45]=74,t[46]=75,t[47]=76,t[48]=77,t[49]=78,t[50]=79,t[51]=80,t[52]=81,t[53]=82,t[54]=83,t[55]=84,t[56]=85,t[57]=86,t[58]=87,t[59]=88,t[60]=89,t[61]=90,t[62]=91,t[63]=92,t[64]=93,t[65]=94,t[66]=95,t[67]=96,t[68]=97,t[69]=98,t[70]=99,t[71]=100,t[72]=101,t[73]=102,t[74]=103,t[75]=104,t[76]=105,t[77]=106,t[78]=107,t[79]=108,t[80]=109,t[81]=110,t[82]=111,t[83]=112,t[84]=113,t[85]=114,t[86]=115,t[87]=116,t[88]=117,t[89]=118,t[90]=119,t[91]=120,t[92]=121,t[93]=122,t[94]=123,t[95]=124,t[96]=125,t[97]=126,t[98]=196,t[99]=197,t[100]=199,t[101]=201,t[102]=209,t[103]=214,t[104]=220,t[105]=225,t[106]=224,t[107]=226,t[108]=228,t[109]=227,t[110]=229,t[111]=231,t[112]=233,t[113]=232,t[114]=234,t[115]=235,t[116]=237,t[117]=236,t[118]=238,t[119]=239,t[120]=241,t[121]=243,t[122]=242,t[123]=244,t[124]=246,t[125]=245,t[126]=250,t[127]=249,t[128]=251,t[129]=252,t[130]=8224,t[131]=176,t[132]=162,t[133]=163,t[134]=167,t[135]=8226,t[136]=182,t[137]=223,t[138]=174,t[139]=169,t[140]=8482,t[141]=180,t[142]=168,t[143]=8800,t[144]=198,t[145]=216,t[146]=8734,t[147]=177,t[148]=8804,t[149]=8805,t[150]=165,t[151]=181,t[152]=8706,t[153]=8721,t[154]=8719,t[156]=8747,t[157]=170,t[158]=186,t[159]=8486,t[160]=230,t[161]=248,t[162]=191,t[163]=161,t[164]=172,t[165]=8730,t[166]=402,t[167]=8776,t[168]=8710,t[169]=171,t[170]=187,t[171]=8230,t[179]=8220,t[180]=8221,t[181]=8216,t[182]=8217,t[200]=193,t[203]=205,t[207]=211,t[210]=218,t[223]=711,t[224]=321,t[225]=322,t[226]=352,t[227]=353,t[228]=381,t[229]=382,t[233]=221,t[234]=253,t[252]=263,t[253]=268,t[254]=269,t[258]=258,t[260]=260,t[261]=261,t[265]=280,t[266]=281,t[267]=282,t[268]=283,t[269]=313,t[275]=323,t[276]=324,t[278]=328,t[283]=344,t[284]=345,t[285]=346,t[286]=347,t[292]=367,t[295]=377,t[296]=378,t[298]=380,t[305]=963,t[306]=964,t[307]=966,t[308]=8215,t[309]=8252,t[310]=8319,t[311]=8359,t[312]=8592,t[313]=8593,t[337]=9552,t[493]=1039,t[494]=1040,t[672]=1488,t[673]=1489,t[674]=1490,t[675]=1491,t[676]=1492,t[677]=1493,t[678]=1494,t[679]=1495,t[680]=1496,t[681]=1497,t[682]=1498,t[683]=1499,t[684]=1500,t[685]=1501,t[686]=1502,t[687]=1503,t[688]=1504,t[689]=1505,t[690]=1506,t[691]=1507,t[692]=1508,t[693]=1509,t[694]=1510,t[695]=1511,t[696]=1512,t[697]=1513,t[698]=1514,t[705]=1524,t[706]=8362,t[710]=64288,t[711]=64298,t[759]=1617,t[761]=1776,t[763]=1778,t[775]=1652,t[777]=1764,t[778]=1780,t[779]=1781,t[780]=1782,t[782]=771,t[783]=64726,t[786]=8363,t[788]=8532,t[790]=768,t[791]=769,t[792]=768,t[795]=803,t[797]=64336,t[798]=64337,t[799]=64342,t[800]=64343,t[801]=64344,t[802]=64345,t[803]=64362,t[804]=64363,t[805]=64364,t[2424]=7821,t[2425]=7822,t[2426]=7823,t[2427]=7824,t[2428]=7825,t[2429]=7826,t[2430]=7827,t[2433]=7682,t[2678]=8045,t[2679]=8046,t[2830]=1552,t[2838]=686,t[2840]=751,t[2842]=753,t[2843]=754,t[2844]=755,t[2846]=757,t[2856]=767,t[2857]=848,t[2858]=849,t[2862]=853,t[2863]=854,t[2864]=855,t[2865]=861,t[2866]=862,t[2906]=7460,t[2908]=7462,t[2909]=7463,t[2910]=7464,t[2912]=7466,t[2913]=7467,t[2914]=7468,t[2916]=7470,t[2917]=7471,t[2918]=7472,t[2920]=7474,t[2921]=7475,t[2922]=7476,t[2924]=7478,t[2925]=7479,t[2926]=7480,t[2928]=7482,t[2929]=7483,t[2930]=7484,t[2932]=7486,t[2933]=7487,t[2934]=7488,t[2936]=7490,t[2937]=7491,t[2938]=7492,t[2940]=7494,t[2941]=7495,t[2942]=7496,t[2944]=7498,t[2946]=7500,t[2948]=7502,t[2950]=7504,t[2951]=7505,t[2952]=7506,t[2954]=7508,t[2955]=7509,t[2956]=7510,t[2958]=7512,t[2959]=7513,t[2960]=7514,t[2962]=7516,t[2963]=7517,t[2964]=7518,t[2966]=7520,t[2967]=7521,t[2968]=7522,t[2970]=7524,t[2971]=7525,t[2972]=7526,t[2974]=7528,t[2975]=7529,t[2976]=7530,t[2978]=1537,t[2979]=1538,t[2980]=1539,t[2982]=1549,t[2983]=1551,t[2984]=1552,t[2986]=1554,t[2987]=1555,t[2988]=1556,t[2990]=1623,t[2991]=1624,t[2995]=1775,t[2999]=1791,t[3002]=64290,t[3003]=64291,t[3004]=64292,t[3006]=64294,t[3007]=64295,t[3008]=64296,t[3011]=1900,t[3014]=8223,t[3015]=8244,t[3017]=7532,t[3018]=7533,t[3019]=7534,t[3075]=7590,t[3076]=7591,t[3079]=7594,t[3080]=7595,t[3083]=7598,t[3084]=7599,t[3087]=7602,t[3088]=7603,t[3091]=7606,t[3092]=7607,t[3095]=7610,t[3096]=7611,t[3099]=7614,t[3100]=7615,t[3103]=7618,t[3104]=7619,t[3107]=8337,t[3108]=8338,t[3116]=1884,t[3119]=1885,t[3120]=1885,t[3123]=1886,t[3124]=1886,t[3127]=1887,t[3128]=1887,t[3131]=1888,t[3132]=1888,t[3135]=1889,t[3136]=1889,t[3139]=1890,t[3140]=1890,t[3143]=1891,t[3144]=1891,t[3147]=1892,t[3148]=1892,t[3153]=580,t[3154]=581,t[3157]=584,t[3158]=585,t[3161]=588,t[3162]=589,t[3165]=891,t[3166]=892,t[3169]=1274,t[3170]=1275,t[3173]=1278,t[3174]=1279,t[3181]=7622,t[3182]=7623,t[3282]=11799,t[3316]=578,t[3379]=42785,t[3393]=1159,t[3416]=8377}));exports.getGlyphMapForStandardFonts=getGlyphMapForStandardFonts;const getSupplementalGlyphMapForArialBlack=(0,_core_utils.getLookupTableFactory)((function(t){t[227]=322,t[264]=261,t[291]=346}));exports.getSupplementalGlyphMapForArialBlack=getSupplementalGlyphMapForArialBlack;const getSupplementalGlyphMapForCalibri=(0,_core_utils.getLookupTableFactory)((function(t){t[1]=32,t[4]=65,t[5]=192,t[6]=193,t[9]=196,t[17]=66,t[18]=67,t[21]=268,t[24]=68,t[28]=69,t[29]=200,t[30]=201,t[32]=282,t[38]=70,t[39]=71,t[44]=72,t[47]=73,t[48]=204,t[49]=205,t[58]=74,t[60]=75,t[62]=76,t[68]=77,t[69]=78,t[75]=79,t[76]=210,t[80]=214,t[87]=80,t[89]=81,t[90]=82,t[92]=344,t[94]=83,t[97]=352,t[100]=84,t[104]=85,t[109]=220,t[115]=86,t[116]=87,t[121]=88,t[122]=89,t[124]=221,t[127]=90,t[129]=381,t[258]=97,t[259]=224,t[260]=225,t[263]=228,t[268]=261,t[271]=98,t[272]=99,t[273]=263,t[275]=269,t[282]=100,t[286]=101,t[287]=232,t[288]=233,t[290]=283,t[295]=281,t[296]=102,t[336]=103,t[346]=104,t[349]=105,t[350]=236,t[351]=237,t[361]=106,t[364]=107,t[367]=108,t[371]=322,t[373]=109,t[374]=110,t[381]=111,t[382]=242,t[383]=243,t[386]=246,t[393]=112,t[395]=113,t[396]=114,t[398]=345,t[400]=115,t[401]=347,t[403]=353,t[410]=116,t[437]=117,t[442]=252,t[448]=118,t[449]=119,t[454]=120,t[455]=121,t[457]=253,t[460]=122,t[462]=382,t[463]=380,t[853]=44,t[855]=58,t[856]=46,t[876]=47,t[878]=45,t[882]=45,t[894]=40,t[895]=41,t[896]=91,t[897]=93,t[923]=64,t[1004]=48,t[1005]=49,t[1006]=50,t[1007]=51,t[1008]=52,t[1009]=53,t[1010]=54,t[1011]=55,t[1012]=56,t[1013]=57,t[1081]=37,t[1085]=43,t[1086]=45}));exports.getSupplementalGlyphMapForCalibri=getSupplementalGlyphMapForCalibri},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ToUnicodeMap=exports.IdentityToUnicodeMap=void 0;var _util=__w_pdfjs_require__(2);exports.ToUnicodeMap=class{constructor(){let cmap=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this._map=cmap}get length(){return this._map.length}forEach(callback){for(const charCode in this._map)callback(charCode,this._map[charCode].charCodeAt(0))}has(i){return void 0!==this._map[i]}get(i){return this._map[i]}charCodeOf(value){const map=this._map;if(map.length<=65536)return map.indexOf(value);for(const charCode in map)if(map[charCode]===value)return 0|charCode;return-1}amend(map){for(const charCode in map)this._map[charCode]=map[charCode]}},exports.IdentityToUnicodeMap=class{constructor(firstChar,lastChar){this.firstChar=firstChar,this.lastChar=lastChar}get length(){return this.lastChar+1-this.firstChar}forEach(callback){for(let i=this.firstChar,ii=this.lastChar;i<=ii;i++)callback(i,i)}has(i){return this.firstChar<=i&&i<=this.lastChar}get(i){if(this.firstChar<=i&&i<=this.lastChar)return String.fromCharCode(i)}charCodeOf(v){return Number.isInteger(v)&&v>=this.firstChar&&v<=this.lastChar?v:-1}amend(map){(0,_util.unreachable)("Should not call amend()")}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CFFFont=void 0;var _cff_parser=__w_pdfjs_require__(35),_fonts_utils=__w_pdfjs_require__(38),_util=__w_pdfjs_require__(2);exports.CFFFont=class{constructor(file,properties){this.properties=properties;const parser=new _cff_parser.CFFParser(file,properties,_fonts_utils.SEAC_ANALYSIS_ENABLED);this.cff=parser.parse(),this.cff.duplicateFirstGlyph();const compiler=new _cff_parser.CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=compiler.compile()}catch{(0,_util.warn)("Failed to compile font "+properties.loadedName),this.data=file}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const cff=this.cff,properties=this.properties,{cidToGidMap:cidToGidMap,cMap:cMap}=properties,charsets=cff.charset.charset;let charCodeToGlyphId,glyphId;if(properties.composite){let invCidToGidMap,charCode;if((null==cidToGidMap?void 0:cidToGidMap.length)>0){invCidToGidMap=Object.create(null);for(let i=0,ii=cidToGidMap.length;i=0){const glyphName=charsets[glyphId];glyphName&&(map[charCode]=glyphName)}}map.length>0&&(this.properties.builtInEncoding=map)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FontRendererFactory=void 0;var _util=__w_pdfjs_require__(2),_cff_parser=__w_pdfjs_require__(35),_glyphlist=__w_pdfjs_require__(39),_encodings=__w_pdfjs_require__(37),_stream=__w_pdfjs_require__(8);function getUint32(data,offset){return(data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3])>>>0}function getUint16(data,offset){return data[offset]<<8|data[offset+1]}function getInt16(data,offset){return(data[offset]<<24|data[offset+1]<<16)>>16}function getInt8(data,offset){return data[offset]<<24>>24}function getFloat214(data,offset){return getInt16(data,offset)/16384}function getSubroutineBias(subrs){const numSubrs=subrs.length;let bias=32768;return numSubrs<1240?bias=107:numSubrs<33900&&(bias=1131),bias}function parseCmap(data,start,end){const offset=1===getUint16(data,start+2)?getUint32(data,start+8):getUint32(data,start+16),format=getUint16(data,start+offset);let ranges,p,i;if(4===format){getUint16(data,start+offset+2);const segCount=getUint16(data,start+offset+6)>>1;for(p=start+offset+14,ranges=[],i=0;i>1;code0;)points.push({flags:flags})}for(j=0;j>1,stackClean=!0;break;case 4:y+=stack.pop(),moveTo(x,y),stackClean=!0;break;case 5:for(;stack.length>0;)x+=stack.shift(),y+=stack.shift(),lineTo(x,y);break;case 6:for(;stack.length>0&&(x+=stack.shift(),lineTo(x,y),0!==stack.length);)y+=stack.shift(),lineTo(x,y);break;case 7:for(;stack.length>0&&(y+=stack.shift(),lineTo(x,y),0!==stack.length);)x+=stack.shift(),lineTo(x,y);break;case 8:for(;stack.length>0;)xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);break;case 10:if(n=stack.pop(),subrCode=null,font.isCFFCIDFont){const fdIndex=font.fdSelect.getFDIndex(glyphId);if(fdIndex>=0&&fdIndexMath.abs(y-y0)?x+=stack.shift():y+=stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);break;default:throw new _util.FormatError("unknown operator: 12 ".concat(v))}break;case 14:if(stack.length>=4){const achar=stack.pop(),bchar=stack.pop();y=stack.pop(),x=stack.pop(),cmds.push({cmd:"save"},{cmd:"translate",args:[x,y]});let cmap=lookupCmap(font.cmap,String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));compileCharString(font.glyphs[cmap.glyphId],cmds,font,cmap.glyphId),cmds.push({cmd:"restore"}),cmap=lookupCmap(font.cmap,String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]])),compileCharString(font.glyphs[cmap.glyphId],cmds,font,cmap.glyphId)}return;case 19:case 20:stems+=stack.length>>1,i+=stems+7>>3,stackClean=!0;break;case 21:y+=stack.pop(),x+=stack.pop(),moveTo(x,y),stackClean=!0;break;case 22:x+=stack.pop(),moveTo(x,y),stackClean=!0;break;case 24:for(;stack.length>2;)xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);x+=stack.shift(),y+=stack.shift(),lineTo(x,y);break;case 25:for(;stack.length>6;)x+=stack.shift(),y+=stack.shift(),lineTo(x,y);xa=x+stack.shift(),ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);break;case 26:for(stack.length%2&&(x+=stack.shift());stack.length>0;)xa=x,ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb,y=yb+stack.shift(),bezierCurveTo(xa,ya,xb,yb,x,y);break;case 27:for(stack.length%2&&(y+=stack.shift());stack.length>0;)xa=x+stack.shift(),ya=y,xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb,bezierCurveTo(xa,ya,xb,yb,x,y);break;case 28:stack.push((code[i]<<24|code[i+1]<<16)>>16),i+=2;break;case 29:n=stack.pop()+font.gsubrsBias,subrCode=font.gsubrs[n],subrCode&&parse(subrCode);break;case 30:for(;stack.length>0&&(xa=x,ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+(1===stack.length?stack.shift():0),bezierCurveTo(xa,ya,xb,yb,x,y),0!==stack.length);)xa=x+stack.shift(),ya=y,xb=xa+stack.shift(),yb=ya+stack.shift(),y=yb+stack.shift(),x=xb+(1===stack.length?stack.shift():0),bezierCurveTo(xa,ya,xb,yb,x,y);break;case 31:for(;stack.length>0&&(xa=x+stack.shift(),ya=y,xb=xa+stack.shift(),yb=ya+stack.shift(),y=yb+stack.shift(),x=xb+(1===stack.length?stack.shift():0),bezierCurveTo(xa,ya,xb,yb,x,y),0!==stack.length);)xa=x,ya=y+stack.shift(),xb=xa+stack.shift(),yb=ya+stack.shift(),x=xb+stack.shift(),y=yb+(1===stack.length?stack.shift():0),bezierCurveTo(xa,ya,xb,yb,x,y);break;default:if(v<32)throw new _util.FormatError("unknown operator: ".concat(v));v<247?stack.push(v-139):v<251?stack.push(256*(v-247)+code[i++]+108):v<255?stack.push(256*-(v-251)-code[i++]-108):(stack.push((code[i]<<24|code[i+1]<<16|code[i+2]<<8|code[i+3])/65536),i+=4)}stackClean&&(stack.length=0)}}(charStringCode)}const NOOP=[];class CompiledFont{constructor(fontMatrix){this.constructor===CompiledFont&&(0,_util.unreachable)("Cannot initialize CompiledFont."),this.fontMatrix=fontMatrix,this.compiledGlyphs=Object.create(null),this.compiledCharCodeToGlyphId=Object.create(null)}getPathJs(unicode){const{charCode:charCode,glyphId:glyphId}=lookupCmap(this.cmap,unicode);let fn=this.compiledGlyphs[glyphId];if(!fn)try{fn=this.compileGlyph(this.glyphs[glyphId],glyphId),this.compiledGlyphs[glyphId]=fn}catch(ex){throw this.compiledGlyphs[glyphId]=NOOP,void 0===this.compiledCharCodeToGlyphId[charCode]&&(this.compiledCharCodeToGlyphId[charCode]=glyphId),ex}return void 0===this.compiledCharCodeToGlyphId[charCode]&&(this.compiledCharCodeToGlyphId[charCode]=glyphId),fn}compileGlyph(code,glyphId){if(!code||0===code.length||14===code[0])return NOOP;let fontMatrix=this.fontMatrix;if(this.isCFFCIDFont){const fdIndex=this.fdSelect.getFDIndex(glyphId);fdIndex>=0&&fdIndex2*getUint16(data,offset));const glyphs=[];let startOffset=itemDecode(loca,0);for(let j=itemSize;j{Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMetrics=exports.getFontBasicMetrics=void 0;var _core_utils=__w_pdfjs_require__(3);const getMetrics=(0,_core_utils.getLookupTableFactory)((function(t){t.Courier=600,t["Courier-Bold"]=600,t["Courier-BoldOblique"]=600,t["Courier-Oblique"]=600,t.Helvetica=(0,_core_utils.getLookupTableFactory)((function(t){t.space=278,t.exclam=278,t.quotedbl=355,t.numbersign=556,t.dollar=556,t.percent=889,t.ampersand=667,t.quoteright=222,t.parenleft=333,t.parenright=333,t.asterisk=389,t.plus=584,t.comma=278,t.hyphen=333,t.period=278,t.slash=278,t.zero=556,t.one=556,t.two=556,t.three=556,t.four=556,t.five=556,t.six=556,t.seven=556,t.eight=556,t.nine=556,t.colon=278,t.semicolon=278,t.less=584,t.equal=584,t.greater=584,t.question=556,t.at=1015,t.A=667,t.B=667,t.C=722,t.D=722,t.E=667,t.F=611,t.G=778,t.H=722,t.I=278,t.J=500,t.K=667,t.L=556,t.M=833,t.N=722,t.O=778,t.P=667,t.Q=778,t.R=722,t.S=667,t.T=611,t.U=722,t.V=667,t.W=944,t.X=667,t.Y=667,t.Z=611,t.bracketleft=278,t.backslash=278,t.bracketright=278,t.asciicircum=469,t.underscore=556,t.quoteleft=222,t.a=556,t.b=556,t.c=500,t.d=556,t.e=556,t.f=278,t.g=556,t.h=556,t.i=222,t.j=222,t.k=500,t.l=222,t.m=833,t.n=556,t.o=556,t.p=556,t.q=556,t.r=333,t.s=500,t.t=278,t.u=556,t.v=500,t.w=722,t.x=500,t.y=500,t.z=500,t.braceleft=334,t.bar=260,t.braceright=334,t.asciitilde=584,t.exclamdown=333,t.cent=556,t.sterling=556,t.fraction=167,t.yen=556,t.florin=556,t.section=556,t.currency=556,t.quotesingle=191,t.quotedblleft=333,t.guillemotleft=556,t.guilsinglleft=333,t.guilsinglright=333,t.fi=500,t.fl=500,t.endash=556,t.dagger=556,t.daggerdbl=556,t.periodcentered=278,t.paragraph=537,t.bullet=350,t.quotesinglbase=222,t.quotedblbase=333,t.quotedblright=333,t.guillemotright=556,t.ellipsis=1e3,t.perthousand=1e3,t.questiondown=611,t.grave=333,t.acute=333,t.circumflex=333,t.tilde=333,t.macron=333,t.breve=333,t.dotaccent=333,t.dieresis=333,t.ring=333,t.cedilla=333,t.hungarumlaut=333,t.ogonek=333,t.caron=333,t.emdash=1e3,t.AE=1e3,t.ordfeminine=370,t.Lslash=556,t.Oslash=778,t.OE=1e3,t.ordmasculine=365,t.ae=889,t.dotlessi=278,t.lslash=222,t.oslash=611,t.oe=944,t.germandbls=611,t.Idieresis=278,t.eacute=556,t.abreve=556,t.uhungarumlaut=556,t.ecaron=556,t.Ydieresis=667,t.divide=584,t.Yacute=667,t.Acircumflex=667,t.aacute=556,t.Ucircumflex=722,t.yacute=500,t.scommaaccent=500,t.ecircumflex=556,t.Uring=722,t.Udieresis=722,t.aogonek=556,t.Uacute=722,t.uogonek=556,t.Edieresis=667,t.Dcroat=722,t.commaaccent=250,t.copyright=737,t.Emacron=667,t.ccaron=500,t.aring=556,t.Ncommaaccent=722,t.lacute=222,t.agrave=556,t.Tcommaaccent=611,t.Cacute=722,t.atilde=556,t.Edotaccent=667,t.scaron=500,t.scedilla=500,t.iacute=278,t.lozenge=471,t.Rcaron=722,t.Gcommaaccent=778,t.ucircumflex=556,t.acircumflex=556,t.Amacron=667,t.rcaron=333,t.ccedilla=500,t.Zdotaccent=611,t.Thorn=667,t.Omacron=778,t.Racute=722,t.Sacute=667,t.dcaron=643,t.Umacron=722,t.uring=556,t.threesuperior=333,t.Ograve=778,t.Agrave=667,t.Abreve=667,t.multiply=584,t.uacute=556,t.Tcaron=611,t.partialdiff=476,t.ydieresis=500,t.Nacute=722,t.icircumflex=278,t.Ecircumflex=667,t.adieresis=556,t.edieresis=556,t.cacute=500,t.nacute=556,t.umacron=556,t.Ncaron=722,t.Iacute=278,t.plusminus=584,t.brokenbar=260,t.registered=737,t.Gbreve=778,t.Idotaccent=278,t.summation=600,t.Egrave=667,t.racute=333,t.omacron=556,t.Zacute=611,t.Zcaron=611,t.greaterequal=549,t.Eth=722,t.Ccedilla=722,t.lcommaaccent=222,t.tcaron=317,t.eogonek=556,t.Uogonek=722,t.Aacute=667,t.Adieresis=667,t.egrave=556,t.zacute=500,t.iogonek=222,t.Oacute=778,t.oacute=556,t.amacron=556,t.sacute=500,t.idieresis=278,t.Ocircumflex=778,t.Ugrave=722,t.Delta=612,t.thorn=556,t.twosuperior=333,t.Odieresis=778,t.mu=556,t.igrave=278,t.ohungarumlaut=556,t.Eogonek=667,t.dcroat=556,t.threequarters=834,t.Scedilla=667,t.lcaron=299,t.Kcommaaccent=667,t.Lacute=556,t.trademark=1e3,t.edotaccent=556,t.Igrave=278,t.Imacron=278,t.Lcaron=556,t.onehalf=834,t.lessequal=549,t.ocircumflex=556,t.ntilde=556,t.Uhungarumlaut=722,t.Eacute=667,t.emacron=556,t.gbreve=556,t.onequarter=834,t.Scaron=667,t.Scommaaccent=667,t.Ohungarumlaut=778,t.degree=400,t.ograve=556,t.Ccaron=722,t.ugrave=556,t.radical=453,t.Dcaron=722,t.rcommaaccent=333,t.Ntilde=722,t.otilde=556,t.Rcommaaccent=722,t.Lcommaaccent=556,t.Atilde=667,t.Aogonek=667,t.Aring=667,t.Otilde=778,t.zdotaccent=500,t.Ecaron=667,t.Iogonek=278,t.kcommaaccent=500,t.minus=584,t.Icircumflex=278,t.ncaron=556,t.tcommaaccent=278,t.logicalnot=584,t.odieresis=556,t.udieresis=556,t.notequal=549,t.gcommaaccent=556,t.eth=556,t.zcaron=500,t.ncommaaccent=556,t.onesuperior=333,t.imacron=278,t.Euro=556})),t["Helvetica-Bold"]=(0,_core_utils.getLookupTableFactory)((function(t){t.space=278,t.exclam=333,t.quotedbl=474,t.numbersign=556,t.dollar=556,t.percent=889,t.ampersand=722,t.quoteright=278,t.parenleft=333,t.parenright=333,t.asterisk=389,t.plus=584,t.comma=278,t.hyphen=333,t.period=278,t.slash=278,t.zero=556,t.one=556,t.two=556,t.three=556,t.four=556,t.five=556,t.six=556,t.seven=556,t.eight=556,t.nine=556,t.colon=333,t.semicolon=333,t.less=584,t.equal=584,t.greater=584,t.question=611,t.at=975,t.A=722,t.B=722,t.C=722,t.D=722,t.E=667,t.F=611,t.G=778,t.H=722,t.I=278,t.J=556,t.K=722,t.L=611,t.M=833,t.N=722,t.O=778,t.P=667,t.Q=778,t.R=722,t.S=667,t.T=611,t.U=722,t.V=667,t.W=944,t.X=667,t.Y=667,t.Z=611,t.bracketleft=333,t.backslash=278,t.bracketright=333,t.asciicircum=584,t.underscore=556,t.quoteleft=278,t.a=556,t.b=611,t.c=556,t.d=611,t.e=556,t.f=333,t.g=611,t.h=611,t.i=278,t.j=278,t.k=556,t.l=278,t.m=889,t.n=611,t.o=611,t.p=611,t.q=611,t.r=389,t.s=556,t.t=333,t.u=611,t.v=556,t.w=778,t.x=556,t.y=556,t.z=500,t.braceleft=389,t.bar=280,t.braceright=389,t.asciitilde=584,t.exclamdown=333,t.cent=556,t.sterling=556,t.fraction=167,t.yen=556,t.florin=556,t.section=556,t.currency=556,t.quotesingle=238,t.quotedblleft=500,t.guillemotleft=556,t.guilsinglleft=333,t.guilsinglright=333,t.fi=611,t.fl=611,t.endash=556,t.dagger=556,t.daggerdbl=556,t.periodcentered=278,t.paragraph=556,t.bullet=350,t.quotesinglbase=278,t.quotedblbase=500,t.quotedblright=500,t.guillemotright=556,t.ellipsis=1e3,t.perthousand=1e3,t.questiondown=611,t.grave=333,t.acute=333,t.circumflex=333,t.tilde=333,t.macron=333,t.breve=333,t.dotaccent=333,t.dieresis=333,t.ring=333,t.cedilla=333,t.hungarumlaut=333,t.ogonek=333,t.caron=333,t.emdash=1e3,t.AE=1e3,t.ordfeminine=370,t.Lslash=611,t.Oslash=778,t.OE=1e3,t.ordmasculine=365,t.ae=889,t.dotlessi=278,t.lslash=278,t.oslash=611,t.oe=944,t.germandbls=611,t.Idieresis=278,t.eacute=556,t.abreve=556,t.uhungarumlaut=611,t.ecaron=556,t.Ydieresis=667,t.divide=584,t.Yacute=667,t.Acircumflex=722,t.aacute=556,t.Ucircumflex=722,t.yacute=556,t.scommaaccent=556,t.ecircumflex=556,t.Uring=722,t.Udieresis=722,t.aogonek=556,t.Uacute=722,t.uogonek=611,t.Edieresis=667,t.Dcroat=722,t.commaaccent=250,t.copyright=737,t.Emacron=667,t.ccaron=556,t.aring=556,t.Ncommaaccent=722,t.lacute=278,t.agrave=556,t.Tcommaaccent=611,t.Cacute=722,t.atilde=556,t.Edotaccent=667,t.scaron=556,t.scedilla=556,t.iacute=278,t.lozenge=494,t.Rcaron=722,t.Gcommaaccent=778,t.ucircumflex=611,t.acircumflex=556,t.Amacron=722,t.rcaron=389,t.ccedilla=556,t.Zdotaccent=611,t.Thorn=667,t.Omacron=778,t.Racute=722,t.Sacute=667,t.dcaron=743,t.Umacron=722,t.uring=611,t.threesuperior=333,t.Ograve=778,t.Agrave=722,t.Abreve=722,t.multiply=584,t.uacute=611,t.Tcaron=611,t.partialdiff=494,t.ydieresis=556,t.Nacute=722,t.icircumflex=278,t.Ecircumflex=667,t.adieresis=556,t.edieresis=556,t.cacute=556,t.nacute=611,t.umacron=611,t.Ncaron=722,t.Iacute=278,t.plusminus=584,t.brokenbar=280,t.registered=737,t.Gbreve=778,t.Idotaccent=278,t.summation=600,t.Egrave=667,t.racute=389,t.omacron=611,t.Zacute=611,t.Zcaron=611,t.greaterequal=549,t.Eth=722,t.Ccedilla=722,t.lcommaaccent=278,t.tcaron=389,t.eogonek=556,t.Uogonek=722,t.Aacute=722,t.Adieresis=722,t.egrave=556,t.zacute=500,t.iogonek=278,t.Oacute=778,t.oacute=611,t.amacron=556,t.sacute=556,t.idieresis=278,t.Ocircumflex=778,t.Ugrave=722,t.Delta=612,t.thorn=611,t.twosuperior=333,t.Odieresis=778,t.mu=611,t.igrave=278,t.ohungarumlaut=611,t.Eogonek=667,t.dcroat=611,t.threequarters=834,t.Scedilla=667,t.lcaron=400,t.Kcommaaccent=722,t.Lacute=611,t.trademark=1e3,t.edotaccent=556,t.Igrave=278,t.Imacron=278,t.Lcaron=611,t.onehalf=834,t.lessequal=549,t.ocircumflex=611,t.ntilde=611,t.Uhungarumlaut=722,t.Eacute=667,t.emacron=556,t.gbreve=611,t.onequarter=834,t.Scaron=667,t.Scommaaccent=667,t.Ohungarumlaut=778,t.degree=400,t.ograve=611,t.Ccaron=722,t.ugrave=611,t.radical=549,t.Dcaron=722,t.rcommaaccent=389,t.Ntilde=722,t.otilde=611,t.Rcommaaccent=722,t.Lcommaaccent=611,t.Atilde=722,t.Aogonek=722,t.Aring=722,t.Otilde=778,t.zdotaccent=500,t.Ecaron=667,t.Iogonek=278,t.kcommaaccent=556,t.minus=584,t.Icircumflex=278,t.ncaron=611,t.tcommaaccent=333,t.logicalnot=584,t.odieresis=611,t.udieresis=611,t.notequal=549,t.gcommaaccent=611,t.eth=611,t.zcaron=500,t.ncommaaccent=611,t.onesuperior=333,t.imacron=278,t.Euro=556})),t["Helvetica-BoldOblique"]=(0,_core_utils.getLookupTableFactory)((function(t){t.space=278,t.exclam=333,t.quotedbl=474,t.numbersign=556,t.dollar=556,t.percent=889,t.ampersand=722,t.quoteright=278,t.parenleft=333,t.parenright=333,t.asterisk=389,t.plus=584,t.comma=278,t.hyphen=333,t.period=278,t.slash=278,t.zero=556,t.one=556,t.two=556,t.three=556,t.four=556,t.five=556,t.six=556,t.seven=556,t.eight=556,t.nine=556,t.colon=333,t.semicolon=333,t.less=584,t.equal=584,t.greater=584,t.question=611,t.at=975,t.A=722,t.B=722,t.C=722,t.D=722,t.E=667,t.F=611,t.G=778,t.H=722,t.I=278,t.J=556,t.K=722,t.L=611,t.M=833,t.N=722,t.O=778,t.P=667,t.Q=778,t.R=722,t.S=667,t.T=611,t.U=722,t.V=667,t.W=944,t.X=667,t.Y=667,t.Z=611,t.bracketleft=333,t.backslash=278,t.bracketright=333,t.asciicircum=584,t.underscore=556,t.quoteleft=278,t.a=556,t.b=611,t.c=556,t.d=611,t.e=556,t.f=333,t.g=611,t.h=611,t.i=278,t.j=278,t.k=556,t.l=278,t.m=889,t.n=611,t.o=611,t.p=611,t.q=611,t.r=389,t.s=556,t.t=333,t.u=611,t.v=556,t.w=778,t.x=556,t.y=556,t.z=500,t.braceleft=389,t.bar=280,t.braceright=389,t.asciitilde=584,t.exclamdown=333,t.cent=556,t.sterling=556,t.fraction=167,t.yen=556,t.florin=556,t.section=556,t.currency=556,t.quotesingle=238,t.quotedblleft=500,t.guillemotleft=556,t.guilsinglleft=333,t.guilsinglright=333,t.fi=611,t.fl=611,t.endash=556,t.dagger=556,t.daggerdbl=556,t.periodcentered=278,t.paragraph=556,t.bullet=350,t.quotesinglbase=278,t.quotedblbase=500,t.quotedblright=500,t.guillemotright=556,t.ellipsis=1e3,t.perthousand=1e3,t.questiondown=611,t.grave=333,t.acute=333,t.circumflex=333,t.tilde=333,t.macron=333,t.breve=333,t.dotaccent=333,t.dieresis=333,t.ring=333,t.cedilla=333,t.hungarumlaut=333,t.ogonek=333,t.caron=333,t.emdash=1e3,t.AE=1e3,t.ordfeminine=370,t.Lslash=611,t.Oslash=778,t.OE=1e3,t.ordmasculine=365,t.ae=889,t.dotlessi=278,t.lslash=278,t.oslash=611,t.oe=944,t.germandbls=611,t.Idieresis=278,t.eacute=556,t.abreve=556,t.uhungarumlaut=611,t.ecaron=556,t.Ydieresis=667,t.divide=584,t.Yacute=667,t.Acircumflex=722,t.aacute=556,t.Ucircumflex=722,t.yacute=556,t.scommaaccent=556,t.ecircumflex=556,t.Uring=722,t.Udieresis=722,t.aogonek=556,t.Uacute=722,t.uogonek=611,t.Edieresis=667,t.Dcroat=722,t.commaaccent=250,t.copyright=737,t.Emacron=667,t.ccaron=556,t.aring=556,t.Ncommaaccent=722,t.lacute=278,t.agrave=556,t.Tcommaaccent=611,t.Cacute=722,t.atilde=556,t.Edotaccent=667,t.scaron=556,t.scedilla=556,t.iacute=278,t.lozenge=494,t.Rcaron=722,t.Gcommaaccent=778,t.ucircumflex=611,t.acircumflex=556,t.Amacron=722,t.rcaron=389,t.ccedilla=556,t.Zdotaccent=611,t.Thorn=667,t.Omacron=778,t.Racute=722,t.Sacute=667,t.dcaron=743,t.Umacron=722,t.uring=611,t.threesuperior=333,t.Ograve=778,t.Agrave=722,t.Abreve=722,t.multiply=584,t.uacute=611,t.Tcaron=611,t.partialdiff=494,t.ydieresis=556,t.Nacute=722,t.icircumflex=278,t.Ecircumflex=667,t.adieresis=556,t.edieresis=556,t.cacute=556,t.nacute=611,t.umacron=611,t.Ncaron=722,t.Iacute=278,t.plusminus=584,t.brokenbar=280,t.registered=737,t.Gbreve=778,t.Idotaccent=278,t.summation=600,t.Egrave=667,t.racute=389,t.omacron=611,t.Zacute=611,t.Zcaron=611,t.greaterequal=549,t.Eth=722,t.Ccedilla=722,t.lcommaaccent=278,t.tcaron=389,t.eogonek=556,t.Uogonek=722,t.Aacute=722,t.Adieresis=722,t.egrave=556,t.zacute=500,t.iogonek=278,t.Oacute=778,t.oacute=611,t.amacron=556,t.sacute=556,t.idieresis=278,t.Ocircumflex=778,t.Ugrave=722,t.Delta=612,t.thorn=611,t.twosuperior=333,t.Odieresis=778,t.mu=611,t.igrave=278,t.ohungarumlaut=611,t.Eogonek=667,t.dcroat=611,t.threequarters=834,t.Scedilla=667,t.lcaron=400,t.Kcommaaccent=722,t.Lacute=611,t.trademark=1e3,t.edotaccent=556,t.Igrave=278,t.Imacron=278,t.Lcaron=611,t.onehalf=834,t.lessequal=549,t.ocircumflex=611,t.ntilde=611,t.Uhungarumlaut=722,t.Eacute=667,t.emacron=556,t.gbreve=611,t.onequarter=834,t.Scaron=667,t.Scommaaccent=667,t.Ohungarumlaut=778,t.degree=400,t.ograve=611,t.Ccaron=722,t.ugrave=611,t.radical=549,t.Dcaron=722,t.rcommaaccent=389,t.Ntilde=722,t.otilde=611,t.Rcommaaccent=722,t.Lcommaaccent=611,t.Atilde=722,t.Aogonek=722,t.Aring=722,t.Otilde=778,t.zdotaccent=500,t.Ecaron=667,t.Iogonek=278,t.kcommaaccent=556,t.minus=584,t.Icircumflex=278,t.ncaron=611,t.tcommaaccent=333,t.logicalnot=584,t.odieresis=611,t.udieresis=611,t.notequal=549,t.gcommaaccent=611,t.eth=611,t.zcaron=500,t.ncommaaccent=611,t.onesuperior=333,t.imacron=278,t.Euro=556})),t["Helvetica-Oblique"]=(0,_core_utils.getLookupTableFactory)((function(t){t.space=278,t.exclam=278,t.quotedbl=355,t.numbersign=556,t.dollar=556,t.percent=889,t.ampersand=667,t.quoteright=222,t.parenleft=333,t.parenright=333,t.asterisk=389,t.plus=584,t.comma=278,t.hyphen=333,t.period=278,t.slash=278,t.zero=556,t.one=556,t.two=556,t.three=556,t.four=556,t.five=556,t.six=556,t.seven=556,t.eight=556,t.nine=556,t.colon=278,t.semicolon=278,t.less=584,t.equal=584,t.greater=584,t.question=556,t.at=1015,t.A=667,t.B=667,t.C=722,t.D=722,t.E=667,t.F=611,t.G=778,t.H=722,t.I=278,t.J=500,t.K=667,t.L=556,t.M=833,t.N=722,t.O=778,t.P=667,t.Q=778,t.R=722,t.S=667,t.T=611,t.U=722,t.V=667,t.W=944,t.X=667,t.Y=667,t.Z=611,t.bracketleft=278,t.backslash=278,t.bracketright=278,t.asciicircum=469,t.underscore=556,t.quoteleft=222,t.a=556,t.b=556,t.c=500,t.d=556,t.e=556,t.f=278,t.g=556,t.h=556,t.i=222,t.j=222,t.k=500,t.l=222,t.m=833,t.n=556,t.o=556,t.p=556,t.q=556,t.r=333,t.s=500,t.t=278,t.u=556,t.v=500,t.w=722,t.x=500,t.y=500,t.z=500,t.braceleft=334,t.bar=260,t.braceright=334,t.asciitilde=584,t.exclamdown=333,t.cent=556,t.sterling=556,t.fraction=167,t.yen=556,t.florin=556,t.section=556,t.currency=556,t.quotesingle=191,t.quotedblleft=333,t.guillemotleft=556,t.guilsinglleft=333,t.guilsinglright=333,t.fi=500,t.fl=500,t.endash=556,t.dagger=556,t.daggerdbl=556,t.periodcentered=278,t.paragraph=537,t.bullet=350,t.quotesinglbase=222,t.quotedblbase=333,t.quotedblright=333,t.guillemotright=556,t.ellipsis=1e3,t.perthousand=1e3,t.questiondown=611,t.grave=333,t.acute=333,t.circumflex=333,t.tilde=333,t.macron=333,t.breve=333,t.dotaccent=333,t.dieresis=333,t.ring=333,t.cedilla=333,t.hungarumlaut=333,t.ogonek=333,t.caron=333,t.emdash=1e3,t.AE=1e3,t.ordfeminine=370,t.Lslash=556,t.Oslash=778,t.OE=1e3,t.ordmasculine=365,t.ae=889,t.dotlessi=278,t.lslash=222,t.oslash=611,t.oe=944,t.germandbls=611,t.Idieresis=278,t.eacute=556,t.abreve=556,t.uhungarumlaut=556,t.ecaron=556,t.Ydieresis=667,t.divide=584,t.Yacute=667,t.Acircumflex=667,t.aacute=556,t.Ucircumflex=722,t.yacute=500,t.scommaaccent=500,t.ecircumflex=556,t.Uring=722,t.Udieresis=722,t.aogonek=556,t.Uacute=722,t.uogonek=556,t.Edieresis=667,t.Dcroat=722,t.commaaccent=250,t.copyright=737,t.Emacron=667,t.ccaron=500,t.aring=556,t.Ncommaaccent=722,t.lacute=222,t.agrave=556,t.Tcommaaccent=611,t.Cacute=722,t.atilde=556,t.Edotaccent=667,t.scaron=500,t.scedilla=500,t.iacute=278,t.lozenge=471,t.Rcaron=722,t.Gcommaaccent=778,t.ucircumflex=556,t.acircumflex=556,t.Amacron=667,t.rcaron=333,t.ccedilla=500,t.Zdotaccent=611,t.Thorn=667,t.Omacron=778,t.Racute=722,t.Sacute=667,t.dcaron=643,t.Umacron=722,t.uring=556,t.threesuperior=333,t.Ograve=778,t.Agrave=667,t.Abreve=667,t.multiply=584,t.uacute=556,t.Tcaron=611,t.partialdiff=476,t.ydieresis=500,t.Nacute=722,t.icircumflex=278,t.Ecircumflex=667,t.adieresis=556,t.edieresis=556,t.cacute=500,t.nacute=556,t.umacron=556,t.Ncaron=722,t.Iacute=278,t.plusminus=584,t.brokenbar=260,t.registered=737,t.Gbreve=778,t.Idotaccent=278,t.summation=600,t.Egrave=667,t.racute=333,t.omacron=556,t.Zacute=611,t.Zcaron=611,t.greaterequal=549,t.Eth=722,t.Ccedilla=722,t.lcommaaccent=222,t.tcaron=317,t.eogonek=556,t.Uogonek=722,t.Aacute=667,t.Adieresis=667,t.egrave=556,t.zacute=500,t.iogonek=222,t.Oacute=778,t.oacute=556,t.amacron=556,t.sacute=500,t.idieresis=278,t.Ocircumflex=778,t.Ugrave=722,t.Delta=612,t.thorn=556,t.twosuperior=333,t.Odieresis=778,t.mu=556,t.igrave=278,t.ohungarumlaut=556,t.Eogonek=667,t.dcroat=556,t.threequarters=834,t.Scedilla=667,t.lcaron=299,t.Kcommaaccent=667,t.Lacute=556,t.trademark=1e3,t.edotaccent=556,t.Igrave=278,t.Imacron=278,t.Lcaron=556,t.onehalf=834,t.lessequal=549,t.ocircumflex=556,t.ntilde=556,t.Uhungarumlaut=722,t.Eacute=667,t.emacron=556,t.gbreve=556,t.onequarter=834,t.Scaron=667,t.Scommaaccent=667,t.Ohungarumlaut=778,t.degree=400,t.ograve=556,t.Ccaron=722,t.ugrave=556,t.radical=453,t.Dcaron=722,t.rcommaaccent=333,t.Ntilde=722,t.otilde=556,t.Rcommaaccent=722,t.Lcommaaccent=556,t.Atilde=667,t.Aogonek=667,t.Aring=667,t.Otilde=778,t.zdotaccent=500,t.Ecaron=667,t.Iogonek=278,t.kcommaaccent=500,t.minus=584,t.Icircumflex=278,t.ncaron=556,t.tcommaaccent=278,t.logicalnot=584,t.odieresis=556,t.udieresis=556,t.notequal=549,t.gcommaaccent=556,t.eth=556,t.zcaron=500,t.ncommaaccent=556,t.onesuperior=333,t.imacron=278,t.Euro=556})),t.Symbol=(0,_core_utils.getLookupTableFactory)((function(t){t.space=250,t.exclam=333,t.universal=713,t.numbersign=500,t.existential=549,t.percent=833,t.ampersand=778,t.suchthat=439,t.parenleft=333,t.parenright=333,t.asteriskmath=500,t.plus=549,t.comma=250,t.minus=549,t.period=250,t.slash=278,t.zero=500,t.one=500,t.two=500,t.three=500,t.four=500,t.five=500,t.six=500,t.seven=500,t.eight=500,t.nine=500,t.colon=278,t.semicolon=278,t.less=549,t.equal=549,t.greater=549,t.question=444,t.congruent=549,t.Alpha=722,t.Beta=667,t.Chi=722,t.Delta=612,t.Epsilon=611,t.Phi=763,t.Gamma=603,t.Eta=722,t.Iota=333,t.theta1=631,t.Kappa=722,t.Lambda=686,t.Mu=889,t.Nu=722,t.Omicron=722,t.Pi=768,t.Theta=741,t.Rho=556,t.Sigma=592,t.Tau=611,t.Upsilon=690,t.sigma1=439,t.Omega=768,t.Xi=645,t.Psi=795,t.Zeta=611,t.bracketleft=333,t.therefore=863,t.bracketright=333,t.perpendicular=658,t.underscore=500,t.radicalex=500,t.alpha=631,t.beta=549,t.chi=549,t.delta=494,t.epsilon=439,t.phi=521,t.gamma=411,t.eta=603,t.iota=329,t.phi1=603,t.kappa=549,t.lambda=549,t.mu=576,t.nu=521,t.omicron=549,t.pi=549,t.theta=521,t.rho=549,t.sigma=603,t.tau=439,t.upsilon=576,t.omega1=713,t.omega=686,t.xi=493,t.psi=686,t.zeta=494,t.braceleft=480,t.bar=200,t.braceright=480,t.similar=549,t.Euro=750,t.Upsilon1=620,t.minute=247,t.lessequal=549,t.fraction=167,t.infinity=713,t.florin=500,t.club=753,t.diamond=753,t.heart=753,t.spade=753,t.arrowboth=1042,t.arrowleft=987,t.arrowup=603,t.arrowright=987,t.arrowdown=603,t.degree=400,t.plusminus=549,t.second=411,t.greaterequal=549,t.multiply=549,t.proportional=713,t.partialdiff=494,t.bullet=460,t.divide=549,t.notequal=549,t.equivalence=549,t.approxequal=549,t.ellipsis=1e3,t.arrowvertex=603,t.arrowhorizex=1e3,t.carriagereturn=658,t.aleph=823,t.Ifraktur=686,t.Rfraktur=795,t.weierstrass=987,t.circlemultiply=768,t.circleplus=768,t.emptyset=823,t.intersection=768,t.union=768,t.propersuperset=713,t.reflexsuperset=713,t.notsubset=713,t.propersubset=713,t.reflexsubset=713,t.element=713,t.notelement=713,t.angle=768,t.gradient=713,t.registerserif=790,t.copyrightserif=790,t.trademarkserif=890,t.product=823,t.radical=549,t.dotmath=250,t.logicalnot=713,t.logicaland=603,t.logicalor=603,t.arrowdblboth=1042,t.arrowdblleft=987,t.arrowdblup=603,t.arrowdblright=987,t.arrowdbldown=603,t.lozenge=494,t.angleleft=329,t.registersans=790,t.copyrightsans=790,t.trademarksans=786,t.summation=713,t.parenlefttp=384,t.parenleftex=384,t.parenleftbt=384,t.bracketlefttp=384,t.bracketleftex=384,t.bracketleftbt=384,t.bracelefttp=494,t.braceleftmid=494,t.braceleftbt=494,t.braceex=494,t.angleright=329,t.integral=274,t.integraltp=686,t.integralex=686,t.integralbt=686,t.parenrighttp=384,t.parenrightex=384,t.parenrightbt=384,t.bracketrighttp=384,t.bracketrightex=384,t.bracketrightbt=384,t.bracerighttp=494,t.bracerightmid=494,t.bracerightbt=494,t.apple=790})),t["Times-Roman"]=(0,_core_utils.getLookupTableFactory)((function(t){t.space=250,t.exclam=333,t.quotedbl=408,t.numbersign=500,t.dollar=500,t.percent=833,t.ampersand=778,t.quoteright=333,t.parenleft=333,t.parenright=333,t.asterisk=500,t.plus=564,t.comma=250,t.hyphen=333,t.period=250,t.slash=278,t.zero=500,t.one=500,t.two=500,t.three=500,t.four=500,t.five=500,t.six=500,t.seven=500,t.eight=500,t.nine=500,t.colon=278,t.semicolon=278,t.less=564,t.equal=564,t.greater=564,t.question=444,t.at=921,t.A=722,t.B=667,t.C=667,t.D=722,t.E=611,t.F=556,t.G=722,t.H=722,t.I=333,t.J=389,t.K=722,t.L=611,t.M=889,t.N=722,t.O=722,t.P=556,t.Q=722,t.R=667,t.S=556,t.T=611,t.U=722,t.V=722,t.W=944,t.X=722,t.Y=722,t.Z=611,t.bracketleft=333,t.backslash=278,t.bracketright=333,t.asciicircum=469,t.underscore=500,t.quoteleft=333,t.a=444,t.b=500,t.c=444,t.d=500,t.e=444,t.f=333,t.g=500,t.h=500,t.i=278,t.j=278,t.k=500,t.l=278,t.m=778,t.n=500,t.o=500,t.p=500,t.q=500,t.r=333,t.s=389,t.t=278,t.u=500,t.v=500,t.w=722,t.x=500,t.y=500,t.z=444,t.braceleft=480,t.bar=200,t.braceright=480,t.asciitilde=541,t.exclamdown=333,t.cent=500,t.sterling=500,t.fraction=167,t.yen=500,t.florin=500,t.section=500,t.currency=500,t.quotesingle=180,t.quotedblleft=444,t.guillemotleft=500,t.guilsinglleft=333,t.guilsinglright=333,t.fi=556,t.fl=556,t.endash=500,t.dagger=500,t.daggerdbl=500,t.periodcentered=250,t.paragraph=453,t.bullet=350,t.quotesinglbase=333,t.quotedblbase=444,t.quotedblright=444,t.guillemotright=500,t.ellipsis=1e3,t.perthousand=1e3,t.questiondown=444,t.grave=333,t.acute=333,t.circumflex=333,t.tilde=333,t.macron=333,t.breve=333,t.dotaccent=333,t.dieresis=333,t.ring=333,t.cedilla=333,t.hungarumlaut=333,t.ogonek=333,t.caron=333,t.emdash=1e3,t.AE=889,t.ordfeminine=276,t.Lslash=611,t.Oslash=722,t.OE=889,t.ordmasculine=310,t.ae=667,t.dotlessi=278,t.lslash=278,t.oslash=500,t.oe=722,t.germandbls=500,t.Idieresis=333,t.eacute=444,t.abreve=444,t.uhungarumlaut=500,t.ecaron=444,t.Ydieresis=722,t.divide=564,t.Yacute=722,t.Acircumflex=722,t.aacute=444,t.Ucircumflex=722,t.yacute=500,t.scommaaccent=389,t.ecircumflex=444,t.Uring=722,t.Udieresis=722,t.aogonek=444,t.Uacute=722,t.uogonek=500,t.Edieresis=611,t.Dcroat=722,t.commaaccent=250,t.copyright=760,t.Emacron=611,t.ccaron=444,t.aring=444,t.Ncommaaccent=722,t.lacute=278,t.agrave=444,t.Tcommaaccent=611,t.Cacute=667,t.atilde=444,t.Edotaccent=611,t.scaron=389,t.scedilla=389,t.iacute=278,t.lozenge=471,t.Rcaron=667,t.Gcommaaccent=722,t.ucircumflex=500,t.acircumflex=444,t.Amacron=722,t.rcaron=333,t.ccedilla=444,t.Zdotaccent=611,t.Thorn=556,t.Omacron=722,t.Racute=667,t.Sacute=556,t.dcaron=588,t.Umacron=722,t.uring=500,t.threesuperior=300,t.Ograve=722,t.Agrave=722,t.Abreve=722,t.multiply=564,t.uacute=500,t.Tcaron=611,t.partialdiff=476,t.ydieresis=500,t.Nacute=722,t.icircumflex=278,t.Ecircumflex=611,t.adieresis=444,t.edieresis=444,t.cacute=444,t.nacute=500,t.umacron=500,t.Ncaron=722,t.Iacute=333,t.plusminus=564,t.brokenbar=200,t.registered=760,t.Gbreve=722,t.Idotaccent=333,t.summation=600,t.Egrave=611,t.racute=333,t.omacron=500,t.Zacute=611,t.Zcaron=611,t.greaterequal=549,t.Eth=722,t.Ccedilla=667,t.lcommaaccent=278,t.tcaron=326,t.eogonek=444,t.Uogonek=722,t.Aacute=722,t.Adieresis=722,t.egrave=444,t.zacute=444,t.iogonek=278,t.Oacute=722,t.oacute=500,t.amacron=444,t.sacute=389,t.idieresis=278,t.Ocircumflex=722,t.Ugrave=722,t.Delta=612,t.thorn=500,t.twosuperior=300,t.Odieresis=722,t.mu=500,t.igrave=278,t.ohungarumlaut=500,t.Eogonek=611,t.dcroat=500,t.threequarters=750,t.Scedilla=556,t.lcaron=344,t.Kcommaaccent=722,t.Lacute=611,t.trademark=980,t.edotaccent=444,t.Igrave=333,t.Imacron=333,t.Lcaron=611,t.onehalf=750,t.lessequal=549,t.ocircumflex=500,t.ntilde=500,t.Uhungarumlaut=722,t.Eacute=611,t.emacron=444,t.gbreve=500,t.onequarter=750,t.Scaron=556,t.Scommaaccent=556,t.Ohungarumlaut=722,t.degree=400,t.ograve=500,t.Ccaron=667,t.ugrave=500,t.radical=453,t.Dcaron=722,t.rcommaaccent=333,t.Ntilde=722,t.otilde=500,t.Rcommaaccent=667,t.Lcommaaccent=611,t.Atilde=722,t.Aogonek=722,t.Aring=722,t.Otilde=722,t.zdotaccent=444,t.Ecaron=611,t.Iogonek=333,t.kcommaaccent=500,t.minus=564,t.Icircumflex=333,t.ncaron=500,t.tcommaaccent=278,t.logicalnot=564,t.odieresis=500,t.udieresis=500,t.notequal=549,t.gcommaaccent=500,t.eth=500,t.zcaron=444,t.ncommaaccent=500,t.onesuperior=300,t.imacron=278,t.Euro=500})),t["Times-Bold"]=(0,_core_utils.getLookupTableFactory)((function(t){t.space=250,t.exclam=333,t.quotedbl=555,t.numbersign=500,t.dollar=500,t.percent=1e3,t.ampersand=833,t.quoteright=333,t.parenleft=333,t.parenright=333,t.asterisk=500,t.plus=570,t.comma=250,t.hyphen=333,t.period=250,t.slash=278,t.zero=500,t.one=500,t.two=500,t.three=500,t.four=500,t.five=500,t.six=500,t.seven=500,t.eight=500,t.nine=500,t.colon=333,t.semicolon=333,t.less=570,t.equal=570,t.greater=570,t.question=500,t.at=930,t.A=722,t.B=667,t.C=722,t.D=722,t.E=667,t.F=611,t.G=778,t.H=778,t.I=389,t.J=500,t.K=778,t.L=667,t.M=944,t.N=722,t.O=778,t.P=611,t.Q=778,t.R=722,t.S=556,t.T=667,t.U=722,t.V=722,t.W=1e3,t.X=722,t.Y=722,t.Z=667,t.bracketleft=333,t.backslash=278,t.bracketright=333,t.asciicircum=581,t.underscore=500,t.quoteleft=333,t.a=500,t.b=556,t.c=444,t.d=556,t.e=444,t.f=333,t.g=500,t.h=556,t.i=278,t.j=333,t.k=556,t.l=278,t.m=833,t.n=556,t.o=500,t.p=556,t.q=556,t.r=444,t.s=389,t.t=333,t.u=556,t.v=500,t.w=722,t.x=500,t.y=500,t.z=444,t.braceleft=394,t.bar=220,t.braceright=394,t.asciitilde=520,t.exclamdown=333,t.cent=500,t.sterling=500,t.fraction=167,t.yen=500,t.florin=500,t.section=500,t.currency=500,t.quotesingle=278,t.quotedblleft=500,t.guillemotleft=500,t.guilsinglleft=333,t.guilsinglright=333,t.fi=556,t.fl=556,t.endash=500,t.dagger=500,t.daggerdbl=500,t.periodcentered=250,t.paragraph=540,t.bullet=350,t.quotesinglbase=333,t.quotedblbase=500,t.quotedblright=500,t.guillemotright=500,t.ellipsis=1e3,t.perthousand=1e3,t.questiondown=500,t.grave=333,t.acute=333,t.circumflex=333,t.tilde=333,t.macron=333,t.breve=333,t.dotaccent=333,t.dieresis=333,t.ring=333,t.cedilla=333,t.hungarumlaut=333,t.ogonek=333,t.caron=333,t.emdash=1e3,t.AE=1e3,t.ordfeminine=300,t.Lslash=667,t.Oslash=778,t.OE=1e3,t.ordmasculine=330,t.ae=722,t.dotlessi=278,t.lslash=278,t.oslash=500,t.oe=722,t.germandbls=556,t.Idieresis=389,t.eacute=444,t.abreve=500,t.uhungarumlaut=556,t.ecaron=444,t.Ydieresis=722,t.divide=570,t.Yacute=722,t.Acircumflex=722,t.aacute=500,t.Ucircumflex=722,t.yacute=500,t.scommaaccent=389,t.ecircumflex=444,t.Uring=722,t.Udieresis=722,t.aogonek=500,t.Uacute=722,t.uogonek=556,t.Edieresis=667,t.Dcroat=722,t.commaaccent=250,t.copyright=747,t.Emacron=667,t.ccaron=444,t.aring=500,t.Ncommaaccent=722,t.lacute=278,t.agrave=500,t.Tcommaaccent=667,t.Cacute=722,t.atilde=500,t.Edotaccent=667,t.scaron=389,t.scedilla=389,t.iacute=278,t.lozenge=494,t.Rcaron=722,t.Gcommaaccent=778,t.ucircumflex=556,t.acircumflex=500,t.Amacron=722,t.rcaron=444,t.ccedilla=444,t.Zdotaccent=667,t.Thorn=611,t.Omacron=778,t.Racute=722,t.Sacute=556,t.dcaron=672,t.Umacron=722,t.uring=556,t.threesuperior=300,t.Ograve=778,t.Agrave=722,t.Abreve=722,t.multiply=570,t.uacute=556,t.Tcaron=667,t.partialdiff=494,t.ydieresis=500,t.Nacute=722,t.icircumflex=278,t.Ecircumflex=667,t.adieresis=500,t.edieresis=444,t.cacute=444,t.nacute=556,t.umacron=556,t.Ncaron=722,t.Iacute=389,t.plusminus=570,t.brokenbar=220,t.registered=747,t.Gbreve=778,t.Idotaccent=389,t.summation=600,t.Egrave=667,t.racute=444,t.omacron=500,t.Zacute=667,t.Zcaron=667,t.greaterequal=549,t.Eth=722,t.Ccedilla=722,t.lcommaaccent=278,t.tcaron=416,t.eogonek=444,t.Uogonek=722,t.Aacute=722,t.Adieresis=722,t.egrave=444,t.zacute=444,t.iogonek=278,t.Oacute=778,t.oacute=500,t.amacron=500,t.sacute=389,t.idieresis=278,t.Ocircumflex=778,t.Ugrave=722,t.Delta=612,t.thorn=556,t.twosuperior=300,t.Odieresis=778,t.mu=556,t.igrave=278,t.ohungarumlaut=500,t.Eogonek=667,t.dcroat=556,t.threequarters=750,t.Scedilla=556,t.lcaron=394,t.Kcommaaccent=778,t.Lacute=667,t.trademark=1e3,t.edotaccent=444,t.Igrave=389,t.Imacron=389,t.Lcaron=667,t.onehalf=750,t.lessequal=549,t.ocircumflex=500,t.ntilde=556,t.Uhungarumlaut=722,t.Eacute=667,t.emacron=444,t.gbreve=500,t.onequarter=750,t.Scaron=556,t.Scommaaccent=556,t.Ohungarumlaut=778,t.degree=400,t.ograve=500,t.Ccaron=722,t.ugrave=556,t.radical=549,t.Dcaron=722,t.rcommaaccent=444,t.Ntilde=722,t.otilde=500,t.Rcommaaccent=722,t.Lcommaaccent=667,t.Atilde=722,t.Aogonek=722,t.Aring=722,t.Otilde=778,t.zdotaccent=444,t.Ecaron=667,t.Iogonek=389,t.kcommaaccent=556,t.minus=570,t.Icircumflex=389,t.ncaron=556,t.tcommaaccent=333,t.logicalnot=570,t.odieresis=500,t.udieresis=556,t.notequal=549,t.gcommaaccent=500,t.eth=500,t.zcaron=444,t.ncommaaccent=556,t.onesuperior=300,t.imacron=278,t.Euro=500})),t["Times-BoldItalic"]=(0,_core_utils.getLookupTableFactory)((function(t){t.space=250,t.exclam=389,t.quotedbl=555,t.numbersign=500,t.dollar=500,t.percent=833,t.ampersand=778,t.quoteright=333,t.parenleft=333,t.parenright=333,t.asterisk=500,t.plus=570,t.comma=250,t.hyphen=333,t.period=250,t.slash=278,t.zero=500,t.one=500,t.two=500,t.three=500,t.four=500,t.five=500,t.six=500,t.seven=500,t.eight=500,t.nine=500,t.colon=333,t.semicolon=333,t.less=570,t.equal=570,t.greater=570,t.question=500,t.at=832,t.A=667,t.B=667,t.C=667,t.D=722,t.E=667,t.F=667,t.G=722,t.H=778,t.I=389,t.J=500,t.K=667,t.L=611,t.M=889,t.N=722,t.O=722,t.P=611,t.Q=722,t.R=667,t.S=556,t.T=611,t.U=722,t.V=667,t.W=889,t.X=667,t.Y=611,t.Z=611,t.bracketleft=333,t.backslash=278,t.bracketright=333,t.asciicircum=570,t.underscore=500,t.quoteleft=333,t.a=500,t.b=500,t.c=444,t.d=500,t.e=444,t.f=333,t.g=500,t.h=556,t.i=278,t.j=278,t.k=500,t.l=278,t.m=778,t.n=556,t.o=500,t.p=500,t.q=500,t.r=389,t.s=389,t.t=278,t.u=556,t.v=444,t.w=667,t.x=500,t.y=444,t.z=389,t.braceleft=348,t.bar=220,t.braceright=348,t.asciitilde=570,t.exclamdown=389,t.cent=500,t.sterling=500,t.fraction=167,t.yen=500,t.florin=500,t.section=500,t.currency=500,t.quotesingle=278,t.quotedblleft=500,t.guillemotleft=500,t.guilsinglleft=333,t.guilsinglright=333,t.fi=556,t.fl=556,t.endash=500,t.dagger=500,t.daggerdbl=500,t.periodcentered=250,t.paragraph=500,t.bullet=350,t.quotesinglbase=333,t.quotedblbase=500,t.quotedblright=500,t.guillemotright=500,t.ellipsis=1e3,t.perthousand=1e3,t.questiondown=500,t.grave=333,t.acute=333,t.circumflex=333,t.tilde=333,t.macron=333,t.breve=333,t.dotaccent=333,t.dieresis=333,t.ring=333,t.cedilla=333,t.hungarumlaut=333,t.ogonek=333,t.caron=333,t.emdash=1e3,t.AE=944,t.ordfeminine=266,t.Lslash=611,t.Oslash=722,t.OE=944,t.ordmasculine=300,t.ae=722,t.dotlessi=278,t.lslash=278,t.oslash=500,t.oe=722,t.germandbls=500,t.Idieresis=389,t.eacute=444,t.abreve=500,t.uhungarumlaut=556,t.ecaron=444,t.Ydieresis=611,t.divide=570,t.Yacute=611,t.Acircumflex=667,t.aacute=500,t.Ucircumflex=722,t.yacute=444,t.scommaaccent=389,t.ecircumflex=444,t.Uring=722,t.Udieresis=722,t.aogonek=500,t.Uacute=722,t.uogonek=556,t.Edieresis=667,t.Dcroat=722,t.commaaccent=250,t.copyright=747,t.Emacron=667,t.ccaron=444,t.aring=500,t.Ncommaaccent=722,t.lacute=278,t.agrave=500,t.Tcommaaccent=611,t.Cacute=667,t.atilde=500,t.Edotaccent=667,t.scaron=389,t.scedilla=389,t.iacute=278,t.lozenge=494,t.Rcaron=667,t.Gcommaaccent=722,t.ucircumflex=556,t.acircumflex=500,t.Amacron=667,t.rcaron=389,t.ccedilla=444,t.Zdotaccent=611,t.Thorn=611,t.Omacron=722,t.Racute=667,t.Sacute=556,t.dcaron=608,t.Umacron=722,t.uring=556,t.threesuperior=300,t.Ograve=722,t.Agrave=667,t.Abreve=667,t.multiply=570,t.uacute=556,t.Tcaron=611,t.partialdiff=494,t.ydieresis=444,t.Nacute=722,t.icircumflex=278,t.Ecircumflex=667,t.adieresis=500,t.edieresis=444,t.cacute=444,t.nacute=556,t.umacron=556,t.Ncaron=722,t.Iacute=389,t.plusminus=570,t.brokenbar=220,t.registered=747,t.Gbreve=722,t.Idotaccent=389,t.summation=600,t.Egrave=667,t.racute=389,t.omacron=500,t.Zacute=611,t.Zcaron=611,t.greaterequal=549,t.Eth=722,t.Ccedilla=667,t.lcommaaccent=278,t.tcaron=366,t.eogonek=444,t.Uogonek=722,t.Aacute=667,t.Adieresis=667,t.egrave=444,t.zacute=389,t.iogonek=278,t.Oacute=722,t.oacute=500,t.amacron=500,t.sacute=389,t.idieresis=278,t.Ocircumflex=722,t.Ugrave=722,t.Delta=612,t.thorn=500,t.twosuperior=300,t.Odieresis=722,t.mu=576,t.igrave=278,t.ohungarumlaut=500,t.Eogonek=667,t.dcroat=500,t.threequarters=750,t.Scedilla=556,t.lcaron=382,t.Kcommaaccent=667,t.Lacute=611,t.trademark=1e3,t.edotaccent=444,t.Igrave=389,t.Imacron=389,t.Lcaron=611,t.onehalf=750,t.lessequal=549,t.ocircumflex=500,t.ntilde=556,t.Uhungarumlaut=722,t.Eacute=667,t.emacron=444,t.gbreve=500,t.onequarter=750,t.Scaron=556,t.Scommaaccent=556,t.Ohungarumlaut=722,t.degree=400,t.ograve=500,t.Ccaron=667,t.ugrave=556,t.radical=549,t.Dcaron=722,t.rcommaaccent=389,t.Ntilde=722,t.otilde=500,t.Rcommaaccent=667,t.Lcommaaccent=611,t.Atilde=667,t.Aogonek=667,t.Aring=667,t.Otilde=722,t.zdotaccent=389,t.Ecaron=667,t.Iogonek=389,t.kcommaaccent=500,t.minus=606,t.Icircumflex=389,t.ncaron=556,t.tcommaaccent=278,t.logicalnot=606,t.odieresis=500,t.udieresis=556,t.notequal=549,t.gcommaaccent=500,t.eth=500,t.zcaron=389,t.ncommaaccent=556,t.onesuperior=300,t.imacron=278,t.Euro=500})),t["Times-Italic"]=(0,_core_utils.getLookupTableFactory)((function(t){t.space=250,t.exclam=333,t.quotedbl=420,t.numbersign=500,t.dollar=500,t.percent=833,t.ampersand=778,t.quoteright=333,t.parenleft=333,t.parenright=333,t.asterisk=500,t.plus=675,t.comma=250,t.hyphen=333,t.period=250,t.slash=278,t.zero=500,t.one=500,t.two=500,t.three=500,t.four=500,t.five=500,t.six=500,t.seven=500,t.eight=500,t.nine=500,t.colon=333,t.semicolon=333,t.less=675,t.equal=675,t.greater=675,t.question=500,t.at=920,t.A=611,t.B=611,t.C=667,t.D=722,t.E=611,t.F=611,t.G=722,t.H=722,t.I=333,t.J=444,t.K=667,t.L=556,t.M=833,t.N=667,t.O=722,t.P=611,t.Q=722,t.R=611,t.S=500,t.T=556,t.U=722,t.V=611,t.W=833,t.X=611,t.Y=556,t.Z=556,t.bracketleft=389,t.backslash=278,t.bracketright=389,t.asciicircum=422,t.underscore=500,t.quoteleft=333,t.a=500,t.b=500,t.c=444,t.d=500,t.e=444,t.f=278,t.g=500,t.h=500,t.i=278,t.j=278,t.k=444,t.l=278,t.m=722,t.n=500,t.o=500,t.p=500,t.q=500,t.r=389,t.s=389,t.t=278,t.u=500,t.v=444,t.w=667,t.x=444,t.y=444,t.z=389,t.braceleft=400,t.bar=275,t.braceright=400,t.asciitilde=541,t.exclamdown=389,t.cent=500,t.sterling=500,t.fraction=167,t.yen=500,t.florin=500,t.section=500,t.currency=500,t.quotesingle=214,t.quotedblleft=556,t.guillemotleft=500,t.guilsinglleft=333,t.guilsinglright=333,t.fi=500,t.fl=500,t.endash=500,t.dagger=500,t.daggerdbl=500,t.periodcentered=250,t.paragraph=523,t.bullet=350,t.quotesinglbase=333,t.quotedblbase=556,t.quotedblright=556,t.guillemotright=500,t.ellipsis=889,t.perthousand=1e3,t.questiondown=500,t.grave=333,t.acute=333,t.circumflex=333,t.tilde=333,t.macron=333,t.breve=333,t.dotaccent=333,t.dieresis=333,t.ring=333,t.cedilla=333,t.hungarumlaut=333,t.ogonek=333,t.caron=333,t.emdash=889,t.AE=889,t.ordfeminine=276,t.Lslash=556,t.Oslash=722,t.OE=944,t.ordmasculine=310,t.ae=667,t.dotlessi=278,t.lslash=278,t.oslash=500,t.oe=667,t.germandbls=500,t.Idieresis=333,t.eacute=444,t.abreve=500,t.uhungarumlaut=500,t.ecaron=444,t.Ydieresis=556,t.divide=675,t.Yacute=556,t.Acircumflex=611,t.aacute=500,t.Ucircumflex=722,t.yacute=444,t.scommaaccent=389,t.ecircumflex=444,t.Uring=722,t.Udieresis=722,t.aogonek=500,t.Uacute=722,t.uogonek=500,t.Edieresis=611,t.Dcroat=722,t.commaaccent=250,t.copyright=760,t.Emacron=611,t.ccaron=444,t.aring=500,t.Ncommaaccent=667,t.lacute=278,t.agrave=500,t.Tcommaaccent=556,t.Cacute=667,t.atilde=500,t.Edotaccent=611,t.scaron=389,t.scedilla=389,t.iacute=278,t.lozenge=471,t.Rcaron=611,t.Gcommaaccent=722,t.ucircumflex=500,t.acircumflex=500,t.Amacron=611,t.rcaron=389,t.ccedilla=444,t.Zdotaccent=556,t.Thorn=611,t.Omacron=722,t.Racute=611,t.Sacute=500,t.dcaron=544,t.Umacron=722,t.uring=500,t.threesuperior=300,t.Ograve=722,t.Agrave=611,t.Abreve=611,t.multiply=675,t.uacute=500,t.Tcaron=556,t.partialdiff=476,t.ydieresis=444,t.Nacute=667,t.icircumflex=278,t.Ecircumflex=611,t.adieresis=500,t.edieresis=444,t.cacute=444,t.nacute=500,t.umacron=500,t.Ncaron=667,t.Iacute=333,t.plusminus=675,t.brokenbar=275,t.registered=760,t.Gbreve=722,t.Idotaccent=333,t.summation=600,t.Egrave=611,t.racute=389,t.omacron=500,t.Zacute=556,t.Zcaron=556,t.greaterequal=549,t.Eth=722,t.Ccedilla=667,t.lcommaaccent=278,t.tcaron=300,t.eogonek=444,t.Uogonek=722,t.Aacute=611,t.Adieresis=611,t.egrave=444,t.zacute=389,t.iogonek=278,t.Oacute=722,t.oacute=500,t.amacron=500,t.sacute=389,t.idieresis=278,t.Ocircumflex=722,t.Ugrave=722,t.Delta=612,t.thorn=500,t.twosuperior=300,t.Odieresis=722,t.mu=500,t.igrave=278,t.ohungarumlaut=500,t.Eogonek=611,t.dcroat=500,t.threequarters=750,t.Scedilla=500,t.lcaron=300,t.Kcommaaccent=667,t.Lacute=556,t.trademark=980,t.edotaccent=444,t.Igrave=333,t.Imacron=333,t.Lcaron=611,t.onehalf=750,t.lessequal=549,t.ocircumflex=500,t.ntilde=500,t.Uhungarumlaut=722,t.Eacute=611,t.emacron=444,t.gbreve=500,t.onequarter=750,t.Scaron=500,t.Scommaaccent=500,t.Ohungarumlaut=722,t.degree=400,t.ograve=500,t.Ccaron=667,t.ugrave=500,t.radical=453,t.Dcaron=722,t.rcommaaccent=389,t.Ntilde=667,t.otilde=500,t.Rcommaaccent=611,t.Lcommaaccent=556,t.Atilde=611,t.Aogonek=611,t.Aring=611,t.Otilde=722,t.zdotaccent=389,t.Ecaron=611,t.Iogonek=333,t.kcommaaccent=444,t.minus=675,t.Icircumflex=333,t.ncaron=500,t.tcommaaccent=278,t.logicalnot=675,t.odieresis=500,t.udieresis=500,t.notequal=549,t.gcommaaccent=500,t.eth=500,t.zcaron=389,t.ncommaaccent=500,t.onesuperior=300,t.imacron=278,t.Euro=500})),t.ZapfDingbats=(0,_core_utils.getLookupTableFactory)((function(t){t.space=278,t.a1=974,t.a2=961,t.a202=974,t.a3=980,t.a4=719,t.a5=789,t.a119=790,t.a118=791,t.a117=690,t.a11=960,t.a12=939,t.a13=549,t.a14=855,t.a15=911,t.a16=933,t.a105=911,t.a17=945,t.a18=974,t.a19=755,t.a20=846,t.a21=762,t.a22=761,t.a23=571,t.a24=677,t.a25=763,t.a26=760,t.a27=759,t.a28=754,t.a6=494,t.a7=552,t.a8=537,t.a9=577,t.a10=692,t.a29=786,t.a30=788,t.a31=788,t.a32=790,t.a33=793,t.a34=794,t.a35=816,t.a36=823,t.a37=789,t.a38=841,t.a39=823,t.a40=833,t.a41=816,t.a42=831,t.a43=923,t.a44=744,t.a45=723,t.a46=749,t.a47=790,t.a48=792,t.a49=695,t.a50=776,t.a51=768,t.a52=792,t.a53=759,t.a54=707,t.a55=708,t.a56=682,t.a57=701,t.a58=826,t.a59=815,t.a60=789,t.a61=789,t.a62=707,t.a63=687,t.a64=696,t.a65=689,t.a66=786,t.a67=787,t.a68=713,t.a69=791,t.a70=785,t.a71=791,t.a72=873,t.a73=761,t.a74=762,t.a203=762,t.a75=759,t.a204=759,t.a76=892,t.a77=892,t.a78=788,t.a79=784,t.a81=438,t.a82=138,t.a83=277,t.a84=415,t.a97=392,t.a98=392,t.a99=668,t.a100=668,t.a89=390,t.a90=390,t.a93=317,t.a94=317,t.a91=276,t.a92=276,t.a205=509,t.a85=509,t.a206=410,t.a86=410,t.a87=234,t.a88=234,t.a95=334,t.a96=334,t.a101=732,t.a102=544,t.a103=544,t.a104=910,t.a106=667,t.a107=760,t.a108=760,t.a112=776,t.a111=595,t.a110=694,t.a109=626,t.a120=788,t.a121=788,t.a122=788,t.a123=788,t.a124=788,t.a125=788,t.a126=788,t.a127=788,t.a128=788,t.a129=788,t.a130=788,t.a131=788,t.a132=788,t.a133=788,t.a134=788,t.a135=788,t.a136=788,t.a137=788,t.a138=788,t.a139=788,t.a140=788,t.a141=788,t.a142=788,t.a143=788,t.a144=788,t.a145=788,t.a146=788,t.a147=788,t.a148=788,t.a149=788,t.a150=788,t.a151=788,t.a152=788,t.a153=788,t.a154=788,t.a155=788,t.a156=788,t.a157=788,t.a158=788,t.a159=788,t.a160=894,t.a161=838,t.a163=1016,t.a164=458,t.a196=748,t.a165=924,t.a192=748,t.a166=918,t.a167=927,t.a168=928,t.a169=928,t.a170=834,t.a171=873,t.a172=828,t.a173=924,t.a162=924,t.a174=917,t.a175=930,t.a176=931,t.a177=463,t.a178=883,t.a179=836,t.a193=836,t.a180=867,t.a199=867,t.a181=696,t.a200=696,t.a182=874,t.a201=874,t.a183=760,t.a184=946,t.a197=771,t.a185=865,t.a194=771,t.a198=888,t.a186=967,t.a195=888,t.a187=831,t.a188=873,t.a189=927,t.a190=970,t.a191=918}))}));exports.getMetrics=getMetrics;const getFontBasicMetrics=(0,_core_utils.getLookupTableFactory)((function(t){t.Courier={ascent:629,descent:-157,capHeight:562,xHeight:-426},t["Courier-Bold"]={ascent:629,descent:-157,capHeight:562,xHeight:439},t["Courier-Oblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426},t["Courier-BoldOblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426},t.Helvetica={ascent:718,descent:-207,capHeight:718,xHeight:523},t["Helvetica-Bold"]={ascent:718,descent:-207,capHeight:718,xHeight:532},t["Helvetica-Oblique"]={ascent:718,descent:-207,capHeight:718,xHeight:523},t["Helvetica-BoldOblique"]={ascent:718,descent:-207,capHeight:718,xHeight:532},t["Times-Roman"]={ascent:683,descent:-217,capHeight:662,xHeight:450},t["Times-Bold"]={ascent:683,descent:-217,capHeight:676,xHeight:461},t["Times-Italic"]={ascent:683,descent:-217,capHeight:653,xHeight:441},t["Times-BoldItalic"]={ascent:683,descent:-217,capHeight:669,xHeight:462},t.Symbol={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN},t.ZapfDingbats={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN}}));exports.getFontBasicMetrics=getFontBasicMetrics},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.GlyfTable=void 0,exports.GlyfTable=class{constructor(_ref46){let{glyfTable:glyfTable,isGlyphLocationsLong:isGlyphLocationsLong,locaTable:locaTable,numGlyphs:numGlyphs}=_ref46;this.glyphs=[];const loca=new DataView(locaTable.buffer,locaTable.byteOffset,locaTable.byteLength),glyf=new DataView(glyfTable.buffer,glyfTable.byteOffset,glyfTable.byteLength),offsetSize=isGlyphLocationsLong?4:2;let prev=isGlyphLocationsLong?loca.getUint32(0):2*loca.getUint16(0),pos=0;for(let i=0;ia+(g.getSize()+3&-4)),0)}write(){const totalSize=this.getSize(),glyfTable=new DataView(new ArrayBuffer(totalSize)),isLocationLong=totalSize>131070,offsetSize=isLocationLong?4:2,locaTable=new DataView(new ArrayBuffer((this.glyphs.length+1)*offsetSize));isLocationLong?locaTable.setUint32(0,0):locaTable.setUint16(0,0);let pos=0,locaIndex=0;for(const glyph of this.glyphs)pos+=glyph.write(pos,glyfTable),pos=pos+3&-4,locaIndex+=offsetSize,isLocationLong?locaTable.setUint32(locaIndex,pos):locaTable.setUint16(locaIndex,pos>>1);return{isLocationLong:isLocationLong,loca:new Uint8Array(locaTable.buffer),glyf:new Uint8Array(glyfTable.buffer)}}scale(factors){for(let i=0,ii=this.glyphs.length;ia+c.getSize()),0);return this.header.getSize()+size}write(pos,buf){if(!this.header)return 0;const spos=pos;if(pos+=this.header.write(pos,buf),this.simple)pos+=this.simple.write(pos,buf);else for(const composite of this.composites)pos+=composite.write(pos,buf);return pos-spos}scale(factor){if(!this.header)return;const xMiddle=(this.header.xMin+this.header.xMax)/2;if(this.header.scale(xMiddle,factor),this.simple)this.simple.scale(xMiddle,factor);else for(const composite of this.composites)composite.scale(xMiddle,factor)}}class GlyphHeader{constructor(_ref48){let{numberOfContours:numberOfContours,xMin:xMin,yMin:yMin,xMax:xMax,yMax:yMax}=_ref48;this.numberOfContours=numberOfContours,this.xMin=xMin,this.yMin=yMin,this.xMax=xMax,this.yMax=yMax}static parse(pos,glyf){return[10,new GlyphHeader({numberOfContours:glyf.getInt16(pos),xMin:glyf.getInt16(pos+2),yMin:glyf.getInt16(pos+4),xMax:glyf.getInt16(pos+6),yMax:glyf.getInt16(pos+8)})]}getSize(){return 10}write(pos,buf){return buf.setInt16(pos,this.numberOfContours),buf.setInt16(pos+2,this.xMin),buf.setInt16(pos+4,this.yMin),buf.setInt16(pos+6,this.xMax),buf.setInt16(pos+8,this.yMax),10}scale(x,factor){this.xMin=Math.round(x+(this.xMin-x)*factor),this.xMax=Math.round(x+(this.xMax-x)*factor)}}class Contour{constructor(_ref49){let{flags:flags,xCoordinates:xCoordinates,yCoordinates:yCoordinates}=_ref49;this.xCoordinates=xCoordinates,this.yCoordinates=yCoordinates,this.flags=flags}}class SimpleGlyph{constructor(_ref50){let{contours:contours,instructions:instructions}=_ref50;this.contours=contours,this.instructions=instructions}static parse(pos,glyf,numberOfContours){const endPtsOfContours=[];for(let i=0;i255?size+=2:abs>0&&(size+=1),lastX=x,abs=Math.abs(y-lastY),abs>255?size+=2:abs>0&&(size+=1),lastY=y}}return size}write(pos,buf){const spos=pos,xCoordinates=[],yCoordinates=[],flags=[];let lastX=0,lastY=0;for(const contour of this.contours){for(let i=0,ii=contour.xCoordinates.length;i=0?18:2,xCoordinates.push(abs)):xCoordinates.push(delta)}lastX=x;const y=contour.yCoordinates[i];if(delta=y-lastY,0===delta)flag|=32,yCoordinates.push(0);else{const abs=Math.abs(delta);abs<=255?(flag|=delta>=0?36:4,yCoordinates.push(abs)):yCoordinates.push(delta)}lastY=y,flags.push(flag)}buf.setUint16(pos,xCoordinates.length-1),pos+=2}buf.setUint16(pos,this.instructions.length),pos+=2,this.instructions.length&&(new Uint8Array(buf.buffer,0,buf.buffer.byteLength).set(this.instructions,pos),pos+=this.instructions.length);for(const flag of flags)buf.setUint8(pos++,flag);for(let i=0,ii=xCoordinates.length;i=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(size+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(size+=2),size}write(pos,buf){const spos=pos;return 2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1),buf.setUint16(pos,this.flags),buf.setUint16(pos+2,this.glyphIndex),pos+=4,1&this.flags?(2&this.flags?(buf.setInt16(pos,this.argument1),buf.setInt16(pos+2,this.argument2)):(buf.setUint16(pos,this.argument1),buf.setUint16(pos+2,this.argument2)),pos+=4):(buf.setUint8(pos,this.argument1),buf.setUint8(pos+1,this.argument2),pos+=2),256&this.flags&&(buf.setUint16(pos,this.instructions.length),pos+=2,this.instructions.length&&(new Uint8Array(buf.buffer,0,buf.buffer.byteLength).set(this.instructions,pos),pos+=this.instructions.length)),pos-spos}scale(x,factor){}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenTypeFileBuilder=void 0;var _core_utils=__w_pdfjs_require__(3),_util=__w_pdfjs_require__(2);function writeInt16(dest,offset,num){dest[offset]=num>>8&255,dest[offset+1]=255&num}function writeInt32(dest,offset,num){dest[offset]=num>>24&255,dest[offset+1]=num>>16&255,dest[offset+2]=num>>8&255,dest[offset+3]=255&num}function writeData(dest,offset,data){if(data instanceof Uint8Array)dest.set(data,offset);else if("string"==typeof data)for(let i=0,ii=data.length;imaxPower2;)maxPower2<<=1,log2++;const searchRange=maxPower2*entrySize;return{range:searchRange,entry:log2,rangeShift:entrySize*entriesCount-searchRange}}toArray(){let sfnt=this.sfnt;const tables=this.tables,tablesNames=Object.keys(tables);tablesNames.sort();const numTables=tablesNames.length;let i,j,jj,table,tableName,offset=12+16*numTables;const tableOffsets=[offset];for(i=0;i>>0,tableOffsets.push(offset);const file=new Uint8Array(offset);for(i=0;i>>0;writeInt32(file,offset+4,checksum),writeInt32(file,offset+8,tableOffsets[i]),writeInt32(file,offset+12,tables[tableName].length),offset+=16}return file}addTable(tag,data){if(tag in this.tables)throw new Error("Table "+tag+" already exists");this.tables[tag]=data}}exports.OpenTypeFileBuilder=OpenTypeFileBuilder},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Type1Font=void 0;var _cff_parser=__w_pdfjs_require__(35),_util=__w_pdfjs_require__(2),_fonts_utils=__w_pdfjs_require__(38),_core_utils=__w_pdfjs_require__(3),_stream=__w_pdfjs_require__(8),_type1_parser=__w_pdfjs_require__(49);function findBlock(streamBytes,signature,startIndex){const streamBytesLength=streamBytes.length,signatureLength=signature.length,scanLength=streamBytesLength-signatureLength;let i=startIndex,found=!1;for(;i=signatureLength){for(i+=j;i=0&&(builtInEncoding[charCode]=glyphId)}return(0,_fonts_utils.type1FontGlyphMapping)(properties,builtInEncoding,glyphNames)}hasGlyphId(id){return!(id<0||id>=this.numGlyphs)&&(0===id||this.charstrings[id-1].charstring.length>0)}getSeacs(charstrings){const seacMap=[];for(let i=0,ii=charstrings.length;i0;j--)value[j]-=value[j-1];privateDict.setByName(field,value)}cff.topDict.privateDict=privateDict;const subrIndex=new _cff_parser.CFFIndex;for(i=0,ii=subrs.length;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Type1Parser=void 0;var _encodings=__w_pdfjs_require__(37),_core_utils=__w_pdfjs_require__(3),_stream=__w_pdfjs_require__(8),_util=__w_pdfjs_require__(2);const COMMAND_MAP_vmoveto=[4],COMMAND_MAP_rlineto=[5],COMMAND_MAP_hlineto=[6],COMMAND_MAP_vlineto=[7],COMMAND_MAP_rrcurveto=[8],COMMAND_MAP_flex=[12,35],COMMAND_MAP_endchar=[14],COMMAND_MAP_rmoveto=[21],COMMAND_MAP_hmoveto=[22],COMMAND_MAP_vhcurveto=[30],COMMAND_MAP_hvcurveto=[31];class Type1CharString{constructor(){this.width=0,this.lsb=0,this.flexing=!1,this.output=[],this.stack=[]}convert(encoded,subrs,seacAnalysisEnabled){const count=encoded.length;let wx,sbx,subrNumber,error=!1;for(let i=0;istackLength)return!0;const start=stackLength-howManyArgs;for(let i=start;i>8&255,255&value):(value=65536*value|0,this.output.push(255,value>>24&255,value>>16&255,value>>8&255,255&value))}return this.output.push(...command),keepStack?this.stack.splice(start,howManyArgs):this.stack.length=0,!1}}function isHexDigit(code){return code>=48&&code<=57||code>=65&&code<=70||code>=97&&code<=102}function decrypt(data,key,discardNumber){if(discardNumber>=data.length)return new Uint8Array(0);let i,j,r=0|key;for(i=0;i>8,r=52845*(value+r)+22719&65535}return decrypted}function isSpecial(c){return 47===c||91===c||93===c||123===c||125===c||40===c||41===c}exports.Type1Parser=class{constructor(stream,encrypted,seacAnalysisEnabled){if(encrypted){const data=stream.getBytes(),isBinary=!((isHexDigit(data[0])||(0,_core_utils.isWhiteSpace)(data[0]))&&isHexDigit(data[1])&&isHexDigit(data[2])&&isHexDigit(data[3])&&isHexDigit(data[4])&&isHexDigit(data[5])&&isHexDigit(data[6])&&isHexDigit(data[7]));stream=new _stream.Stream(isBinary?decrypt(data,55665,4):function(data,key,discardNumber){let r=0|key;const count=data.length,decrypted=new Uint8Array(count>>>1);let i,j;for(i=0,j=0;i>8,r=52845*(value+r)+22719&65535}}return decrypted.slice(discardNumber,j)}(data,55665,4))}this.seacAnalysisEnabled=!!seacAnalysisEnabled,this.stream=stream,this.nextChar()}readNumberArray(){this.getToken();const array=[];for(;;){const token=this.getToken();if(null===token||"]"===token||"}"===token)break;array.push(parseFloat(token||0))}return array}readNumber(){const token=this.getToken();return parseFloat(token||0)}readInt(){const token=this.getToken();return 0|parseInt(token||0,10)}readBoolean(){return"true"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){return this.stream.skip(-2),this.currentChar=this.stream.getByte()}getToken(){let comment=!1,ch=this.currentChar;for(;;){if(-1===ch)return null;if(comment)10!==ch&&13!==ch||(comment=!1);else if(37===ch)comment=!0;else if(!(0,_core_utils.isWhiteSpace)(ch))break;ch=this.nextChar()}if(isSpecial(ch))return this.nextChar(),String.fromCharCode(ch);let token="";do{token+=String.fromCharCode(ch),ch=this.nextChar()}while(ch>=0&&!(0,_core_utils.isWhiteSpace)(ch)&&!isSpecial(ch));return token}readCharStrings(bytes,lenIV){return-1===lenIV?bytes:decrypt(bytes,4330,lenIV)}extractFontProgram(properties){const stream=this.stream,subrs=[],charstrings=[],privateData=Object.create(null);privateData.lenIV=4;const program={subrs:[],charstrings:[],properties:{privateData:privateData}};let token,length,data,lenIV;for(;null!==(token=this.getToken());)if("/"===token)switch(token=this.getToken(),token){case"CharStrings":for(this.getToken(),this.getToken(),this.getToken(),this.getToken();token=this.getToken(),null!==token&&"end"!==token;){if("/"!==token)continue;const glyph=this.getToken();length=this.readInt(),this.getToken(),data=length>0?stream.getBytes(length):new Uint8Array(0),lenIV=program.properties.privateData.lenIV;const encoded=this.readCharStrings(data,lenIV);this.nextChar(),token=this.getToken(),"noaccess"===token?this.getToken():"/"===token&&this.prevChar(),charstrings.push({glyph:glyph,encoded:encoded})}break;case"Subrs":for(this.readInt(),this.getToken();"dup"===this.getToken();){const index=this.readInt();length=this.readInt(),this.getToken(),data=length>0?stream.getBytes(length):new Uint8Array(0),lenIV=program.properties.privateData.lenIV;const encoded=this.readCharStrings(data,lenIV);this.nextChar(),token=this.getToken(),"noaccess"===token&&this.getToken(),subrs[index]=encoded}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const blueArray=this.readNumberArray();blueArray.length>0&&blueArray.length;break;case"StemSnapH":case"StemSnapV":program.properties.privateData[token]=this.readNumberArray();break;case"StdHW":case"StdVW":program.properties.privateData[token]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":program.properties.privateData[token]=this.readNumber();break;case"ExpansionFactor":program.properties.privateData[token]=this.readNumber()||.06;break;case"ForceBold":program.properties.privateData[token]=this.readBoolean()}for(const{encoded:encoded,glyph:glyph}of charstrings){const charString=new Type1CharString,error=charString.convert(encoded,subrs,this.seacAnalysisEnabled);let output=charString.output;error&&(output=[14]);const charStringObject={glyphName:glyph,charstring:output,width:charString.width,lsb:charString.lsb,seac:charString.seac};if(".notdef"===glyph?program.charstrings.unshift(charStringObject):program.charstrings.push(charStringObject),properties.builtInEncoding){const index=properties.builtInEncoding.indexOf(glyph);index>-1&&void 0===properties.widths[index]&&index>=properties.firstChar&&index<=properties.lastChar&&(properties.widths[index]=charString.width)}}return program}extractFontHeader(properties){let token;for(;null!==(token=this.getToken());)if("/"===token)switch(token=this.getToken(),token){case"FontMatrix":const matrix=this.readNumberArray();properties.fontMatrix=matrix;break;case"Encoding":const encodingArg=this.getToken();let encoding;if(/^\d+$/.test(encodingArg)){encoding=[];const size=0|parseInt(encodingArg,10);this.getToken();for(let j=0;j{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Pattern=void 0,exports.clearPatternCaches=function(){bCache=Object.create(null)},exports.getTilingPatternIR=function(operatorList,dict,color){const matrix=dict.getArray("Matrix"),bbox=_util.Util.normalizeRect(dict.getArray("BBox")),xstep=dict.get("XStep"),ystep=dict.get("YStep"),paintType=dict.get("PaintType"),tilingType=dict.get("TilingType");if(bbox[2]-bbox[0]==0||bbox[3]-bbox[1]==0)throw new _util.FormatError("Invalid getTilingPatternIR /BBox array: [".concat(bbox,"]."));return["TilingPattern",color,operatorList,matrix,bbox,xstep,ystep,paintType,tilingType]};var _util=__w_pdfjs_require__(2),_base_stream=__w_pdfjs_require__(5),_colorspace=__w_pdfjs_require__(12),_core_utils=__w_pdfjs_require__(3);const ShadingType_AXIAL=2,ShadingType_RADIAL=3,ShadingType_FREE_FORM_MESH=4,ShadingType_LATTICE_FORM_MESH=5,ShadingType_COONS_PATCH_MESH=6,ShadingType_TENSOR_PATCH_MESH=7;exports.Pattern=class{constructor(){(0,_util.unreachable)("Cannot initialize Pattern.")}static parseShading(shading,xref,res,pdfFunctionFactory,localColorSpaceCache){const dict=shading instanceof _base_stream.BaseStream?shading.dict:shading,type=dict.get("ShadingType");try{switch(type){case ShadingType_AXIAL:case ShadingType_RADIAL:return new RadialAxialShading(dict,xref,res,pdfFunctionFactory,localColorSpaceCache);case ShadingType_FREE_FORM_MESH:case ShadingType_LATTICE_FORM_MESH:case ShadingType_COONS_PATCH_MESH:case ShadingType_TENSOR_PATCH_MESH:return new MeshShading(shading,xref,res,pdfFunctionFactory,localColorSpaceCache);default:throw new _util.FormatError("Unsupported ShadingType: "+type)}}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;return(0,_util.warn)(ex),new DummyShading}}};class BaseShading{constructor(){this.constructor===BaseShading&&(0,_util.unreachable)("Cannot initialize BaseShading.")}getIR(){(0,_util.unreachable)("Abstract method `getIR` called.")}}_defineProperty(BaseShading,"SMALL_NUMBER",1e-6);class RadialAxialShading extends BaseShading{constructor(dict,xref,resources,pdfFunctionFactory,localColorSpaceCache){super(),this.coordsArr=dict.getArray("Coords"),this.shadingType=dict.get("ShadingType");const cs=_colorspace.ColorSpace.parse({cs:dict.getRaw("CS")||dict.getRaw("ColorSpace"),xref:xref,resources:resources,pdfFunctionFactory:pdfFunctionFactory,localColorSpaceCache:localColorSpaceCache}),bbox=dict.getArray("BBox");this.bbox=Array.isArray(bbox)&&4===bbox.length?_util.Util.normalizeRect(bbox):null;let t0=0,t1=1;if(dict.has("Domain")){const domainArr=dict.getArray("Domain");t0=domainArr[0],t1=domainArr[1]}let extendStart=!1,extendEnd=!1;if(dict.has("Extend")){const extendArr=dict.getArray("Extend");extendStart=extendArr[0],extendEnd=extendArr[1]}if(!(this.shadingType!==ShadingType_RADIAL||extendStart&&extendEnd)){const[x1,y1,r1,x2,y2,r2]=this.coordsArr,distance=Math.hypot(x1-x2,y1-y2);r1<=r2+distance&&r2<=r1+distance&&(0,_util.warn)("Unsupported radial gradient.")}this.extendStart=extendStart,this.extendEnd=extendEnd;const fnObj=dict.getRaw("Function"),fn=pdfFunctionFactory.createFromArray(fnObj),step=(t1-t0)/840,colorStops=this.colorStops=[];if(t0>=t1||step<=0)return void(0,_util.info)("Bad shading domain.");const color=new Float32Array(cs.numComps),ratio=new Float32Array(1);let rgbColor,iBase=0;ratio[0]=t0,fn(ratio,0,color,0);let rgbBase=cs.getRgb(color,0);const cssColorBase=_util.Util.makeHexColor(rgbBase[0],rgbBase[1],rgbBase[2]);colorStops.push([0,cssColorBase]);let iPrev=1;ratio[0]=t0+step,fn(ratio,0,color,0);let rgbPrev=cs.getRgb(color,0),maxSlopeR=rgbPrev[0]-rgbBase[0]+1,maxSlopeG=rgbPrev[1]-rgbBase[1]+1,maxSlopeB=rgbPrev[2]-rgbBase[2]+1,minSlopeR=rgbPrev[0]-rgbBase[0]-1,minSlopeG=rgbPrev[1]-rgbBase[1]-1,minSlopeB=rgbPrev[2]-rgbBase[2]-1;for(let i=2;i<840;i++){ratio[0]=t0+i*step,fn(ratio,0,color,0),rgbColor=cs.getRgb(color,0);const run=i-iBase;if(maxSlopeR=Math.min(maxSlopeR,(rgbColor[0]-rgbBase[0]+1)/run),maxSlopeG=Math.min(maxSlopeG,(rgbColor[1]-rgbBase[1]+1)/run),maxSlopeB=Math.min(maxSlopeB,(rgbColor[2]-rgbBase[2]+1)/run),minSlopeR=Math.max(minSlopeR,(rgbColor[0]-rgbBase[0]-1)/run),minSlopeG=Math.max(minSlopeG,(rgbColor[1]-rgbBase[1]-1)/run),minSlopeB=Math.max(minSlopeB,(rgbColor[2]-rgbBase[2]-1)/run),!(minSlopeR<=maxSlopeR&&minSlopeG<=maxSlopeG&&minSlopeB<=maxSlopeB)){const cssColor=_util.Util.makeHexColor(rgbPrev[0],rgbPrev[1],rgbPrev[2]);colorStops.push([iPrev/840,cssColor]),maxSlopeR=rgbColor[0]-rgbPrev[0]+1,maxSlopeG=rgbColor[1]-rgbPrev[1]+1,maxSlopeB=rgbColor[2]-rgbPrev[2]+1,minSlopeR=rgbColor[0]-rgbPrev[0]-1,minSlopeG=rgbColor[1]-rgbPrev[1]-1,minSlopeB=rgbColor[2]-rgbPrev[2]-1,iBase=iPrev,rgbBase=rgbPrev}iPrev=i,rgbPrev=rgbColor}const cssColor=_util.Util.makeHexColor(rgbPrev[0],rgbPrev[1],rgbPrev[2]);colorStops.push([1,cssColor]);let background="transparent";dict.has("Background")&&(rgbColor=cs.getRgb(dict.get("Background"),0),background=_util.Util.makeHexColor(rgbColor[0],rgbColor[1],rgbColor[2])),extendStart||(colorStops.unshift([0,background]),colorStops[1][0]+=BaseShading.SMALL_NUMBER),extendEnd||(colorStops.at(-1)[0]-=BaseShading.SMALL_NUMBER,colorStops.push([1,background])),this.colorStops=colorStops}getIR(){const coordsArr=this.coordsArr,shadingType=this.shadingType;let type,p0,p1,r0,r1;return shadingType===ShadingType_AXIAL?(p0=[coordsArr[0],coordsArr[1]],p1=[coordsArr[2],coordsArr[3]],r0=null,r1=null,type="axial"):shadingType===ShadingType_RADIAL?(p0=[coordsArr[0],coordsArr[1]],p1=[coordsArr[3],coordsArr[4]],r0=coordsArr[2],r1=coordsArr[5],type="radial"):(0,_util.unreachable)("getPattern type unknown: ".concat(shadingType)),["RadialAxial",type,this.bbox,this.colorStops,p0,p1,r0,r1]}}class MeshStreamReader{constructor(stream,context){this.stream=stream,this.context=context,this.buffer=0,this.bufferLength=0;const numComps=context.numComps;this.tmpCompsBuf=new Float32Array(numComps);const csNumComps=context.colorSpace.numComps;this.tmpCsCompsBuf=context.colorFn?new Float32Array(csNumComps):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos0)return!0;const nextByte=this.stream.getByte();return!(nextByte<0||(this.buffer=nextByte,this.bufferLength=8,0))}readBits(n){let buffer=this.buffer,bufferLength=this.bufferLength;if(32===n){if(0===bufferLength)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;buffer=buffer<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();const nextByte=this.stream.getByte();return this.buffer=nextByte&(1<>bufferLength)>>>0}if(8===n&&0===bufferLength)return this.stream.getByte();for(;bufferLength>bufferLength}align(){this.buffer=0,this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const bitsPerCoordinate=this.context.bitsPerCoordinate,xi=this.readBits(bitsPerCoordinate),yi=this.readBits(bitsPerCoordinate),decode=this.context.decode,scale=bitsPerCoordinate<32?1/((1<x?x:minX,minY=minY>y?y:minY,maxX=maxX{Object.defineProperty(exports,"__esModule",{value:!0}),exports.getXfaFontDict=function(name){const widths=function(name){const info=getXfaFontName(name);if(!info)return null;const{baseWidths:baseWidths,baseMapping:baseMapping,factors:factors}=info,rescaledBaseWidths=factors?baseWidths.map(((w,i)=>w*factors[i])):baseWidths;let currentArray,currentCode=-2;const newWidths=[];for(const[unicode,glyphIndex]of baseMapping.map(((charUnicode,index)=>[charUnicode,index])).sort(((_ref52,_ref53)=>{let[unicode1]=_ref52,[unicode2]=_ref53;return unicode1-unicode2})))-1!==unicode&&(unicode===currentCode+1?(currentArray.push(rescaledBaseWidths[glyphIndex]),currentCode+=1):(currentCode=unicode,currentArray=[rescaledBaseWidths[glyphIndex]],newWidths.push(unicode,currentArray)));return newWidths}(name),dict=new _primitives.Dict(null);dict.set("BaseFont",_primitives.Name.get(name)),dict.set("Type",_primitives.Name.get("Font")),dict.set("Subtype",_primitives.Name.get("CIDFontType2")),dict.set("Encoding",_primitives.Name.get("Identity-H")),dict.set("CIDToGIDMap",_primitives.Name.get("Identity")),dict.set("W",widths),dict.set("FirstChar",widths[0]),dict.set("LastChar",widths.at(-2)+widths.at(-1).length-1);const descriptor=new _primitives.Dict(null);dict.set("FontDescriptor",descriptor);const systemInfo=new _primitives.Dict(null);return systemInfo.set("Ordering","Identity"),systemInfo.set("Registry","Adobe"),systemInfo.set("Supplement",0),dict.set("CIDSystemInfo",systemInfo),dict},exports.getXfaFontName=getXfaFontName;var _calibri_factors=__w_pdfjs_require__(52),_primitives=__w_pdfjs_require__(4),_helvetica_factors=__w_pdfjs_require__(53),_liberationsans_widths=__w_pdfjs_require__(54),_myriadpro_factors=__w_pdfjs_require__(55),_segoeui_factors=__w_pdfjs_require__(56),_core_utils=__w_pdfjs_require__(3),_fonts_utils=__w_pdfjs_require__(38);const getXFAFontMap=(0,_core_utils.getLookupTableFactory)((function(t){t["MyriadPro-Regular"]=t["PdfJS-Fallback-Regular"]={name:"LiberationSans-Regular",factors:_myriadpro_factors.MyriadProRegularFactors,baseWidths:_liberationsans_widths.LiberationSansRegularWidths,baseMapping:_liberationsans_widths.LiberationSansRegularMapping,metrics:_myriadpro_factors.MyriadProRegularMetrics},t["MyriadPro-Bold"]=t["PdfJS-Fallback-Bold"]={name:"LiberationSans-Bold",factors:_myriadpro_factors.MyriadProBoldFactors,baseWidths:_liberationsans_widths.LiberationSansBoldWidths,baseMapping:_liberationsans_widths.LiberationSansBoldMapping,metrics:_myriadpro_factors.MyriadProBoldMetrics},t["MyriadPro-It"]=t["MyriadPro-Italic"]=t["PdfJS-Fallback-Italic"]={name:"LiberationSans-Italic",factors:_myriadpro_factors.MyriadProItalicFactors,baseWidths:_liberationsans_widths.LiberationSansItalicWidths,baseMapping:_liberationsans_widths.LiberationSansItalicMapping,metrics:_myriadpro_factors.MyriadProItalicMetrics},t["MyriadPro-BoldIt"]=t["MyriadPro-BoldItalic"]=t["PdfJS-Fallback-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:_myriadpro_factors.MyriadProBoldItalicFactors,baseWidths:_liberationsans_widths.LiberationSansBoldItalicWidths,baseMapping:_liberationsans_widths.LiberationSansBoldItalicMapping,metrics:_myriadpro_factors.MyriadProBoldItalicMetrics},t.ArialMT=t.Arial=t["Arial-Regular"]={name:"LiberationSans-Regular",baseWidths:_liberationsans_widths.LiberationSansRegularWidths,baseMapping:_liberationsans_widths.LiberationSansRegularMapping},t["Arial-BoldMT"]=t["Arial-Bold"]={name:"LiberationSans-Bold",baseWidths:_liberationsans_widths.LiberationSansBoldWidths,baseMapping:_liberationsans_widths.LiberationSansBoldMapping},t["Arial-ItalicMT"]=t["Arial-Italic"]={name:"LiberationSans-Italic",baseWidths:_liberationsans_widths.LiberationSansItalicWidths,baseMapping:_liberationsans_widths.LiberationSansItalicMapping},t["Arial-BoldItalicMT"]=t["Arial-BoldItalic"]={name:"LiberationSans-BoldItalic",baseWidths:_liberationsans_widths.LiberationSansBoldItalicWidths,baseMapping:_liberationsans_widths.LiberationSansBoldItalicMapping},t["Calibri-Regular"]={name:"LiberationSans-Regular",factors:_calibri_factors.CalibriRegularFactors,baseWidths:_liberationsans_widths.LiberationSansRegularWidths,baseMapping:_liberationsans_widths.LiberationSansRegularMapping,metrics:_calibri_factors.CalibriRegularMetrics},t["Calibri-Bold"]={name:"LiberationSans-Bold",factors:_calibri_factors.CalibriBoldFactors,baseWidths:_liberationsans_widths.LiberationSansBoldWidths,baseMapping:_liberationsans_widths.LiberationSansBoldMapping,metrics:_calibri_factors.CalibriBoldMetrics},t["Calibri-Italic"]={name:"LiberationSans-Italic",factors:_calibri_factors.CalibriItalicFactors,baseWidths:_liberationsans_widths.LiberationSansItalicWidths,baseMapping:_liberationsans_widths.LiberationSansItalicMapping,metrics:_calibri_factors.CalibriItalicMetrics},t["Calibri-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:_calibri_factors.CalibriBoldItalicFactors,baseWidths:_liberationsans_widths.LiberationSansBoldItalicWidths,baseMapping:_liberationsans_widths.LiberationSansBoldItalicMapping,metrics:_calibri_factors.CalibriBoldItalicMetrics},t["Segoeui-Regular"]={name:"LiberationSans-Regular",factors:_segoeui_factors.SegoeuiRegularFactors,baseWidths:_liberationsans_widths.LiberationSansRegularWidths,baseMapping:_liberationsans_widths.LiberationSansRegularMapping,metrics:_segoeui_factors.SegoeuiRegularMetrics},t["Segoeui-Bold"]={name:"LiberationSans-Bold",factors:_segoeui_factors.SegoeuiBoldFactors,baseWidths:_liberationsans_widths.LiberationSansBoldWidths,baseMapping:_liberationsans_widths.LiberationSansBoldMapping,metrics:_segoeui_factors.SegoeuiBoldMetrics},t["Segoeui-Italic"]={name:"LiberationSans-Italic",factors:_segoeui_factors.SegoeuiItalicFactors,baseWidths:_liberationsans_widths.LiberationSansItalicWidths,baseMapping:_liberationsans_widths.LiberationSansItalicMapping,metrics:_segoeui_factors.SegoeuiItalicMetrics},t["Segoeui-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:_segoeui_factors.SegoeuiBoldItalicFactors,baseWidths:_liberationsans_widths.LiberationSansBoldItalicWidths,baseMapping:_liberationsans_widths.LiberationSansBoldItalicMapping,metrics:_segoeui_factors.SegoeuiBoldItalicMetrics},t["Helvetica-Regular"]=t.Helvetica={name:"LiberationSans-Regular",factors:_helvetica_factors.HelveticaRegularFactors,baseWidths:_liberationsans_widths.LiberationSansRegularWidths,baseMapping:_liberationsans_widths.LiberationSansRegularMapping,metrics:_helvetica_factors.HelveticaRegularMetrics},t["Helvetica-Bold"]={name:"LiberationSans-Bold",factors:_helvetica_factors.HelveticaBoldFactors,baseWidths:_liberationsans_widths.LiberationSansBoldWidths,baseMapping:_liberationsans_widths.LiberationSansBoldMapping,metrics:_helvetica_factors.HelveticaBoldMetrics},t["Helvetica-Italic"]={name:"LiberationSans-Italic",factors:_helvetica_factors.HelveticaItalicFactors,baseWidths:_liberationsans_widths.LiberationSansItalicWidths,baseMapping:_liberationsans_widths.LiberationSansItalicMapping,metrics:_helvetica_factors.HelveticaItalicMetrics},t["Helvetica-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:_helvetica_factors.HelveticaBoldItalicFactors,baseWidths:_liberationsans_widths.LiberationSansBoldItalicWidths,baseMapping:_liberationsans_widths.LiberationSansBoldItalicMapping,metrics:_helvetica_factors.HelveticaBoldItalicMetrics}}));function getXfaFontName(name){const fontName=(0,_fonts_utils.normalizeFontName)(name);return getXFAFontMap()[fontName]}},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.CalibriRegularMetrics=exports.CalibriRegularFactors=exports.CalibriItalicMetrics=exports.CalibriItalicFactors=exports.CalibriBoldMetrics=exports.CalibriBoldItalicMetrics=exports.CalibriBoldItalicFactors=exports.CalibriBoldFactors=void 0,exports.CalibriBoldFactors=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.54657,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.73293,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.9121,.86943,.79795,.88198,.77958,.70864,.81055,.90399,.88653,.96017,.82577,.77892,.78257,.97507,1.54657,.97507,.85284,.89552,.90176,.88762,.8785,.75241,.8785,.90518,.95015,.77618,.8785,.88401,.91916,.86304,.88401,.91488,.8785,.8801,.8785,.8785,.91343,.7173,1.04106,.8785,.85075,.95794,.82616,.85162,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.12401,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.73293,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.9121,.86943,.86943,.86943,.86943,.86943,.85284,.87508,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.88762,.88762,.88762,.88762,.88762,.88762,.8715,.75241,.90518,.90518,.90518,.90518,.88401,.88401,.88401,.88401,.8785,.8785,.8801,.8801,.8801,.8801,.8801,.90747,.89049,.8785,.8785,.8785,.8785,.85162,.8785,.85162,.83908,.88762,.83908,.88762,.83908,.88762,.73293,.75241,.73293,.75241,.73293,.75241,.73293,.75241,.87289,.83016,.88506,.93125,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.81921,.77618,.81921,.77618,.81921,.77618,1,1,.87356,.8785,.91075,.89608,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76229,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.79468,.91926,.88175,.70823,.94903,.9121,.8785,1,1,.9121,.8785,.87802,.88656,.8785,.86943,.8801,.86943,.8801,.86943,.8801,.87402,.89291,.77958,.91343,1,1,.77958,.91343,.70864,.7173,.70864,.7173,.70864,.7173,.70864,.7173,1,1,.81055,.75841,.81055,1.06452,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.96017,.95794,.77892,.85162,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.88762,.77539,.8715,.87508,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70674,.98387,.94721,1.33431,1.45894,.95161,1.06303,.83908,.80352,.57184,.6965,.56289,.82001,.56029,.81235,1.02988,.83908,.7762,.68156,.80367,.73133,.78257,.87356,.86943,.95958,.75727,.89019,1.04924,.9121,.7648,.86943,.87356,.79795,.78275,.81055,.77892,.9762,.82577,.99819,.84896,.95958,.77892,.96108,1.01407,.89049,1.02988,.94211,.96108,.8936,.84021,.87842,.96399,.79109,.89049,1.00813,1.02988,.86077,.87445,.92099,.84723,.86513,.8801,.75638,.85714,.78216,.79586,.87965,.94211,.97747,.78287,.97926,.84971,1.02988,.94211,.8801,.94211,.84971,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90264,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.90518,1,1,1,1,1,1,1,1,1,1,1,1,.90548,1,1,1,1,1,1,.96017,.95794,.96017,.95794,.96017,.95794,.77892,.85162,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.92794,.87012,.87012,.87012,.89552,.89552,1.42259,.71143,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.93835,.83406,.91133,.84107,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90527,1.81055,.90527,1.81055,1.31006,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.CalibriBoldMetrics={lineHeight:1.2207,lineGap:.2207},exports.CalibriBoldItalicFactors=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.56239,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.71805,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.90872,.85938,.79795,.87068,.77958,.69766,.81055,.90399,.88653,.96068,.82577,.77892,.78257,.97507,1.529,.97507,.85284,.89552,.90176,.94908,.86411,.74012,.86411,.88323,.95015,.86411,.86331,.88401,.91916,.86304,.88401,.9039,.86331,.86331,.86411,.86411,.90464,.70852,1.04106,.86331,.84372,.95794,.82616,.84548,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.19129,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.71805,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.90872,.85938,.85938,.85938,.85938,.85938,.85284,.87068,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.94908,.94908,.94908,.94908,.94908,.94908,.85887,.74012,.88323,.88323,.88323,.88323,.88401,.88401,.88401,.88401,.8785,.86331,.86331,.86331,.86331,.86331,.86331,.90747,.89049,.86331,.86331,.86331,.86331,.84548,.86411,.84548,.83908,.94908,.83908,.94908,.83908,.94908,.71805,.74012,.71805,.74012,.71805,.74012,.71805,.74012,.87289,.79538,.88506,.92726,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.81921,.86411,.81921,.86411,.81921,.86411,1,1,.87356,.86331,.91075,.8777,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76467,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.77312,.91926,.88175,.70823,.94903,.90872,.86331,1,1,.90872,.86331,.86906,.88116,.86331,.85938,.86331,.85938,.86331,.85938,.86331,.87402,.86549,.77958,.90464,1,1,.77958,.90464,.69766,.70852,.69766,.70852,.69766,.70852,.69766,.70852,1,1,.81055,.75841,.81055,1.06452,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.96068,.95794,.77892,.84548,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.94908,.77539,.85887,.87068,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70088,.98387,.94721,1.33431,1.45894,.95161,1.48387,.83908,.80352,.57118,.6965,.56347,.79179,.55853,.80346,1.02988,.83908,.7762,.67174,.86036,.73133,.78257,.87356,.86441,.95958,.75727,.89019,1.04924,.90872,.74889,.85938,.87891,.79795,.7957,.81055,.77892,.97447,.82577,.97466,.87179,.95958,.77892,.94252,.95612,.8753,1.02988,.92733,.94252,.87411,.84021,.8728,.95612,.74081,.8753,1.02189,1.02988,.84814,.87445,.91822,.84723,.85668,.86331,.81344,.87581,.76422,.82046,.96057,.92733,.99375,.78022,.95452,.86015,1.02988,.92733,.86331,.92733,.86015,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90631,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.88323,1,1,1,1,1,1,1,1,1,1,1,1,.85174,1,1,1,1,1,1,.96068,.95794,.96068,.95794,.96068,.95794,.77892,.84548,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.89807,.87012,.87012,.87012,.89552,.89552,1.42259,.71094,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.92972,.83406,.91133,.83326,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90616,1.81055,.90527,1.81055,1.3107,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.CalibriBoldItalicMetrics={lineHeight:1.2207,lineGap:.2207},exports.CalibriItalicFactors=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39543,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.72346,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89249,.84118,.77452,.85374,.75186,.67789,.79776,.88844,.85066,.94309,.77818,.7306,.76659,1.10369,1.38313,1.10369,1.06139,.89552,.8739,.9245,.9245,.83203,.9245,.85865,1.09842,.9245,.9245,1.03297,1.07692,.90918,1.03297,.94959,.9245,.92274,.9245,.9245,1.02933,.77832,1.20562,.9245,.8916,.98986,.86621,.89453,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.16359,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.72346,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89249,.84118,.84118,.84118,.84118,.84118,.85284,.84557,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.9245,.9245,.9245,.9245,.9245,.9245,.84843,.83203,.85865,.85865,.85865,.85865,.82601,.82601,.82601,.82601,.94469,.9245,.92274,.92274,.92274,.92274,.92274,.90747,.86651,.9245,.9245,.9245,.9245,.89453,.9245,.89453,.8675,.9245,.8675,.9245,.8675,.9245,.72346,.83203,.72346,.83203,.72346,.83203,.72346,.83203,.85193,.8875,.86477,.99034,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.81105,.9245,.81105,.9245,.81105,.9245,1,1,.86275,.9245,.90872,.93591,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77896,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.9375,.98156,.93407,.77261,1.11429,.89249,.9245,1,1,.89249,.9245,.92534,.86698,.9245,.84118,.92274,.84118,.92274,.84118,.92274,.8667,.86291,.75186,1.02933,1,1,.75186,1.02933,.67789,.77832,.67789,.77832,.67789,.77832,.67789,.77832,1,1,.79776,.97655,.79776,1.23023,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.94309,.98986,.7306,.89453,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.9245,.76318,.84843,.84557,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67009,.96334,.93695,1.35191,1.40909,.95161,1.48387,.8675,.90861,.6192,.7363,.64824,.82411,.56321,.85696,1.23516,.8675,.81552,.7286,.84134,.73206,.76659,.86275,.84369,.90685,.77892,.85871,1.02638,.89249,.75828,.84118,.85984,.77452,.76466,.79776,.7306,.90782,.77818,.903,.87291,.90685,.7306,.99058,1.03667,.94635,1.23516,.9849,.99058,.92393,.8916,.942,1.03667,.75026,.94635,1.0297,1.23516,.90918,.94048,.98217,.89746,.84153,.92274,.82507,.88832,.84438,.88178,1.03525,.9849,1.00225,.78086,.97248,.89404,1.23516,.9849,.92274,.9849,.89404,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.89693,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.85865,1,1,1,1,1,1,1,1,1,1,1,1,.90933,1,1,1,1,1,1,.94309,.98986,.94309,.98986,.94309,.98986,.7306,.89453,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.68994,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.97858,.82616,.91133,.83437,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90572,1.81055,.90749,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85284,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.CalibriItalicMetrics={lineHeight:1.2207,lineGap:.2207},exports.CalibriRegularFactors=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39016,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.73834,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89385,.85122,.77452,.86503,.75186,.68887,.79776,.88844,.85066,.94258,.77818,.7306,.76659,1.10369,1.39016,1.10369,1.06139,.89552,.8739,.86128,.94469,.8457,.94469,.89464,1.09842,.84636,.94469,1.03297,1.07692,.90918,1.03297,.95897,.94469,.9482,.94469,.94469,1.04692,.78223,1.20562,.94469,.90332,.98986,.86621,.90527,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.08707,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.73834,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89385,.85122,.85122,.85122,.85122,.85122,.85284,.85311,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.86128,.86128,.86128,.86128,.86128,.86128,.8693,.8457,.89464,.89464,.89464,.89464,.82601,.82601,.82601,.82601,.94469,.94469,.9482,.9482,.9482,.9482,.9482,.90747,.86651,.94469,.94469,.94469,.94469,.90527,.94469,.90527,.8675,.86128,.8675,.86128,.8675,.86128,.73834,.8457,.73834,.8457,.73834,.8457,.73834,.8457,.85193,.92454,.86477,.9921,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.81105,.84636,.81105,.84636,.81105,.84636,1,1,.86275,.94469,.90872,.95786,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77741,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.90452,.98156,1.11842,.77261,1.11429,.89385,.94469,1,1,.89385,.94469,.95877,.86901,.94469,.85122,.9482,.85122,.9482,.85122,.9482,.8667,.90016,.75186,1.04692,1,1,.75186,1.04692,.68887,.78223,.68887,.78223,.68887,.78223,.68887,.78223,1,1,.79776,.92188,.79776,1.23023,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.94258,.98986,.7306,.90527,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.86128,.76318,.8693,.85311,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67742,.96334,.93695,1.35191,1.40909,.95161,1.48387,.86686,.90861,.62267,.74359,.65649,.85498,.56963,.88254,1.23516,.8675,.81552,.75443,.84503,.73206,.76659,.86275,.85122,.90685,.77892,.85746,1.02638,.89385,.75657,.85122,.86275,.77452,.74171,.79776,.7306,.95165,.77818,.89772,.88831,.90685,.7306,.98142,1.02191,.96576,1.23516,.99018,.98142,.9236,.89258,.94035,1.02191,.78848,.96576,.9561,1.23516,.90918,.92578,.95424,.89746,.83969,.9482,.80113,.89442,.85208,.86155,.98022,.99018,1.00452,.81209,.99247,.89181,1.23516,.99018,.9482,.99018,.89181,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.88844,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89464,1,1,1,1,1,1,1,1,1,1,1,1,.96766,1,1,1,1,1,1,.94258,.98986,.94258,.98986,.94258,.98986,.7306,.90527,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.69043,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.99331,.82616,.91133,.84286,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90527,1.81055,.90527,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1.07185,.99413,.96334,1.08065,1,1,1,1,1,1,1,1,1,1,1],exports.CalibriRegularMetrics={lineHeight:1.2207,lineGap:.2207}},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.HelveticaRegularMetrics=exports.HelveticaRegularFactors=exports.HelveticaItalicMetrics=exports.HelveticaItalicFactors=exports.HelveticaBoldMetrics=exports.HelveticaBoldItalicMetrics=exports.HelveticaBoldItalicFactors=exports.HelveticaBoldFactors=void 0,exports.HelveticaBoldFactors=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.03374,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.00042,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.03828,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00034,.99977,1,.99997,1.00026,1.00078,1.00036,.99973,1.00013,1.0006,.99977,.99977,.99988,.85148,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,1.00069,1.00022,.99977,1.00001,.99984,1.00026,1.00001,1.00024,1.00001,.9999,1,1.0006,1.00001,1.00041,.99962,1.00026,1.0006,.99995,1.00041,.99942,.99973,.99927,1.00082,.99902,1.00026,1.00087,1.0006,1.00069,.99973,.99867,.99973,.9993,1.00026,1.00049,1.00056,1,.99988,.99935,.99995,.99954,1.00055,.99945,1.00032,1.0006,.99995,1.00026,.99995,1.00032,1.00001,1.00008,.99971,1.00019,.9994,1.00001,1.0006,1.00044,.99973,1.00023,1.00047,1,.99942,.99561,.99989,1.00035,.99977,1.00035,.99977,1.00019,.99944,1.00001,1.00021,.99926,1.00035,1.00035,.99942,1.00048,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.99989,1.00057,1.00001,.99936,1.00052,1.00012,.99996,1.00043,1,1.00035,.9994,.99976,1.00035,.99973,1.00052,1.00041,1.00119,1.00037,.99973,1.00002,.99986,1.00041,1.00041,.99902,.9996,1.00034,.99999,1.00026,.99999,1.00026,.99973,1.00052,.99973,1,.99973,1.00041,1.00075,.9994,1.0003,.99999,1,1.00041,.99955,1,.99915,.99973,.99973,1.00026,1.00119,.99955,.99973,1.0006,.99911,1.0006,1.00026,.99972,1.00026,.99902,1.00041,.99973,.99999,1,1,1.00038,1.0005,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,1.00047,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],exports.HelveticaBoldMetrics={lineHeight:1.2,lineGap:.2},exports.HelveticaBoldItalicFactors=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.0044,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99971,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.01011,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99977,1,1,1.00026,.99969,.99972,.99981,.9998,1.0006,.99977,.99977,1.00022,.91155,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,.99966,1.00022,1.00032,1.00001,.99944,1.00026,1.00001,.99968,1.00001,1.00047,1,1.0006,1.00001,.99981,1.00101,1.00026,1.0006,.99948,.99981,1.00064,.99973,.99942,1.00101,1.00061,1.00026,1.00069,1.0006,1.00014,.99973,1.01322,.99973,1.00065,1.00026,1.00012,.99923,1,1.00064,1.00076,.99948,1.00055,1.00063,1.00007,.99943,1.0006,.99948,1.00026,.99948,.99943,1.00001,1.00001,1.00029,1.00038,1.00035,1.00001,1.0006,1.0006,.99973,.99978,1.00001,1.00057,.99989,.99967,.99964,.99967,.99977,.99999,.99977,1.00038,.99977,1.00001,.99973,1.00066,.99967,.99967,1.00041,.99998,.99999,.99977,1.00022,.99967,1.00001,.99977,1.00026,.99964,1.00031,1.00001,.99999,.99999,1,1.00023,1,1,.99999,1.00035,1.00001,.99999,.99973,.99977,.99999,1.00058,.99973,.99973,.99955,.9995,1.00026,1.00026,1.00032,.99989,1.00034,.99999,1.00026,1.00026,1.00026,.99973,.45998,.99973,1.00026,.99973,1.00001,.99999,.99982,.99994,.99996,1,1.00042,1.00044,1.00029,1.00023,.99973,.99973,1.00026,.99949,1.00002,.99973,1.0006,1.0006,1.0006,.99975,1.00026,1.00026,1.00032,.98685,.99973,1.00026,1,1,.99966,1.00044,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1,.99973,.99971,.99978,1,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00098,1,1,1,1.00049,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],exports.HelveticaBoldItalicMetrics={lineHeight:1.35,lineGap:.2},exports.HelveticaItalicFactors=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.0288,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,.99946,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.06311,.99973,1.00024,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,1.00041,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.89547,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00001,1,1.00054,.99977,1.00084,1.00007,.99973,1.00013,.99924,1.00001,1.00001,.99945,.91221,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00001,.99999,.99977,.99933,1.00022,1.00054,1.00001,1.00065,1.00026,1.00001,1.0001,1.00001,1.00052,1,1.0006,1.00001,.99945,.99897,.99968,.99924,1.00036,.99945,.99949,1,1.0006,.99897,.99918,.99968,.99911,.99924,1,.99962,1.01487,1,1.0005,.99973,1.00012,1.00043,1,.99995,.99994,1.00036,.99947,1.00019,1.00063,1.00025,.99924,1.00036,.99973,1.00036,1.00025,1.00001,1.00001,1.00027,1.0001,1.00068,1.00001,1.0006,1.0006,1,1.00008,.99957,.99972,.9994,.99954,.99975,1.00051,1.00001,1.00019,1.00001,1.0001,.99986,1.00001,1.00001,1.00038,.99954,.99954,.9994,1.00066,.99999,.99977,1.00022,1.00054,1.00001,.99977,1.00026,.99975,1.0001,1.00001,.99993,.9995,.99955,1.00016,.99978,.99974,1.00019,1.00022,.99955,1.00053,.99973,1.00089,1.00005,.99967,1.00048,.99973,1.00002,1.00034,.99973,.99973,.99964,1.00006,1.00066,.99947,.99973,.98894,.99973,1,.44898,1,.99946,1,1.00039,1.00082,.99991,.99991,.99985,1.00022,1.00023,1.00061,1.00006,.99966,.99973,.99973,.99973,1.00019,1.0008,1,.99924,.99924,.99924,.99983,1.00044,.99973,.99964,.98332,1,.99973,1,1,.99962,.99895,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,1.00423,.99925,.99999,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00049,1,1.00245,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,1.00003,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],exports.HelveticaItalicMetrics={lineHeight:1.35,lineGap:.2},exports.HelveticaRegularFactors=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.04596,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,1.00019,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.02572,.99973,1.00005,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,.99999,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.84533,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99928,1,.99977,1.00013,1.00055,.99947,.99945,.99941,.99924,1.00001,1.00001,1.0004,.91621,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00005,.99999,.99977,1.00015,1.00022,.99977,1.00001,.99973,1.00026,1.00001,1.00019,1.00001,.99946,1,1.0006,1.00001,.99978,1.00045,.99973,.99924,1.00023,.99978,.99966,1,1.00065,1.00045,1.00019,.99973,.99973,.99924,1,1,.96499,1,1.00055,.99973,1.00008,1.00027,1,.9997,.99995,1.00023,.99933,1.00019,1.00015,1.00031,.99924,1.00023,.99973,1.00023,1.00031,1.00001,.99928,1.00029,1.00092,1.00035,1.00001,1.0006,1.0006,1,.99988,.99975,1,1.00082,.99561,.9996,1.00035,1.00001,.99962,1.00001,1.00092,.99964,1.00001,.99963,.99999,1.00035,1.00035,1.00082,.99962,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.9996,.99967,1.00001,1.00034,1.00074,1.00054,1.00053,1.00063,.99971,.99962,1.00035,.99975,.99977,.99973,1.00043,.99953,1.0007,.99915,.99973,1.00008,.99892,1.00073,1.00073,1.00114,.99915,1.00073,.99955,.99973,1.00092,.99973,1,.99998,1,1.0003,1,1.00043,1.00001,.99969,1.0003,1,1.00035,1.00001,.9995,1,1.00092,.99973,.99973,.99973,1.0007,.9995,1,.99924,1.0006,.99924,.99972,1.00062,.99973,1.00114,1.00073,1,.99955,1,1,1.00047,.99968,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,.99925,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.HelveticaRegularMetrics={lineHeight:1.2,lineGap:.2}},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.LiberationSansRegularWidths=exports.LiberationSansRegularMapping=exports.LiberationSansItalicWidths=exports.LiberationSansItalicMapping=exports.LiberationSansBoldWidths=exports.LiberationSansBoldMapping=exports.LiberationSansBoldItalicWidths=exports.LiberationSansBoldItalicMapping=void 0,exports.LiberationSansBoldWidths=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,719,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,785,556,556,278,722,556,556,611,278,611,278,611,385,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,465,722,333,853,906,474,825,927,838,278,722,722,601,719,667,611,722,778,278,722,667,833,722,644,778,722,667,600,611,667,821,667,809,802,278,667,615,451,611,278,582,615,610,556,606,475,460,611,541,278,558,556,612,556,445,611,766,619,520,684,446,582,715,576,753,845,278,582,611,582,845,667,669,885,567,711,667,278,276,556,1094,1062,875,610,722,622,719,722,719,722,567,712,667,904,626,719,719,610,702,833,722,778,719,667,722,611,622,854,667,730,703,1005,1019,870,979,719,711,1031,719,556,618,615,417,635,556,709,497,615,615,500,635,740,604,611,604,611,556,490,556,875,556,615,581,833,844,729,854,615,552,854,583,556,556,611,417,552,556,278,281,278,969,906,611,500,615,556,604,778,611,487,447,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1094,556,885,489,1115,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],exports.LiberationSansBoldMapping=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],exports.LiberationSansBoldItalicWidths=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,740,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,782,556,556,278,722,556,556,611,278,611,278,611,396,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,333,722,333,854,906,473,844,930,847,278,722,722,610,671,667,611,722,778,278,722,667,833,722,657,778,718,667,590,611,667,822,667,829,781,278,667,620,479,611,278,591,620,621,556,610,479,492,611,558,278,566,556,603,556,450,611,712,605,532,664,409,591,704,578,773,834,278,591,611,591,834,667,667,886,614,719,667,278,278,556,1094,1042,854,622,719,677,719,722,708,722,614,722,667,927,643,719,719,615,687,833,722,778,719,667,722,611,677,781,667,729,708,979,989,854,1e3,708,719,1042,729,556,619,604,534,618,556,736,510,611,611,507,622,740,604,611,611,611,556,889,556,885,556,646,583,889,935,707,854,594,552,865,589,556,556,611,469,563,556,278,278,278,969,906,611,507,619,556,611,778,611,575,467,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1104,556,885,516,1146,1e3,768,600,834,834,834,834,999,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],exports.LiberationSansBoldItalicMapping=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],exports.LiberationSansItalicWidths=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,625,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,733,444,500,222,667,500,500,556,222,556,222,556,281,556,400,556,222,722,556,722,556,722,556,615,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,354,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,789,846,389,794,865,775,222,667,667,570,671,667,611,722,778,278,667,667,833,722,648,778,725,667,600,611,667,837,667,831,761,278,667,570,439,555,222,550,570,571,500,556,439,463,555,542,222,500,492,548,500,447,556,670,573,486,603,374,550,652,546,728,779,222,550,556,550,779,667,667,843,544,708,667,278,278,500,1066,982,844,589,715,639,724,667,651,667,544,704,667,917,614,715,715,589,686,833,722,778,725,667,722,611,639,795,667,727,673,920,923,805,886,651,694,1022,682,556,562,522,493,553,556,688,465,556,556,472,564,686,550,556,556,556,500,833,500,835,500,572,518,830,851,621,736,526,492,752,534,556,556,556,378,496,500,222,222,222,910,828,556,472,565,500,556,778,556,492,339,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1083,1e3,768,600,834,834,834,834,1e3,500,998,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,584,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],exports.LiberationSansItalicMapping=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],exports.LiberationSansRegularWidths=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,615,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,735,444,500,222,667,500,500,556,222,556,222,556,292,556,334,556,222,722,556,722,556,722,556,604,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,375,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,784,838,384,774,855,752,222,667,667,551,668,667,611,722,778,278,667,668,833,722,650,778,722,667,618,611,667,798,667,835,748,278,667,578,446,556,222,547,578,575,500,557,446,441,556,556,222,500,500,576,500,448,556,690,569,482,617,395,547,648,525,713,781,222,547,556,547,781,667,667,865,542,719,667,278,278,500,1057,1010,854,583,722,635,719,667,656,667,542,677,667,923,604,719,719,583,656,833,722,778,719,667,722,611,635,760,667,740,667,917,938,792,885,656,719,1010,722,556,573,531,365,583,556,669,458,559,559,438,583,688,552,556,542,556,500,458,500,823,500,573,521,802,823,625,719,521,510,750,542,556,556,556,365,510,500,222,278,222,906,812,556,438,559,500,552,778,556,489,411,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1073,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],exports.LiberationSansRegularMapping=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.MyriadProRegularMetrics=exports.MyriadProRegularFactors=exports.MyriadProItalicMetrics=exports.MyriadProItalicFactors=exports.MyriadProBoldMetrics=exports.MyriadProBoldItalicMetrics=exports.MyriadProBoldItalicFactors=exports.MyriadProBoldFactors=void 0,exports.MyriadProBoldFactors=[1.36898,1,1,.72706,.80479,.83734,.98894,.99793,.9897,.93884,.86209,.94292,.94292,1.16661,1.02058,.93582,.96694,.93582,1.19137,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.78076,.78076,1.02058,1.02058,1.02058,.72851,.78966,.90838,.83637,.82391,.96376,.80061,.86275,.8768,.95407,1.0258,.73901,.85022,.83655,1.0156,.95546,.92179,.87107,.92179,.82114,.8096,.89713,.94438,.95353,.94083,.91905,.90406,.9446,.94292,1.18777,.94292,1.02058,.89903,.90088,.94938,.97898,.81093,.97571,.94938,1.024,.9577,.95933,.98621,1.0474,.97455,.98981,.9672,.95933,.9446,.97898,.97407,.97646,.78036,1.10208,.95442,.95298,.97579,.9332,.94039,.938,.80687,1.01149,.80687,1.02058,.80479,.99793,.99793,.99793,.99793,1.01149,1.00872,.90088,.91882,1.0213,.8361,1.02058,.62295,.54324,.89022,1.08595,1,1,.90088,1,.97455,.93582,.90088,1,1.05686,.8361,.99642,.99642,.99642,.72851,.90838,.90838,.90838,.90838,.90838,.90838,.868,.82391,.80061,.80061,.80061,.80061,1.0258,1.0258,1.0258,1.0258,.97484,.95546,.92179,.92179,.92179,.92179,.92179,1.02058,.92179,.94438,.94438,.94438,.94438,.90406,.86958,.98225,.94938,.94938,.94938,.94938,.94938,.94938,.9031,.81093,.94938,.94938,.94938,.94938,.98621,.98621,.98621,.98621,.93969,.95933,.9446,.9446,.9446,.9446,.9446,1.08595,.9446,.95442,.95442,.95442,.95442,.94039,.97898,.94039,.90838,.94938,.90838,.94938,.90838,.94938,.82391,.81093,.82391,.81093,.82391,.81093,.82391,.81093,.96376,.84313,.97484,.97571,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.8768,.9577,.8768,.9577,.8768,.9577,1,1,.95407,.95933,.97069,.95933,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,.887,1.01591,.73901,1.0474,1,1,.97455,.83655,.98981,1,1,.83655,.73977,.83655,.73903,.84638,1.033,.95546,.95933,1,1,.95546,.95933,.8271,.95417,.95933,.92179,.9446,.92179,.9446,.92179,.9446,.936,.91964,.82114,.97646,1,1,.82114,.97646,.8096,.78036,.8096,.78036,1,1,.8096,.78036,1,1,.89713,.77452,.89713,1.10208,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94083,.97579,.90406,.94039,.90406,.9446,.938,.9446,.938,.9446,.938,1,.99793,.90838,.94938,.868,.9031,.92179,.9446,1,1,.89713,1.10208,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90989,.9358,.91945,.83181,.75261,.87992,.82976,.96034,.83689,.97268,1.0078,.90838,.83637,.8019,.90157,.80061,.9446,.95407,.92436,1.0258,.85022,.97153,1.0156,.95546,.89192,.92179,.92361,.87107,.96318,.89713,.93704,.95638,.91905,.91709,.92796,1.0258,.93704,.94836,1.0373,.95933,1.0078,.95871,.94836,.96174,.92601,.9498,.98607,.95776,.95933,1.05453,1.0078,.98275,.9314,.95617,.91701,1.05993,.9446,.78367,.9553,1,.86832,1.0128,.95871,.99394,.87548,.96361,.86774,1.0078,.95871,.9446,.95871,.86774,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.94083,.97579,.94083,.97579,.94083,.97579,.90406,.94039,.96694,1,.89903,1,1,1,.93582,.93582,.93582,1,.908,.908,.918,.94219,.94219,.96544,1,1.285,1,1,.81079,.81079,1,1,.74854,1,1,1,1,.99793,1,1,1,.65,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.17173,1,.80535,.76169,1.02058,1.0732,1.05486,1,1,1.30692,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.16161,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.MyriadProBoldMetrics={lineHeight:1.2,lineGap:.2},exports.MyriadProBoldItalicFactors=[1.36898,1,1,.66227,.80779,.81625,.97276,.97276,.97733,.92222,.83266,.94292,.94292,1.16148,1.02058,.93582,.96694,.93582,1.17337,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.78076,.78076,1.02058,1.02058,1.02058,.71541,.76813,.85576,.80591,.80729,.94299,.77512,.83655,.86523,.92222,.98621,.71743,.81698,.79726,.98558,.92222,.90637,.83809,.90637,.80729,.76463,.86275,.90699,.91605,.9154,.85308,.85458,.90531,.94292,1.21296,.94292,1.02058,.89903,1.18616,.99613,.91677,.78216,.91677,.90083,.98796,.9135,.92168,.95381,.98981,.95298,.95381,.93459,.92168,.91513,.92004,.91677,.95077,.748,1.04502,.91677,.92061,.94236,.89544,.89364,.9,.80687,.8578,.80687,1.02058,.80779,.97276,.97276,.97276,.97276,.8578,.99973,1.18616,.91339,1.08074,.82891,1.02058,.55509,.71526,.89022,1.08595,1,1,1.18616,1,.96736,.93582,1.18616,1,1.04864,.82711,.99043,.99043,.99043,.71541,.85576,.85576,.85576,.85576,.85576,.85576,.845,.80729,.77512,.77512,.77512,.77512,.98621,.98621,.98621,.98621,.95961,.92222,.90637,.90637,.90637,.90637,.90637,1.02058,.90251,.90699,.90699,.90699,.90699,.85458,.83659,.94951,.99613,.99613,.99613,.99613,.99613,.99613,.85811,.78216,.90083,.90083,.90083,.90083,.95381,.95381,.95381,.95381,.9135,.92168,.91513,.91513,.91513,.91513,.91513,1.08595,.91677,.91677,.91677,.91677,.91677,.89364,.92332,.89364,.85576,.99613,.85576,.99613,.85576,.99613,.80729,.78216,.80729,.78216,.80729,.78216,.80729,.78216,.94299,.76783,.95961,.91677,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.86523,.9135,.86523,.9135,.86523,.9135,1,1,.92222,.92168,.92222,.92168,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.86036,.97096,.71743,.98981,1,1,.95298,.79726,.95381,1,1,.79726,.6894,.79726,.74321,.81691,1.0006,.92222,.92168,1,1,.92222,.92168,.79464,.92098,.92168,.90637,.91513,.90637,.91513,.90637,.91513,.909,.87514,.80729,.95077,1,1,.80729,.95077,.76463,.748,.76463,.748,1,1,.76463,.748,1,1,.86275,.72651,.86275,1.04502,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.9154,.94236,.85458,.89364,.85458,.90531,.9,.90531,.9,.90531,.9,1,.97276,.85576,.99613,.845,.85811,.90251,.91677,1,1,.86275,1.04502,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.00899,1.30628,.85576,.80178,.66862,.7927,.69323,.88127,.72459,.89711,.95381,.85576,.80591,.7805,.94729,.77512,.90531,.92222,.90637,.98621,.81698,.92655,.98558,.92222,.85359,.90637,.90976,.83809,.94523,.86275,.83509,.93157,.85308,.83392,.92346,.98621,.83509,.92886,.91324,.92168,.95381,.90646,.92886,.90557,.86847,.90276,.91324,.86842,.92168,.99531,.95381,.9224,.85408,.92699,.86847,1.0051,.91513,.80487,.93481,1,.88159,1.05214,.90646,.97355,.81539,.89398,.85923,.95381,.90646,.91513,.90646,.85923,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9154,.94236,.9154,.94236,.9154,.94236,.85458,.89364,.96694,1,.89903,1,1,1,.91782,.91782,.91782,1,.896,.896,.896,.9332,.9332,.95973,1,1.26,1,1,.80479,.80178,1,1,.85633,1,1,1,1,.97276,1,1,1,.698,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.14542,1,.79199,.78694,1.02058,1.03493,1.05486,1,1,1.23026,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.20006,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.MyriadProBoldItalicMetrics={lineHeight:1.2,lineGap:.2},exports.MyriadProItalicFactors=[1.36898,1,1,.65507,.84943,.85639,.88465,.88465,.86936,.88307,.86948,.85283,.85283,1.06383,1.02058,.75945,.9219,.75945,1.17337,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.75945,.75945,1.02058,1.02058,1.02058,.69046,.70926,.85158,.77812,.76852,.89591,.70466,.76125,.80094,.86822,.83864,.728,.77212,.79475,.93637,.87514,.8588,.76013,.8588,.72421,.69866,.77598,.85991,.80811,.87832,.78112,.77512,.8562,1.0222,1.18417,1.0222,1.27014,.89903,1.15012,.93859,.94399,.846,.94399,.81453,1.0186,.94219,.96017,1.03075,1.02175,.912,1.03075,.96998,.96017,.93859,.94399,.94399,.95493,.746,1.12658,.94578,.91,.979,.882,.882,.83,.85034,.83537,.85034,1.02058,.70869,.88465,.88465,.88465,.88465,.83537,.90083,1.15012,.9161,.94565,.73541,1.02058,.53609,.69353,.79519,1.08595,1,1,1.15012,1,.91974,.75945,1.15012,1,.9446,.73361,.9005,.9005,.9005,.62864,.85158,.85158,.85158,.85158,.85158,.85158,.773,.76852,.70466,.70466,.70466,.70466,.83864,.83864,.83864,.83864,.90561,.87514,.8588,.8588,.8588,.8588,.8588,1.02058,.85751,.85991,.85991,.85991,.85991,.77512,.76013,.88075,.93859,.93859,.93859,.93859,.93859,.93859,.8075,.846,.81453,.81453,.81453,.81453,.82424,.82424,.82424,.82424,.9278,.96017,.93859,.93859,.93859,.93859,.93859,1.08595,.8562,.94578,.94578,.94578,.94578,.882,.94578,.882,.85158,.93859,.85158,.93859,.85158,.93859,.76852,.846,.76852,.846,.76852,.846,.76852,.846,.89591,.8544,.90561,.94399,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.80094,.94219,.80094,.94219,.80094,.94219,1,1,.86822,.96017,.86822,.96017,.83864,.82424,.83864,.82424,.83864,.82424,.83864,1.03075,.83864,.82424,.81402,1.02738,.728,1.02175,1,1,.912,.79475,1.03075,1,1,.79475,.83911,.79475,.66266,.80553,1.06676,.87514,.96017,1,1,.87514,.96017,.86865,.87396,.96017,.8588,.93859,.8588,.93859,.8588,.93859,.867,.84759,.72421,.95493,1,1,.72421,.95493,.69866,.746,.69866,.746,1,1,.69866,.746,1,1,.77598,.88417,.77598,1.12658,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.87832,.979,.77512,.882,.77512,.8562,.83,.8562,.83,.8562,.83,1,.88465,.85158,.93859,.773,.8075,.85751,.8562,1,1,.77598,1.12658,1.15012,1.15012,1.15012,1.15012,1.15012,1.15313,1.15012,1.15012,1.15012,1.08106,1.03901,.85158,.77025,.62264,.7646,.65351,.86026,.69461,.89947,1.03075,.85158,.77812,.76449,.88836,.70466,.8562,.86822,.8588,.83864,.77212,.85308,.93637,.87514,.82352,.8588,.85701,.76013,.89058,.77598,.8156,.82565,.78112,.77899,.89386,.83864,.8156,.9486,.92388,.96186,1.03075,.91123,.9486,.93298,.878,.93942,.92388,.84596,.96186,.95119,1.03075,.922,.88787,.95829,.88,.93559,.93859,.78815,.93758,1,.89217,1.03737,.91123,.93969,.77487,.85769,.86799,1.03075,.91123,.93859,.91123,.86799,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87832,.979,.87832,.979,.87832,.979,.77512,.882,.9219,1,.89903,1,1,1,.87321,.87321,.87321,1,1.027,1.027,1.027,.86847,.86847,.79121,1,1.124,1,1,.73572,.73572,1,1,.85034,1,1,1,1,.88465,1,1,1,.669,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.04828,1,.74948,.75187,1.02058,.98391,1.02119,1,1,1.06233,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05233,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.MyriadProItalicMetrics={lineHeight:1.2,lineGap:.2},exports.MyriadProRegularFactors=[1.36898,1,1,.76305,.82784,.94935,.89364,.92241,.89073,.90706,.98472,.85283,.85283,1.0664,1.02058,.74505,.9219,.74505,1.23456,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.74505,.74505,1.02058,1.02058,1.02058,.73002,.72601,.91755,.8126,.80314,.92222,.73764,.79726,.83051,.90284,.86023,.74,.8126,.84869,.96518,.91115,.8858,.79761,.8858,.74498,.73914,.81363,.89591,.83659,.89633,.85608,.8111,.90531,1.0222,1.22736,1.0222,1.27014,.89903,.90088,.86667,1.0231,.896,1.01411,.90083,1.05099,1.00512,.99793,1.05326,1.09377,.938,1.06226,1.00119,.99793,.98714,1.0231,1.01231,.98196,.792,1.19137,.99074,.962,1.01915,.926,.942,.856,.85034,.92006,.85034,1.02058,.69067,.92241,.92241,.92241,.92241,.92006,.9332,.90088,.91882,.93484,.75339,1.02058,.56866,.54324,.79519,1.08595,1,1,.90088,1,.95325,.74505,.90088,1,.97198,.75339,.91009,.91009,.91009,.66466,.91755,.91755,.91755,.91755,.91755,.91755,.788,.80314,.73764,.73764,.73764,.73764,.86023,.86023,.86023,.86023,.92915,.91115,.8858,.8858,.8858,.8858,.8858,1.02058,.8858,.89591,.89591,.89591,.89591,.8111,.79611,.89713,.86667,.86667,.86667,.86667,.86667,.86667,.86936,.896,.90083,.90083,.90083,.90083,.84224,.84224,.84224,.84224,.97276,.99793,.98714,.98714,.98714,.98714,.98714,1.08595,.89876,.99074,.99074,.99074,.99074,.942,1.0231,.942,.91755,.86667,.91755,.86667,.91755,.86667,.80314,.896,.80314,.896,.80314,.896,.80314,.896,.92222,.93372,.92915,1.01411,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.83051,1.00512,.83051,1.00512,.83051,1.00512,1,1,.90284,.99793,.90976,.99793,.86023,.84224,.86023,.84224,.86023,.84224,.86023,1.05326,.86023,.84224,.82873,1.07469,.74,1.09377,1,1,.938,.84869,1.06226,1,1,.84869,.83704,.84869,.81441,.85588,1.08927,.91115,.99793,1,1,.91115,.99793,.91887,.90991,.99793,.8858,.98714,.8858,.98714,.8858,.98714,.894,.91434,.74498,.98196,1,1,.74498,.98196,.73914,.792,.73914,.792,1,1,.73914,.792,1,1,.81363,.904,.81363,1.19137,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89633,1.01915,.8111,.942,.8111,.90531,.856,.90531,.856,.90531,.856,1,.92241,.91755,.86667,.788,.86936,.8858,.89876,1,1,.81363,1.19137,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90388,1.03901,.92138,.78105,.7154,.86169,.80513,.94007,.82528,.98612,1.06226,.91755,.8126,.81884,.92819,.73764,.90531,.90284,.8858,.86023,.8126,.91172,.96518,.91115,.83089,.8858,.87791,.79761,.89297,.81363,.88157,.89992,.85608,.81992,.94307,.86023,.88157,.95308,.98699,.99793,1.06226,.95817,.95308,.97358,.928,.98088,.98699,.92761,.99793,.96017,1.06226,.986,.944,.95978,.938,.96705,.98714,.80442,.98972,1,.89762,1.04552,.95817,.99007,.87064,.91879,.88888,1.06226,.95817,.98714,.95817,.88888,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89633,1.01915,.89633,1.01915,.89633,1.01915,.8111,.942,.9219,1,.89903,1,1,1,.93173,.93173,.93173,1,1.06304,1.06304,1.06904,.89903,.89903,.80549,1,1.156,1,1,.76575,.76575,1,1,.72458,1,1,1,1,.92241,1,1,1,.619,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.07257,1,.74705,.71119,1.02058,1.024,1.02119,1,1,1.1536,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05638,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.MyriadProRegularMetrics={lineHeight:1.2,lineGap:.2}},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.SegoeuiRegularMetrics=exports.SegoeuiRegularFactors=exports.SegoeuiItalicMetrics=exports.SegoeuiItalicFactors=exports.SegoeuiBoldMetrics=exports.SegoeuiBoldItalicMetrics=exports.SegoeuiBoldItalicFactors=exports.SegoeuiBoldFactors=void 0,exports.SegoeuiBoldFactors=[1.76738,1,1,.99297,.9824,1.04016,1.06497,1.03424,.97529,1.17647,1.23203,1.1085,1.1085,1.16939,1.2107,.9754,1.21408,.9754,1.59578,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,.81378,.81378,1.2107,1.2107,1.2107,.71703,.97847,.97363,.88776,.8641,1.02096,.79795,.85132,.914,1.06085,1.1406,.8007,.89858,.83693,1.14889,1.09398,.97489,.92094,.97489,.90399,.84041,.95923,1.00135,1,1.06467,.98243,.90996,.99361,1.1085,1.56942,1.1085,1.2107,.74627,.94282,.96752,1.01519,.86304,1.01359,.97278,1.15103,1.01359,.98561,1.02285,1.02285,1.00527,1.02285,1.0302,.99041,1.0008,1.01519,1.01359,1.02258,.79104,1.16862,.99041,.97454,1.02511,.99298,.96752,.95801,.94856,1.16579,.94856,1.2107,.9824,1.03424,1.03424,1,1.03424,1.16579,.8727,1.3871,1.18622,1.10818,1.04478,1.2107,1.18622,.75155,.94994,1.28826,1.21408,1.21408,.91056,1,.91572,.9754,.64663,1.18328,1.24866,1.04478,1.14169,1.15749,1.17389,.71703,.97363,.97363,.97363,.97363,.97363,.97363,.93506,.8641,.79795,.79795,.79795,.79795,1.1406,1.1406,1.1406,1.1406,1.02096,1.09398,.97426,.97426,.97426,.97426,.97426,1.2107,.97489,1.00135,1.00135,1.00135,1.00135,.90996,.92094,1.02798,.96752,.96752,.96752,.96752,.96752,.96752,.93136,.86304,.97278,.97278,.97278,.97278,1.02285,1.02285,1.02285,1.02285,.97122,.99041,1,1,1,1,1,1.28826,1.0008,.99041,.99041,.99041,.99041,.96752,1.01519,.96752,.97363,.96752,.97363,.96752,.97363,.96752,.8641,.86304,.8641,.86304,.8641,.86304,.8641,.86304,1.02096,1.03057,1.02096,1.03517,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.914,1.01359,.914,1.01359,.914,1.01359,1,1,1.06085,.98561,1.06085,1.00879,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,.97138,1.08692,.8007,1.02285,1,1,1.00527,.83693,1.02285,1,1,.83693,.9455,.83693,.90418,.83693,1.13005,1.09398,.99041,1,1,1.09398,.99041,.96692,1.09251,.99041,.97489,1.0008,.97489,1.0008,.97489,1.0008,.93994,.97931,.90399,1.02258,1,1,.90399,1.02258,.84041,.79104,.84041,.79104,.84041,.79104,.84041,.79104,1,1,.95923,1.07034,.95923,1.16862,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.06467,1.02511,.90996,.96752,.90996,.99361,.95801,.99361,.95801,.99361,.95801,1.07733,1.03424,.97363,.96752,.93506,.93136,.97489,1.0008,1,1,.95923,1.16862,1.15103,1.15103,1.01173,1.03959,.75953,.81378,.79912,1.15103,1.21994,.95161,.87815,1.01149,.81525,.7676,.98167,1.01134,1.02546,.84097,1.03089,1.18102,.97363,.88776,.85134,.97826,.79795,.99361,1.06085,.97489,1.1406,.89858,1.0388,1.14889,1.09398,.86039,.97489,1.0595,.92094,.94793,.95923,.90996,.99346,.98243,1.02112,.95493,1.1406,.90996,1.03574,1.02597,1.0008,1.18102,1.06628,1.03574,1.0192,1.01932,1.00886,.97531,1.0106,1.0008,1.13189,1.18102,1.02277,.98683,1.0016,.99561,1.07237,1.0008,.90434,.99921,.93803,.8965,1.23085,1.06628,1.04983,.96268,1.0499,.98439,1.18102,1.06628,1.0008,1.06628,.98439,.79795,1,1,1,1,1,1,1,1,1,1,1,1,1.09466,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.97278,1,1,1,1,1,1,1,1,1,1,1,1,1.02065,1,1,1,1,1,1,1.06467,1.02511,1.06467,1.02511,1.06467,1.02511,.90996,.96752,1,1.21408,.89903,1,1,.75155,1.04394,1.04394,1.04394,1.04394,.98633,.98633,.98633,.73047,.73047,1.20642,.91211,1.25635,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.12454,.93503,1.03424,1.19687,1.03424,1,1,1,.771,1,1,1.15749,1.15749,1.15749,1.10948,.86279,.94434,.86279,.94434,.86182,1,1,1.16897,1,.96085,.90137,1.2107,1.18416,1.13973,.69825,.9716,2.10339,1.29004,1.29004,1.21172,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18874,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.09193,1.09193,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.SegoeuiBoldMetrics={lineHeight:1.33008,lineGap:0},exports.SegoeuiBoldItalicFactors=[1.76738,1,1,.98946,1.03959,1.04016,1.02809,1.036,.97639,1.10953,1.23203,1.11144,1.11144,1.16939,1.21237,.9754,1.21261,.9754,1.59754,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,.81378,.81378,1.21237,1.21237,1.21237,.73541,.97847,.97363,.89723,.87897,1.0426,.79429,.85292,.91149,1.05815,1.1406,.79631,.90128,.83853,1.04396,1.10615,.97552,.94436,.97552,.88641,.80527,.96083,1.00135,1,1.06777,.9817,.91142,.99361,1.11144,1.57293,1.11144,1.21237,.74627,1.31818,1.06585,.97042,.83055,.97042,.93503,1.1261,.97042,.97922,1.14236,.94552,1.01054,1.14236,1.02471,.97922,.94165,.97042,.97042,1.0276,.78929,1.1261,.97922,.95874,1.02197,.98507,.96752,.97168,.95107,1.16579,.95107,1.21237,1.03959,1.036,1.036,1,1.036,1.16579,.87357,1.31818,1.18754,1.26781,1.05356,1.21237,1.18622,.79487,.94994,1.29004,1.24047,1.24047,1.31818,1,.91484,.9754,1.31818,1.1349,1.24866,1.05356,1.13934,1.15574,1.17389,.73541,.97363,.97363,.97363,.97363,.97363,.97363,.94385,.87897,.79429,.79429,.79429,.79429,1.1406,1.1406,1.1406,1.1406,1.0426,1.10615,.97552,.97552,.97552,.97552,.97552,1.21237,.97552,1.00135,1.00135,1.00135,1.00135,.91142,.94436,.98721,1.06585,1.06585,1.06585,1.06585,1.06585,1.06585,.96705,.83055,.93503,.93503,.93503,.93503,1.14236,1.14236,1.14236,1.14236,.93125,.97922,.94165,.94165,.94165,.94165,.94165,1.29004,.94165,.97922,.97922,.97922,.97922,.96752,.97042,.96752,.97363,1.06585,.97363,1.06585,.97363,1.06585,.87897,.83055,.87897,.83055,.87897,.83055,.87897,.83055,1.0426,1.0033,1.0426,.97042,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.91149,.97042,.91149,.97042,.91149,.97042,1,1,1.05815,.97922,1.05815,.97922,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,.97441,1.04302,.79631,1.01582,1,1,1.01054,.83853,1.14236,1,1,.83853,1.09125,.83853,.90418,.83853,1.19508,1.10615,.97922,1,1,1.10615,.97922,1.01034,1.10466,.97922,.97552,.94165,.97552,.94165,.97552,.94165,.91602,.91981,.88641,1.0276,1,1,.88641,1.0276,.80527,.78929,.80527,.78929,.80527,.78929,.80527,.78929,1,1,.96083,1.05403,.95923,1.16862,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.06777,1.02197,.91142,.96752,.91142,.99361,.97168,.99361,.97168,.99361,.97168,1.23199,1.036,.97363,1.06585,.94385,.96705,.97552,.94165,1,1,.96083,1.1261,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,.95161,1.27126,1.00811,.83284,.77702,.99137,.95253,1.0347,.86142,1.07205,1.14236,.97363,.89723,.86869,1.09818,.79429,.99361,1.05815,.97552,1.1406,.90128,1.06662,1.04396,1.10615,.84918,.97552,1.04694,.94436,.98015,.96083,.91142,1.00356,.9817,1.01945,.98999,1.1406,.91142,1.04961,.9898,1.00639,1.14236,1.07514,1.04961,.99607,1.02897,1.008,.9898,.95134,1.00639,1.11121,1.14236,1.00518,.97981,1.02186,1,1.08578,.94165,.99314,.98387,.93028,.93377,1.35125,1.07514,1.10687,.93491,1.04232,1.00351,1.14236,1.07514,.94165,1.07514,1.00351,.79429,1,1,1,1,1,1,1,1,1,1,1,1,1.09097,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.93503,1,1,1,1,1,1,1,1,1,1,1,1,.96609,1,1,1,1,1,1,1.06777,1.02197,1.06777,1.02197,1.06777,1.02197,.91142,.96752,1,1.21261,.89903,1,1,.75155,1.04745,1.04745,1.04745,1.04394,.98633,.98633,.98633,.72959,.72959,1.20502,.91406,1.26514,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.09125,.93327,1.03336,1.16541,1.036,1,1,1,.771,1,1,1.15574,1.15574,1.15574,1.15574,.86364,.94434,.86279,.94434,.86224,1,1,1.16798,1,.96085,.90068,1.21237,1.18416,1.13904,.69825,.9716,2.10339,1.29004,1.29004,1.21339,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18775,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.13269,1.13269,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.SegoeuiBoldItalicMetrics={lineHeight:1.33008,lineGap:0},exports.SegoeuiItalicFactors=[1.76738,1,1,.98946,1.14763,1.05365,1.06234,.96927,.92586,1.15373,1.18414,.91349,.91349,1.07403,1.17308,.78383,1.20088,.78383,1.42531,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78383,.78383,1.17308,1.17308,1.17308,.77349,.94565,.94729,.85944,.88506,.9858,.74817,.80016,.88449,.98039,.95782,.69238,.89898,.83231,.98183,1.03989,.96924,.86237,.96924,.80595,.74524,.86091,.95402,.94143,.98448,.8858,.83089,.93285,1.0949,1.39016,1.0949,1.45994,.74627,1.04839,.97454,.97454,.87207,.97454,.87533,1.06151,.97454,1.00176,1.16484,1.08132,.98047,1.16484,1.02989,1.01054,.96225,.97454,.97454,1.06598,.79004,1.16344,1.00351,.94629,.9973,.91016,.96777,.9043,.91082,.92481,.91082,1.17308,.95748,.96927,.96927,1,.96927,.92481,.80597,1.04839,1.23393,1.1781,.9245,1.17308,1.20808,.63218,.94261,1.24822,1.09971,1.09971,1.04839,1,.85273,.78032,1.04839,1.09971,1.22326,.9245,1.09836,1.13525,1.15222,.70424,.94729,.94729,.94729,.94729,.94729,.94729,.85498,.88506,.74817,.74817,.74817,.74817,.95782,.95782,.95782,.95782,.9858,1.03989,.96924,.96924,.96924,.96924,.96924,1.17308,.96924,.95402,.95402,.95402,.95402,.83089,.86237,.88409,.97454,.97454,.97454,.97454,.97454,.97454,.92916,.87207,.87533,.87533,.87533,.87533,.93146,.93146,.93146,.93146,.93854,1.01054,.96225,.96225,.96225,.96225,.96225,1.24822,.8761,1.00351,1.00351,1.00351,1.00351,.96777,.97454,.96777,.94729,.97454,.94729,.97454,.94729,.97454,.88506,.87207,.88506,.87207,.88506,.87207,.88506,.87207,.9858,.95391,.9858,.97454,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.88449,.97454,.88449,.97454,.88449,.97454,1,1,.98039,1.00176,.98039,1.00176,.95782,.93146,.95782,.93146,.95782,.93146,.95782,1.16484,.95782,.93146,.84421,1.12761,.69238,1.08132,1,1,.98047,.83231,1.16484,1,1,.84723,1.04861,.84723,.78755,.83231,1.23736,1.03989,1.01054,1,1,1.03989,1.01054,.9857,1.03849,1.01054,.96924,.96225,.96924,.96225,.96924,.96225,.92383,.90171,.80595,1.06598,1,1,.80595,1.06598,.74524,.79004,.74524,.79004,.74524,.79004,.74524,.79004,1,1,.86091,1.02759,.85771,1.16344,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.98448,.9973,.83089,.96777,.83089,.93285,.9043,.93285,.9043,.93285,.9043,1.31868,.96927,.94729,.97454,.85498,.92916,.96924,.8761,1,1,.86091,1.16344,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,.81965,.81965,.94729,.78032,.71022,.90883,.84171,.99877,.77596,1.05734,1.2,.94729,.85944,.82791,.9607,.74817,.93285,.98039,.96924,.95782,.89898,.98316,.98183,1.03989,.78614,.96924,.97642,.86237,.86075,.86091,.83089,.90082,.8858,.97296,1.01284,.95782,.83089,1.0976,1.04,1.03342,1.2,1.0675,1.0976,.98205,1.03809,1.05097,1.04,.95364,1.03342,1.05401,1.2,1.02148,1.0119,1.04724,1.0127,1.02732,.96225,.8965,.97783,.93574,.94818,1.30679,1.0675,1.11826,.99821,1.0557,1.0326,1.2,1.0675,.96225,1.0675,1.0326,.74817,1,1,1,1,1,1,1,1,1,1,1,1,1.03754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87533,1,1,1,1,1,1,1,1,1,1,1,1,.98705,1,1,1,1,1,1,.98448,.9973,.98448,.9973,.98448,.9973,.83089,.96777,1,1.20088,.89903,1,1,.75155,.94945,.94945,.94945,.94945,1.12317,1.12317,1.12317,.67603,.67603,1.15621,.73584,1.21191,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87709,.96927,1.01473,.96927,1,1,1,.77295,1,1,1.09836,1.09836,1.09836,1.01522,.86321,.94434,.8649,.94434,.86182,1,1,1.083,1,.91578,.86438,1.17308,1.18416,1.14589,.69825,.97622,1.96791,1.24822,1.24822,1.17308,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.17984,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10742,1.10742,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exports.SegoeuiItalicMetrics={lineHeight:1.33008,lineGap:0},exports.SegoeuiRegularFactors=[1.76738,1,1,.98594,1.02285,1.10454,1.06234,.96927,.92037,1.19985,1.2046,.90616,.90616,1.07152,1.1714,.78032,1.20088,.78032,1.40246,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78032,.78032,1.1714,1.1714,1.1714,.80597,.94084,.96706,.85944,.85734,.97093,.75842,.79936,.88198,.9831,.95782,.71387,.86969,.84636,1.07796,1.03584,.96924,.83968,.96924,.82826,.79649,.85771,.95132,.93119,.98965,.88433,.8287,.93365,1.08612,1.3638,1.08612,1.45786,.74627,.80499,.91484,1.05707,.92383,1.05882,.9403,1.12654,1.05882,1.01756,1.09011,1.09011,.99414,1.09011,1.034,1.01756,1.05356,1.05707,1.05882,1.04399,.84863,1.21968,1.01756,.95801,1.00068,.91797,.96777,.9043,.90351,.92105,.90351,1.1714,.85337,.96927,.96927,.99912,.96927,.92105,.80597,1.2434,1.20808,1.05937,.90957,1.1714,1.20808,.75155,.94261,1.24644,1.09971,1.09971,.84751,1,.85273,.78032,.61584,1.05425,1.17914,.90957,1.08665,1.11593,1.14169,.73381,.96706,.96706,.96706,.96706,.96706,.96706,.86035,.85734,.75842,.75842,.75842,.75842,.95782,.95782,.95782,.95782,.97093,1.03584,.96924,.96924,.96924,.96924,.96924,1.1714,.96924,.95132,.95132,.95132,.95132,.8287,.83968,.89049,.91484,.91484,.91484,.91484,.91484,.91484,.93575,.92383,.9403,.9403,.9403,.9403,.8717,.8717,.8717,.8717,1.00527,1.01756,1.05356,1.05356,1.05356,1.05356,1.05356,1.24644,.95923,1.01756,1.01756,1.01756,1.01756,.96777,1.05707,.96777,.96706,.91484,.96706,.91484,.96706,.91484,.85734,.92383,.85734,.92383,.85734,.92383,.85734,.92383,.97093,1.0969,.97093,1.05882,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.88198,1.05882,.88198,1.05882,.88198,1.05882,1,1,.9831,1.01756,.9831,1.01756,.95782,.8717,.95782,.8717,.95782,.8717,.95782,1.09011,.95782,.8717,.84784,1.11551,.71387,1.09011,1,1,.99414,.84636,1.09011,1,1,.84636,1.0536,.84636,.94298,.84636,1.23297,1.03584,1.01756,1,1,1.03584,1.01756,1.00323,1.03444,1.01756,.96924,1.05356,.96924,1.05356,.96924,1.05356,.93066,.98293,.82826,1.04399,1,1,.82826,1.04399,.79649,.84863,.79649,.84863,.79649,.84863,.79649,.84863,1,1,.85771,1.17318,.85771,1.21968,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.98965,1.00068,.8287,.96777,.8287,.93365,.9043,.93365,.9043,.93365,.9043,1.08571,.96927,.96706,.91484,.86035,.93575,.96924,.95923,1,1,.85771,1.21968,1.11437,1.11437,.93109,.91202,.60411,.84164,.55572,1.01173,.97361,.81818,.81818,.96635,.78032,.72727,.92366,.98601,1.03405,.77968,1.09799,1.2,.96706,.85944,.85638,.96491,.75842,.93365,.9831,.96924,.95782,.86969,.94152,1.07796,1.03584,.78437,.96924,.98715,.83968,.83491,.85771,.8287,.94492,.88433,.9287,1.0098,.95782,.8287,1.0625,.98248,1.03424,1.2,1.01071,1.0625,.95246,1.03809,1.04912,.98248,1.00221,1.03424,1.05443,1.2,1.04785,.99609,1.00169,1.05176,.99346,1.05356,.9087,1.03004,.95542,.93117,1.23362,1.01071,1.07831,1.02512,1.05205,1.03502,1.2,1.01071,1.05356,1.01071,1.03502,.75842,1,1,1,1,1,1,1,1,1,1,1,1,1.03719,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9403,1,1,1,1,1,1,1,1,1,1,1,1,1.04021,1,1,1,1,1,1,.98965,1.00068,.98965,1.00068,.98965,1.00068,.8287,.96777,1,1.20088,.89903,1,1,.75155,1.03077,1.03077,1.03077,1.03077,1.13196,1.13196,1.13196,.67428,.67428,1.16039,.73291,1.20996,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87796,.96927,1.01518,.96927,1,1,1,.77295,1,1,1.10539,1.10539,1.11358,1.06967,.86279,.94434,.86279,.94434,.86182,1,1,1.083,1,.91578,.86507,1.1714,1.18416,1.14589,.69825,.97622,1.9697,1.24822,1.24822,1.17238,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18083,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10938,1.10938,1,1,1,1.05425,1.09971,1.09971,1.09971,1,1,1,1,1,1,1,1,1,1,1],exports.SegoeuiRegularMetrics={lineHeight:1.33008,lineGap:0}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PostScriptEvaluator=exports.PostScriptCompiler=exports.PDFFunctionFactory=void 0,exports.isPDFFunction=function(v){let fnDict;if(v instanceof _primitives.Dict)fnDict=v;else{if(!(v instanceof _base_stream.BaseStream))return!1;fnDict=v.dict}return fnDict.has("FunctionType")};var _primitives=__w_pdfjs_require__(4),_util=__w_pdfjs_require__(2),_ps_parser=__w_pdfjs_require__(58),_base_stream=__w_pdfjs_require__(5),_image_utils=__w_pdfjs_require__(59);function toNumberArray(arr){if(!Array.isArray(arr))return null;const length=arr.length;for(let i=0;i>codeSize)*sampleMul,codeBuf&=(1<max?v=max:v0&&(dmin=bounds[i-1]);let dmax=domain[1];i>1,numInputs=domain.length>>1,evaluator=new PostScriptEvaluator(code),cache=Object.create(null);let cache_available=8192;const tmpBuf=new Float32Array(numInputs);return function(src,srcOffset,dest,destOffset){let i,value,key="";const input=tmpBuf;for(i=0;ibound&&(value=bound)),output[i]=value}cache_available>0&&(cache_available--,cache[key]=output),dest.set(output,destOffset)}}}class PostScriptStack{constructor(initialStack){this.stack=initialStack?Array.from(initialStack):[]}push(value){if(this.stack.length>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");this.stack.push(value)}pop(){if(this.stack.length<=0)throw new Error("PostScript function stack underflow.");return this.stack.pop()}copy(n){if(this.stack.length+n>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");const stack=this.stack;for(let i=stack.length-n,j=n-1;j>=0;j--,i++)stack.push(stack[i])}index(n){this.push(this.stack[this.stack.length-n-1])}roll(n,p){const stack=this.stack,l=stack.length-n,r=stack.length-1,c=l+(p-Math.floor(p/n)*n);for(let i=l,j=r;i0?stack.push(a<>b);break;case"ceiling":a=stack.pop(),stack.push(Math.ceil(a));break;case"copy":a=stack.pop(),stack.copy(a);break;case"cos":a=stack.pop(),stack.push(Math.cos(a%360/180*Math.PI));break;case"cvi":a=0|stack.pop(),stack.push(a);break;case"cvr":break;case"div":b=stack.pop(),a=stack.pop(),stack.push(a/b);break;case"dup":stack.copy(1);break;case"eq":b=stack.pop(),a=stack.pop(),stack.push(a===b);break;case"exch":stack.roll(2,1);break;case"exp":b=stack.pop(),a=stack.pop(),stack.push(a**b);break;case"false":stack.push(!1);break;case"floor":a=stack.pop(),stack.push(Math.floor(a));break;case"ge":b=stack.pop(),a=stack.pop(),stack.push(a>=b);break;case"gt":b=stack.pop(),a=stack.pop(),stack.push(a>b);break;case"idiv":b=stack.pop(),a=stack.pop(),stack.push(a/b|0);break;case"index":a=stack.pop(),stack.index(a);break;case"le":b=stack.pop(),a=stack.pop(),stack.push(a<=b);break;case"ln":a=stack.pop(),stack.push(Math.log(a));break;case"log":a=stack.pop(),stack.push(Math.log10(a));break;case"lt":b=stack.pop(),a=stack.pop(),stack.push(a=max?new AstLiteral(max):num1.max<=max?num1:new AstMin(num1,max)}class PostScriptCompiler{compile(code,domain,range){const stack=[],instructions=[],inputSize=domain.length>>1,outputSize=range.length>>1;let n,j,num1,num2,ast1,ast2,tmpVar,item,lastRegister=0;for(let i=0;iexpr.min&&(out.unshift("Math.max(",min,", "),out.push(")")),max{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PostScriptParser=exports.PostScriptLexer=void 0;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_core_utils=__w_pdfjs_require__(3);exports.PostScriptParser=class{constructor(lexer){this.lexer=lexer,this.operators=[],this.token=null,this.prev=null}nextToken(){this.prev=this.token,this.token=this.lexer.getToken()}accept(type){return this.token.type===type&&(this.nextToken(),!0)}expect(type){if(this.accept(type))return!0;throw new _util.FormatError("Unexpected symbol: found ".concat(this.token.type," expected ").concat(type,"."))}parse(){return this.nextToken(),this.expect(PostScriptTokenTypes.LBRACE),this.parseBlock(),this.expect(PostScriptTokenTypes.RBRACE),this.operators}parseBlock(){for(;;)if(this.accept(PostScriptTokenTypes.NUMBER))this.operators.push(this.prev.value);else if(this.accept(PostScriptTokenTypes.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(PostScriptTokenTypes.LBRACE))return;this.parseCondition()}}parseCondition(){const conditionLocation=this.operators.length;if(this.operators.push(null,null),this.parseBlock(),this.expect(PostScriptTokenTypes.RBRACE),this.accept(PostScriptTokenTypes.IF))this.operators[conditionLocation]=this.operators.length,this.operators[conditionLocation+1]="jz";else{if(!this.accept(PostScriptTokenTypes.LBRACE))throw new _util.FormatError("PS Function: error parsing conditional.");{const jumpLocation=this.operators.length;this.operators.push(null,null);const endOfTrue=this.operators.length;this.parseBlock(),this.expect(PostScriptTokenTypes.RBRACE),this.expect(PostScriptTokenTypes.IFELSE),this.operators[jumpLocation]=this.operators.length,this.operators[jumpLocation+1]="j",this.operators[conditionLocation]=endOfTrue,this.operators[conditionLocation+1]="jz"}}}};const PostScriptTokenTypes={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class PostScriptToken{static get opCache(){return(0,_util.shadow)(this,"opCache",Object.create(null))}constructor(type,value){this.type=type,this.value=value}static getOperator(op){var _PostScriptToken$opCa;return(_PostScriptToken$opCa=PostScriptToken.opCache)[op]||(_PostScriptToken$opCa[op]=new PostScriptToken(PostScriptTokenTypes.OPERATOR,op))}static get LBRACE(){return(0,_util.shadow)(this,"LBRACE",new PostScriptToken(PostScriptTokenTypes.LBRACE,"{"))}static get RBRACE(){return(0,_util.shadow)(this,"RBRACE",new PostScriptToken(PostScriptTokenTypes.RBRACE,"}"))}static get IF(){return(0,_util.shadow)(this,"IF",new PostScriptToken(PostScriptTokenTypes.IF,"IF"))}static get IFELSE(){return(0,_util.shadow)(this,"IFELSE",new PostScriptToken(PostScriptTokenTypes.IFELSE,"IFELSE"))}}exports.PostScriptLexer=class{constructor(stream){this.stream=stream,this.nextChar(),this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let comment=!1,ch=this.currentChar;for(;;){if(ch<0)return _primitives.EOF;if(comment)10!==ch&&13!==ch||(comment=!1);else if(37===ch)comment=!0;else if(!(0,_core_utils.isWhiteSpace)(ch))break;ch=this.nextChar()}switch(0|ch){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new PostScriptToken(PostScriptTokenTypes.NUMBER,this.getNumber());case 123:return this.nextChar(),PostScriptToken.LBRACE;case 125:return this.nextChar(),PostScriptToken.RBRACE}const strBuf=this.strBuf;for(strBuf.length=0,strBuf[0]=String.fromCharCode(ch);(ch=this.nextChar())>=0&&(ch>=65&&ch<=90||ch>=97&&ch<=122);)strBuf.push(String.fromCharCode(ch));const str=strBuf.join("");switch(str.toLowerCase()){case"if":return PostScriptToken.IF;case"ifelse":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(str)}}getNumber(){let ch=this.currentChar;const strBuf=this.strBuf;for(strBuf.length=0,strBuf[0]=String.fromCharCode(ch);(ch=this.nextChar())>=0&&(ch>=48&&ch<=57||45===ch||46===ch);)strBuf.push(String.fromCharCode(ch));const value=parseFloat(strBuf.join(""));if(isNaN(value))throw new _util.FormatError("Invalid floating point number: ".concat(value));return value}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.RegionalImageCache=exports.LocalTilingPatternCache=exports.LocalImageCache=exports.LocalGStateCache=exports.LocalFunctionCache=exports.LocalColorSpaceCache=exports.GlobalImageCache=void 0;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4);class BaseLocalCache{constructor(options){this.constructor===BaseLocalCache&&(0,_util.unreachable)("Cannot initialize BaseLocalCache."),this._onlyRefs=!0===(null==options?void 0:options.onlyRefs),this._onlyRefs||(this._nameRefMap=new Map,this._imageMap=new Map),this._imageCache=new _primitives.RefSetCache}getByName(name){this._onlyRefs&&(0,_util.unreachable)("Should not call `getByName` method.");const ref=this._nameRefMap.get(name);return ref?this.getByRef(ref):this._imageMap.get(name)||null}getByRef(ref){return this._imageCache.get(ref)||null}set(name,ref,data){(0,_util.unreachable)("Abstract method `set` called.")}}exports.LocalImageCache=class extends BaseLocalCache{set(name){let ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,data=arguments.length>2?arguments[2]:void 0;if("string"!=typeof name)throw new Error('LocalImageCache.set - expected "name" argument.');if(ref){if(this._imageCache.has(ref))return;return this._nameRefMap.set(name,ref),void this._imageCache.put(ref,data)}this._imageMap.has(name)||this._imageMap.set(name,data)}},exports.LocalColorSpaceCache=class extends BaseLocalCache{set(){let name=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,data=arguments.length>2?arguments[2]:void 0;if("string"!=typeof name&&!ref)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(ref){if(this._imageCache.has(ref))return;return null!==name&&this._nameRefMap.set(name,ref),void this._imageCache.put(ref,data)}this._imageMap.has(name)||this._imageMap.set(name,data)}},exports.LocalFunctionCache=class extends BaseLocalCache{constructor(options){super({onlyRefs:!0})}set(){let ref=arguments.length>1?arguments[1]:void 0,data=arguments.length>2?arguments[2]:void 0;if(!ref)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(ref)||this._imageCache.put(ref,data)}},exports.LocalGStateCache=class extends BaseLocalCache{set(name){let ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,data=arguments.length>2?arguments[2]:void 0;if("string"!=typeof name)throw new Error('LocalGStateCache.set - expected "name" argument.');if(ref){if(this._imageCache.has(ref))return;return this._nameRefMap.set(name,ref),void this._imageCache.put(ref,data)}this._imageMap.has(name)||this._imageMap.set(name,data)}},exports.LocalTilingPatternCache=class extends BaseLocalCache{constructor(options){super({onlyRefs:!0})}set(){let ref=arguments.length>1?arguments[1]:void 0,data=arguments.length>2?arguments[2]:void 0;if(!ref)throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(ref)||this._imageCache.put(ref,data)}},exports.RegionalImageCache=class extends BaseLocalCache{constructor(options){super({onlyRefs:!0})}set(){let ref=arguments.length>1?arguments[1]:void 0,data=arguments.length>2?arguments[2]:void 0;if(!ref)throw new Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(ref)||this._imageCache.put(ref,data)}};class GlobalImageCache{constructor(){this._refCache=new _primitives.RefSetCache,this._imageCache=new _primitives.RefSetCache}get _byteSize(){let byteSize=0;for(const imageData of this._imageCache)byteSize+=imageData.byteSize;return byteSize}get _cacheLimitReached(){return!(this._imageCache.size0&&void 0!==arguments[0]&&arguments[0]||this._refCache.clear(),this._imageCache.clear()}}_defineProperty(GlobalImageCache,"NUM_PAGES_THRESHOLD",2),_defineProperty(GlobalImageCache,"MIN_IMAGES_TO_CACHE",10),_defineProperty(GlobalImageCache,"MAX_BYTE_SIZE",5*_util.MAX_IMAGE_SIZE_TO_CACHE),exports.GlobalImageCache=GlobalImageCache},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.bidi=function(str){let startLevel=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,vertical=arguments.length>2&&void 0!==arguments[2]&&arguments[2],isLTR=!0;const strLength=str.length;if(0===strLength||vertical)return createBidiText(str,isLTR,vertical);chars.length=strLength,types.length=strLength;let i,ii,numBidi=0;for(i=0;i4?(isLTR=!0,startLevel=0):(isLTR=!1,startLevel=1));const levels=[];for(i=0;i=0&&"ET"===types[j];--j)types[j]="EN";for(let j=i+1;j0&&(before=types[i-1]);let after=eor;end+1level&&isOdd(level)&&(lowestOddLevel=level);for(level=highestLevel;level>=lowestOddLevel;--level){let start=-1;for(i=0,ii=levels.length;i=0&&(reverseValues(chars,start,i),start=-1):start<0&&(start=i);start>=0&&reverseValues(chars,start,levels.length)}for(i=0,ii=chars.length;i"!==ch||(chars[i]="")}return createBidiText(chars.join(""),isLTR)};var _util=__w_pdfjs_require__(2);const baseTypes=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],arabicTypes=["AN","AN","AN","AN","AN","AN","ON","ON","AL","ET","ET","AL","CS","AL","ON","ON","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AN","AN","AN","AN","AN","AN","AN","AN","AN","AN","ET","AN","AN","AL","AL","AL","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AN","ON","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","NSM","NSM","ON","NSM","NSM","NSM","NSM","AL","AL","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","AL","AL","AL","AL","AL","AL"];function isOdd(i){return 0!=(1&i)}function isEven(i){return 0==(1&i)}function findUnequal(arr,start,value){let j,jj;for(j=start,jj=arr.length;j2&&void 0!==arguments[2]&&arguments[2],dir="ltr";return vertical?dir="ttb":isLTR||(dir="rtl"),{str:str,dir:dir}}const chars=[],types=[]},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFontSubstitution=function(systemFontCache,idFactory,localFontPath,baseFontName,standardFontName){const key=baseFontName=(0,_fonts_utils.normalizeFontName)(baseFontName);let substitutionInfo=systemFontCache.get(key);if(substitutionInfo)return substitutionInfo;let substitution=substitutionMap.get(baseFontName);if(!substitution)for(const[alias,subst]of fontAliases)if(baseFontName.startsWith(alias)){baseFontName="".concat(subst).concat(baseFontName.substring(alias.length)),substitution=substitutionMap.get(baseFontName);break}let mustAddBaseFont=!1;substitution||(substitution=substitutionMap.get(standardFontName),mustAddBaseFont=!0);const loadedName="".concat(idFactory.getDocId(),"_s").concat(idFactory.createFontId());if(!substitution){if(!(0,_core_utils.validateFontName)(baseFontName))return systemFontCache.set(key,null),null;const bold=/bold/gi.test(baseFontName),italic=/oblique|italic/gi.test(baseFontName),style=bold&&italic&&BOLDITALIC||bold&&BOLD||italic&&ITALIC||NORMAL;return substitutionInfo={css:loadedName,guessFallback:!0,loadedName:loadedName,baseFontName:baseFontName,src:"local(".concat(baseFontName,")"),style:style},systemFontCache.set(key,substitutionInfo),substitutionInfo}const src=[];mustAddBaseFont&&(0,_core_utils.validateFontName)(baseFontName)&&src.push("local(".concat(baseFontName,")"));const{style:style,ultimate:ultimate}=generateFont(substitution,src,localFontPath),guessFallback=null===ultimate,fallback=guessFallback?"":",".concat(ultimate);return substitutionInfo={css:"".concat(loadedName).concat(fallback),guessFallback:guessFallback,loadedName:loadedName,baseFontName:baseFontName,src:src.join(","),style:style},systemFontCache.set(key,substitutionInfo),substitutionInfo};var _fonts_utils=__w_pdfjs_require__(38),_core_utils=__w_pdfjs_require__(3);const NORMAL={style:"normal",weight:"normal"},BOLD={style:"normal",weight:"bold"},ITALIC={style:"italic",weight:"normal"},BOLDITALIC={style:"italic",weight:"bold"},substitutionMap=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:NORMAL,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:BOLD,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:ITALIC,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:BOLDITALIC,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:NORMAL,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:BOLD,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:ITALIC,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:BOLDITALIC,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono"],style:NORMAL,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:BOLD,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:ITALIC,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:BOLDITALIC,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:NORMAL,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:BOLD,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:ITALIC,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:BOLDITALIC,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:NORMAL,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:BOLD,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:ITALIC,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:BOLDITALIC,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:NORMAL}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}]]),fontAliases=new Map([["Arial-Black","ArialBlack"]]);function getStyleToAppend(style){switch(style){case BOLD:return"Bold";case ITALIC:return"Italic";case BOLDITALIC:return"Bold Italic";default:if("bold"===(null==style?void 0:style.weight))return"Bold";if("italic"===(null==style?void 0:style.style))return"Italic"}return""}function generateFont(_ref61,src,localFontPath){let{alias:alias,local:local,path:path,fallback:fallback,style:style,ultimate:ultimate}=_ref61,useFallback=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],usePath=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],append=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"";const result={style:null,ultimate:null};if(local){const extra=append?" ".concat(append):"";for(const name of local)src.push("local(".concat(name).concat(extra,")"))}if(alias){const substitution=substitutionMap.get(alias),aliasAppend=append||getStyleToAppend(style);Object.assign(result,generateFont(substitution,src,localFontPath,useFallback&&!fallback,usePath&&!path,aliasAppend))}if(style&&(result.style=style),ultimate&&(result.ultimate=ultimate),useFallback&&fallback){const fallbackInfo=substitutionMap.get(fallback),{ultimate:fallbackUltimate}=generateFont(fallbackInfo,src,localFontPath,useFallback,usePath&&!path,append);result.ultimate||(result.ultimate=fallbackUltimate)}return usePath&&path&&localFontPath&&src.push("url(".concat(localFontPath).concat(path,")")),result}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ImageResizer=void 0;var _util=__w_pdfjs_require__(2);class ImageResizer{constructor(imgData,isMask){this._imgData=imgData,this._isMask=isMask}static needsToBeResized(width,height){if(width<=this._goodSquareLength&&height<=this._goodSquareLength)return!1;const{MAX_DIM:MAX_DIM}=this;if(width>MAX_DIM||height>MAX_DIM)return!0;const area=width*height;return this._hasMaxArea?area>this.MAX_AREA:!(area(this.MAX_AREA=this._goodSquareLength**2)))}static get MAX_DIM(){return(0,_util.shadow)(this,"MAX_DIM",this._guessMax(2048,65537,0,1))}static get MAX_AREA(){return this._hasMaxArea=!0,(0,_util.shadow)(this,"MAX_AREA",this._guessMax(ImageResizer._goodSquareLength,this.MAX_DIM,128,0)**2)}static set MAX_AREA(area){area>=0&&(this._hasMaxArea=!0,(0,_util.shadow)(this,"MAX_AREA",area))}static setMaxArea(area){this._hasMaxArea||(this.MAX_AREA=area>>2)}static _areGoodDims(width,height){try{const canvas=new OffscreenCanvas(width,height),ctx=canvas.getContext("2d");ctx.fillRect(0,0,1,1);const opacity=ctx.getImageData(0,0,1,1).data[3];return canvas.width=canvas.height=1,0!==opacity}catch{return!1}}static _guessMax(start,end,tolerance,defaultHeight){for(;start+tolerance+11&&void 0!==arguments[1]&&arguments[1])._createImage()}async _createImage(){const data=this._encodeBMP(),blob=new Blob([data.buffer],{type:"image/bmp"}),bitmapPromise=createImageBitmap(blob),{MAX_AREA:MAX_AREA,MAX_DIM:MAX_DIM}=ImageResizer,{_imgData:imgData}=this,{width:width,height:height}=imgData,minFactor=Math.max(width/MAX_DIM,height/MAX_DIM,Math.sqrt(width*height/MAX_AREA)),firstFactor=Math.max(minFactor,2),factor=Math.round(10*(minFactor+1.25))/10/firstFactor,N=Math.floor(Math.log2(factor)),steps=new Array(N+2).fill(2);steps[0]=firstFactor,steps.splice(-1,1,factor/(1<>3,rowSize=rowLen+3&-4;if(rowLen!==rowSize){const newData=new Uint8Array(rowSize*height);let k=0;for(let i=0,ii=height*rowLen;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.MurmurHash3_64=void 0;var _util=__w_pdfjs_require__(2);exports.MurmurHash3_64=class{constructor(seed){this.h1=seed?4294967295&seed:3285377520,this.h2=seed?4294967295&seed:3285377520}update(input){let data,length;if("string"==typeof input){data=new Uint8Array(2*input.length),length=0;for(let i=0,ii=input.length;i>>8,data[length++]=255&code)}}else{if(!(0,_util.isArrayBuffer)(input))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");data=input.slice(),length=data.byteLength}const blockCounts=length>>2,tailLength=length-4*blockCounts,dataUint32=new Uint32Array(data.buffer,0,blockCounts);let k1=0,k2=0,h1=this.h1,h2=this.h2;const C1=3432918353,C2=461845907;for(let i=0;i>>17,k1=k1*C2&4294901760|13715*k1&65535,h1^=k1,h1=h1<<13|h1>>>19,h1=5*h1+3864292196):(k2=dataUint32[i],k2=k2*C1&4294901760|11601*k2&65535,k2=k2<<15|k2>>>17,k2=k2*C2&4294901760|13715*k2&65535,h2^=k2,h2=h2<<13|h2>>>19,h2=5*h2+3864292196);switch(k1=0,tailLength){case 3:k1^=data[4*blockCounts+2]<<16;case 2:k1^=data[4*blockCounts+1]<<8;case 1:k1^=data[4*blockCounts],k1=k1*C1&4294901760|11601*k1&65535,k1=k1<<15|k1>>>17,k1=k1*C2&4294901760|13715*k1&65535,1&blockCounts?h1^=k1:h2^=k1}this.h1=h1,this.h2=h2}hexdigest(){let h1=this.h1,h2=this.h2;return h1^=h2>>>1,h1=3981806797*h1&4294901760|36045*h1&65535,h2=4283543511*h2&4294901760|(2950163797*(h2<<16|h1>>>16)&4294901760)>>>16,h1^=h2>>>1,h1=444984403*h1&4294901760|60499*h1&65535,h2=3301882366*h2&4294901760|(3120437893*(h2<<16|h1>>>16)&4294901760)>>>16,h1^=h2>>>1,(h1>>>0).toString(16).padStart(8,"0")+(h2>>>0).toString(16).padStart(8,"0")}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperatorList=void 0;var _util=__w_pdfjs_require__(2);function addState(parentState,pattern,checkFn,iterateFn,processFn){let state=parentState;for(let i=0,ii=pattern.length-1;i1e3&&(maxX=Math.max(maxX,currentX),currentY+=maxLineHeight+2,currentX=0,maxLineHeight=0),map.push({transform:transform,x:currentX,y:currentY,w:img.width,h:img.height}),currentX+=img.width+2,maxLineHeight=Math.max(maxLineHeight,img.height)}const imgWidth=Math.max(maxX,currentX)+1,imgHeight=currentY+maxLineHeight+1,imgData=new Uint8Array(imgWidth*imgHeight*4),imgRowSize=imgWidth<<2;for(let q=0;q=0;)data[offset-4]=data[offset],data[offset-3]=data[offset+1],data[offset-2]=data[offset+2],data[offset-1]=data[offset+3],data[offset+rowSize]=data[offset+rowSize-4],data[offset+rowSize+1]=data[offset+rowSize-3],data[offset+rowSize+2]=data[offset+rowSize-2],data[offset+rowSize+3]=data[offset+rowSize-1],offset-=imgRowSize}const img={width:imgWidth,height:imgHeight};if(context.isOffscreenCanvasSupported){const canvas=new OffscreenCanvas(imgWidth,imgHeight);canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(imgData.buffer),imgWidth,imgHeight),0,0),img.bitmap=canvas.transferToImageBitmap(),img.data=null}else img.kind=_util.ImageKind.RGBA_32BPP,img.data=imgData;return fnArray.splice(iFirstSave,4*count,_util.OPS.paintInlineImageXObjectGroup),argsArray.splice(iFirstSave,4*count,[img,map]),iFirstSave+1})),addState(InitialState,[_util.OPS.save,_util.OPS.transform,_util.OPS.paintImageMaskXObject,_util.OPS.restore],null,(function(context,i){const fnArray=context.fnArray,pos=(i-(context.iCurr-3))%4;switch(pos){case 0:return fnArray[i]===_util.OPS.save;case 1:return fnArray[i]===_util.OPS.transform;case 2:return fnArray[i]===_util.OPS.paintImageMaskXObject;case 3:return fnArray[i]===_util.OPS.restore}throw new Error("iterateImageMaskGroup - invalid pos: ".concat(pos))}),(function(context,i){const fnArray=context.fnArray,argsArray=context.argsArray,curr=context.iCurr,iFirstSave=curr-3,iFirstTransform=curr-2,iFirstPIMXO=curr-1;let count=Math.floor((i-iFirstSave)/4);if(count<10)return i-(i-iFirstSave)%4;let iTransform,transformArgs,isSameImage=!1;const firstPIMXOArg0=argsArray[iFirstPIMXO][0],firstTransformArg0=argsArray[iFirstTransform][0],firstTransformArg1=argsArray[iFirstTransform][1],firstTransformArg2=argsArray[iFirstTransform][2],firstTransformArg3=argsArray[iFirstTransform][3];if(firstTransformArg1===firstTransformArg2){isSameImage=!0,iTransform=iFirstTransform+4;let iPIMXO=iFirstPIMXO+4;for(let q=1;q=4&&fnArray[iFirstBeginText-4]===fnArray[iFirstSetFont]&&fnArray[iFirstBeginText-3]===fnArray[iFirstSetTextMatrix]&&fnArray[iFirstBeginText-2]===fnArray[iFirstShowText]&&fnArray[iFirstBeginText-1]===fnArray[iFirstEndText]&&argsArray[iFirstBeginText-4][0]===firstSetFontArg0&&argsArray[iFirstBeginText-4][1]===firstSetFontArg1&&(count++,iFirst-=5);let iEndText=iFirst+4;for(let q=1;q=ii)break}state=(state||InitialState)[fnArray[i]],state&&!Array.isArray(state)?(context.iCurr=i,i++,!state.checkFn||(0,state.checkFn)(context)?(match=state,state=null):state=null):i++}this.state=state,this.match=match,this.lastProcessed=i}flush(){for(;this.match;){const length=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,length),this.match=null,this.state=null,this._optimize()}}reset(){this.state=null,this.match=null,this.lastProcessed=0}}class OperatorList{constructor(){let intent=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,streamSink=arguments.length>1?arguments[1]:void 0;this._streamSink=streamSink,this.fnArray=[],this.argsArray=[],this.optimizer=!streamSink||intent&_util.RenderingIntentFlag.OPLIST?new NullOptimizer(this):new QueueOptimizer(this),this.dependencies=new Set,this._totalLength=0,this.weight=0,this._resolved=streamSink?null:Promise.resolve()}set isOffscreenCanvasSupported(value){this.optimizer.isOffscreenCanvasSupported=value}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(fn,args){this.optimizer.push(fn,args),this.weight++,this._streamSink&&(this.weight>=OperatorList.CHUNK_SIZE||this.weight>=OperatorList.CHUNK_SIZE_ABOUT&&(fn===_util.OPS.restore||fn===_util.OPS.endText))&&this.flush()}addImageOps(fn,args,optionalContent){void 0!==optionalContent&&this.addOp(_util.OPS.beginMarkedContentProps,["OC",optionalContent]),this.addOp(fn,args),void 0!==optionalContent&&this.addOp(_util.OPS.endMarkedContent,[])}addDependency(dependency){this.dependencies.has(dependency)||(this.dependencies.add(dependency),this.addOp(_util.OPS.dependency,[dependency]))}addDependencies(dependencies){for(const dependency of dependencies)this.addDependency(dependency)}addOpList(opList){if(opList instanceof OperatorList){for(const dependency of opList.dependencies)this.dependencies.add(dependency);for(let i=0,ii=opList.length;i0&&void 0!==arguments[0]&&arguments[0],separateAnnots=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.optimizer.flush();const length=this.length;this._totalLength+=length,this._streamSink.enqueue({fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:lastChunk,separateAnnots:separateAnnots,length:length},1,this._transfers),this.dependencies.clear(),this.fnArray.length=0,this.argsArray.length=0,this.weight=0,this.optimizer.reset()}}_defineProperty(OperatorList,"CHUNK_SIZE",1e3),_defineProperty(OperatorList,"CHUNK_SIZE_ABOUT",OperatorList.CHUNK_SIZE-5),exports.OperatorList=OperatorList},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PDFImage=void 0;var _util=__w_pdfjs_require__(2),_image_utils=__w_pdfjs_require__(28),_base_stream=__w_pdfjs_require__(5),_colorspace=__w_pdfjs_require__(12),_decode_stream=__w_pdfjs_require__(18),_image_resizer=__w_pdfjs_require__(62),_jpeg_stream=__w_pdfjs_require__(26),_jpx=__w_pdfjs_require__(30),_primitives=__w_pdfjs_require__(4);function decodeAndClamp(value,addend,coefficient,max){return(value=addend+value*coefficient)<0?value=0:value>max&&(value=max),value}function resizeImageMask(src,bpc,w1,h1,w2,h2){const length=w2*h2;let dest;dest=bpc<=8?new Uint8Array(length):bpc<=16?new Uint16Array(length):new Uint32Array(length);const xRatio=w1/w2,yRatio=h1/h2;let i,j,py,oldIndex,newIndex=0;const xScaled=new Uint16Array(w2),w1Scanline=w1;for(i=0;i0&&Number.isInteger(image.height)&&image.height>0&&(image.width!==width||image.height!==height)&&((0,_util.warn)("PDFImage - using the Width/Height of the image data, rather than the image dictionary."),width=image.width,height=image.height),width<1||height<1)throw new _util.FormatError("Invalid image width: ".concat(width," or height: ").concat(height));this.width=width,this.height=height,this.interpolate=dict.get("I","Interpolate"),this.imageMask=dict.get("IM","ImageMask")||!1,this.matte=dict.get("Matte")||!1;let bitsPerComponent=image.bitsPerComponent;if(!bitsPerComponent&&(bitsPerComponent=dict.get("BPC","BitsPerComponent"),!bitsPerComponent)){if(!this.imageMask)throw new _util.FormatError("Bits per component missing in image: ".concat(this.imageMask));bitsPerComponent=1}if(this.bpc=bitsPerComponent,!this.imageMask){let colorSpace=dict.getRaw("CS")||dict.getRaw("ColorSpace");if(!colorSpace)switch((0,_util.info)("JPX images (which do not require color spaces)"),image.numComps){case 1:colorSpace=_primitives.Name.get("DeviceGray");break;case 3:colorSpace=_primitives.Name.get("DeviceRGB");break;case 4:colorSpace=_primitives.Name.get("DeviceCMYK");break;default:throw new Error("JPX images with ".concat(image.numComps," color components not supported."))}this.colorSpace=_colorspace.ColorSpace.parse({cs:colorSpace,xref:xref,resources:isInline?res:null,pdfFunctionFactory:pdfFunctionFactory,localColorSpaceCache:localColorSpaceCache}),this.numComps=this.colorSpace.numComps}if(this.decode=dict.getArray("D","Decode"),this.needsDecode=!1,this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,bitsPerComponent)||isMask&&!_colorspace.ColorSpace.isDefaultDecode(this.decode,1))){var _this$colorSpace;this.needsDecode=!0;const max=(1<>3)*height,actualLength=imgArray.byteLength;let data,i;if(!imageIsFromDecodeStream||inverseDecode&&computedLength!==actualLength?inverseDecode?(data=new Uint8Array(computedLength),data.set(imgArray),data.fill(255,actualLength)):data=new Uint8Array(imgArray):data=imgArray,inverseDecode)for(i=0;i>7&1,output[i+1]=buf>>6&1,output[i+2]=buf>>5&1,output[i+3]=buf>>4&1,output[i+4]=buf>>3&1,output[i+5]=buf>>2&1,output[i+6]=buf>>1&1,output[i+7]=1&buf,i+=8;if(i>=1}}else{let bits=0;for(buf=0,i=0,ii=length;i>remainingBits;value<0?value=0:value>max&&(value=max),output[i]=value,buf&=(1<mask[maskOffset+1]){opacity=255;break}}alphaBuf[i]=opacity}}}if(alphaBuf)for(i=0,j=3,ii=width*actualHeight;i0&&void 0!==arguments[0]&&arguments[0],isOffscreenCanvasSupported=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const drawWidth=this.drawWidth,drawHeight=this.drawHeight,imgData={width:drawWidth,height:drawHeight,interpolate:this.interpolate,kind:0,data:null},numComps=this.numComps,originalWidth=this.width,originalHeight=this.height,bpc=this.bpc,rowBytes=originalWidth*numComps*bpc+7>>3,mustBeResized=isOffscreenCanvasSupported&&_image_resizer.ImageResizer.needsToBeResized(drawWidth,drawHeight);if(!forceRGBA){let kind;if("DeviceGray"===this.colorSpace.name&&1===bpc?kind=_util.ImageKind.GRAYSCALE_1BPP:"DeviceRGB"!==this.colorSpace.name||8!==bpc||this.needsDecode||(kind=_util.ImageKind.RGB_24BPP),kind&&!this.smask&&!this.mask&&drawWidth===originalWidth&&drawHeight===originalHeight){const data=this.getImageBytes(originalHeight*rowBytes,{});if(isOffscreenCanvasSupported)return mustBeResized?_image_resizer.ImageResizer.createImage({data:data,kind:kind,width:drawWidth,height:drawHeight,interpolate:this.interpolate},this.needsDecode):this.createBitmap(kind,originalWidth,originalHeight,data);if(imgData.kind=kind,imgData.data=data,this.needsDecode){(0,_util.assert)(kind===_util.ImageKind.GRAYSCALE_1BPP,"PDFImage.createImageData: The image must be grayscale.");const buffer=imgData.data;for(let i=0,ii=buffer.length;i>3,imgArray=this.getImageBytes(height*rowBytes,{internal:!0}),comps=this.getComponents(imgArray);let i,length;if(1===bpc){if(length=width*height,this.needsDecode)for(i=0;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Catalog=void 0;var _core_utils=__w_pdfjs_require__(3),_util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_name_number_tree=__w_pdfjs_require__(67),_base_stream=__w_pdfjs_require__(5),_cleanup_helper=__w_pdfjs_require__(68),_colorspace=__w_pdfjs_require__(12),_file_spec=__w_pdfjs_require__(69),_image_utils=__w_pdfjs_require__(59),_metadata_parser=__w_pdfjs_require__(70),_struct_tree=__w_pdfjs_require__(72);function fetchDestination(dest){return dest instanceof _primitives.Dict&&(dest=dest.get("D")),Array.isArray(dest)?dest:null}class Catalog{constructor(pdfManager,xref){if(this.pdfManager=pdfManager,this.xref=xref,this._catDict=xref.getCatalogObj(),!(this._catDict instanceof _primitives.Dict))throw new _util.FormatError("Catalog object is not a dictionary.");this.toplevelPagesDict,this._actualNumPages=null,this.fontCache=new _primitives.RefSetCache,this.builtInCMapCache=new Map,this.standardFontDataCache=new Map,this.globalImageCache=new _image_utils.GlobalImageCache,this.pageKidsCountCache=new _primitives.RefSetCache,this.pageIndexCache=new _primitives.RefSetCache,this.nonBlendModesSet=new _primitives.RefSet,this.systemFontCache=new Map}cloneDict(){return this._catDict.clone()}get version(){const version=this._catDict.get("Version");if(version instanceof _primitives.Name){if(_core_utils.PDF_VERSION_REGEXP.test(version.name))return(0,_util.shadow)(this,"version",version.name);(0,_util.warn)("Invalid PDF catalog version: ".concat(version.name))}return(0,_util.shadow)(this,"version",null)}get lang(){const lang=this._catDict.get("Lang");return(0,_util.shadow)(this,"lang","string"==typeof lang?(0,_util.stringToPDFString)(lang):null)}get needsRendering(){const needsRendering=this._catDict.get("NeedsRendering");return(0,_util.shadow)(this,"needsRendering","boolean"==typeof needsRendering&&needsRendering)}get collection(){let collection=null;try{const obj=this._catDict.get("Collection");obj instanceof _primitives.Dict&&obj.size>0&&(collection=obj)}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.info)("Cannot fetch Collection entry; assuming no collection is present.")}return(0,_util.shadow)(this,"collection",collection)}get acroForm(){let acroForm=null;try{const obj=this._catDict.get("AcroForm");obj instanceof _primitives.Dict&&obj.size>0&&(acroForm=obj)}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.info)("Cannot fetch AcroForm entry; assuming no forms are present.")}return(0,_util.shadow)(this,"acroForm",acroForm)}get acroFormRef(){const value=this._catDict.getRaw("AcroForm");return(0,_util.shadow)(this,"acroFormRef",value instanceof _primitives.Ref?value:null)}get metadata(){const streamRef=this._catDict.getRaw("Metadata");if(!(streamRef instanceof _primitives.Ref))return(0,_util.shadow)(this,"metadata",null);let metadata=null;try{var _this$xref$encrypt;const stream=this.xref.fetch(streamRef,!(null!==(_this$xref$encrypt=this.xref.encrypt)&&void 0!==_this$xref$encrypt&&_this$xref$encrypt.encryptMetadata));if(stream instanceof _base_stream.BaseStream&&stream.dict instanceof _primitives.Dict){const type=stream.dict.get("Type"),subtype=stream.dict.get("Subtype");if((0,_primitives.isName)(type,"Metadata")&&(0,_primitives.isName)(subtype,"XML")){const data=(0,_util.stringToUTF8String)(stream.getString());data&&(metadata=new _metadata_parser.MetadataParser(data).serializable)}}}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.info)('Skipping invalid Metadata: "'.concat(ex,'".'))}return(0,_util.shadow)(this,"metadata",metadata)}get markInfo(){let markInfo=null;try{markInfo=this._readMarkInfo()}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)("Unable to read mark info.")}return(0,_util.shadow)(this,"markInfo",markInfo)}_readMarkInfo(){const obj=this._catDict.get("MarkInfo");if(!(obj instanceof _primitives.Dict))return null;const markInfo={Marked:!1,UserProperties:!1,Suspects:!1};for(const key in markInfo){const value=obj.get(key);"boolean"==typeof value&&(markInfo[key]=value)}return markInfo}get structTreeRoot(){let structTree=null;try{structTree=this._readStructTreeRoot()}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)("Unable read to structTreeRoot info.")}return(0,_util.shadow)(this,"structTreeRoot",structTree)}_readStructTreeRoot(){const rawObj=this._catDict.getRaw("StructTreeRoot"),obj=this.xref.fetchIfRef(rawObj);if(!(obj instanceof _primitives.Dict))return null;const root=new _struct_tree.StructTreeRoot(obj,rawObj);return root.init(),root}get toplevelPagesDict(){const pagesObj=this._catDict.get("Pages");if(!(pagesObj instanceof _primitives.Dict))throw new _util.FormatError("Invalid top-level pages dictionary.");return(0,_util.shadow)(this,"toplevelPagesDict",pagesObj)}get documentOutline(){let obj=null;try{obj=this._readDocumentOutline()}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)("Unable to read document outline.")}return(0,_util.shadow)(this,"documentOutline",obj)}_readDocumentOutline(){let obj=this._catDict.get("Outlines");if(!(obj instanceof _primitives.Dict))return null;if(obj=obj.getRaw("First"),!(obj instanceof _primitives.Ref))return null;const root={items:[]},queue=[{obj:obj,parent:root}],processed=new _primitives.RefSet;processed.put(obj);const xref=this.xref,blackColor=new Uint8ClampedArray(3);for(;queue.length>0;){const i=queue.shift(),outlineDict=xref.fetchIfRef(i.obj);if(null===outlineDict)continue;if(!outlineDict.has("Title"))throw new _util.FormatError("Invalid outline item encountered.");const data={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:outlineDict,resultObj:data,docBaseUrl:this.baseUrl,docAttachments:this.attachments});const title=outlineDict.get("Title"),flags=outlineDict.get("F")||0,color=outlineDict.getArray("C"),count=outlineDict.get("Count");let rgbColor=blackColor;!Array.isArray(color)||3!==color.length||0===color[0]&&0===color[1]&&0===color[2]||(rgbColor=_colorspace.ColorSpace.singletons.rgb.getRgb(color,0));const outlineItem={action:data.action,attachment:data.attachment,dest:data.dest,url:data.url,unsafeUrl:data.unsafeUrl,newWindow:data.newWindow,setOCGState:data.setOCGState,title:(0,_util.stringToPDFString)(title),color:rgbColor,count:Number.isInteger(count)?count:void 0,bold:!!(2&flags),italic:!!(1&flags),items:[]};i.parent.items.push(outlineItem),obj=outlineDict.getRaw("First"),obj instanceof _primitives.Ref&&!processed.has(obj)&&(queue.push({obj:obj,parent:outlineItem}),processed.put(obj)),obj=outlineDict.getRaw("Next"),obj instanceof _primitives.Ref&&!processed.has(obj)&&(queue.push({obj:obj,parent:i.parent}),processed.put(obj))}return root.items.length>0?root.items:null}get permissions(){let permissions=null;try{permissions=this._readPermissions()}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)("Unable to read permissions.")}return(0,_util.shadow)(this,"permissions",permissions)}_readPermissions(){const encrypt=this.xref.trailer.get("Encrypt");if(!(encrypt instanceof _primitives.Dict))return null;let flags=encrypt.get("P");if("number"!=typeof flags)return null;flags+=2**32;const permissions=[];for(const key in _util.PermissionFlag){const value=_util.PermissionFlag[key];flags&value&&permissions.push(value)}return permissions}get optionalContentConfig(){let config=null;try{const properties=this._catDict.get("OCProperties");if(!properties)return(0,_util.shadow)(this,"optionalContentConfig",null);const defaultConfig=properties.get("D");if(!defaultConfig)return(0,_util.shadow)(this,"optionalContentConfig",null);const groupsData=properties.get("OCGs");if(!Array.isArray(groupsData))return(0,_util.shadow)(this,"optionalContentConfig",null);const groups=[],groupRefs=[];for(const groupRef of groupsData){if(!(groupRef instanceof _primitives.Ref))continue;groupRefs.push(groupRef);const group=this.xref.fetchIfRef(groupRef);groups.push({id:groupRef.toString(),name:"string"==typeof group.get("Name")?(0,_util.stringToPDFString)(group.get("Name")):null,intent:"string"==typeof group.get("Intent")?(0,_util.stringToPDFString)(group.get("Intent")):null})}config=this._readOptionalContentConfig(defaultConfig,groupRefs),config.groups=groups}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)("Unable to read optional content config: ".concat(ex))}return(0,_util.shadow)(this,"optionalContentConfig",config)}_readOptionalContentConfig(config,contentGroupRefs){function parseOnOff(refs){const onParsed=[];if(Array.isArray(refs))for(const value of refs)value instanceof _primitives.Ref&&contentGroupRefs.includes(value)&&onParsed.push(value.toString());return onParsed}function parseOrder(refs){let nestedLevels=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!Array.isArray(refs))return null;const order=[];for(const value of refs){if(value instanceof _primitives.Ref&&contentGroupRefs.includes(value)){parsedOrderRefs.put(value),order.push(value.toString());continue}const nestedOrder=parseNestedOrder(value,nestedLevels);nestedOrder&&order.push(nestedOrder)}if(nestedLevels>0)return order;const hiddenGroups=[];for(const groupRef of contentGroupRefs)parsedOrderRefs.has(groupRef)||hiddenGroups.push(groupRef.toString());return hiddenGroups.length&&order.push({name:null,order:hiddenGroups}),order}function parseNestedOrder(ref,nestedLevels){if(++nestedLevels>MAX_NESTED_LEVELS)return(0,_util.warn)("parseNestedOrder - reached MAX_NESTED_LEVELS."),null;const value=xref.fetchIfRef(ref);if(!Array.isArray(value))return null;const nestedName=xref.fetchIfRef(value[0]);if("string"!=typeof nestedName)return null;const nestedOrder=parseOrder(value.slice(1),nestedLevels);return nestedOrder&&nestedOrder.length?{name:(0,_util.stringToPDFString)(nestedName),order:nestedOrder}:null}const xref=this.xref,parsedOrderRefs=new _primitives.RefSet,MAX_NESTED_LEVELS=10;return{name:"string"==typeof config.get("Name")?(0,_util.stringToPDFString)(config.get("Name")):null,creator:"string"==typeof config.get("Creator")?(0,_util.stringToPDFString)(config.get("Creator")):null,baseState:config.get("BaseState")instanceof _primitives.Name?config.get("BaseState").name:null,on:parseOnOff(config.get("ON")),off:parseOnOff(config.get("OFF")),order:parseOrder(config.get("Order")),groups:null}}setActualNumPages(){let num=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._actualNumPages=num}get hasActualNumPages(){return null!==this._actualNumPages}get _pagesCount(){const obj=this.toplevelPagesDict.get("Count");if(!Number.isInteger(obj))throw new _util.FormatError("Page count in top-level pages dictionary is not an integer.");return(0,_util.shadow)(this,"_pagesCount",obj)}get numPages(){return this.hasActualNumPages?this._actualNumPages:this._pagesCount}get destinations(){const obj=this._readDests(),dests=Object.create(null);if(obj instanceof _name_number_tree.NameTree)for(const[key,value]of obj.getAll()){const dest=fetchDestination(value);dest&&(dests[(0,_util.stringToPDFString)(key)]=dest)}else obj instanceof _primitives.Dict&&obj.forEach((function(key,value){const dest=fetchDestination(value);dest&&(dests[key]=dest)}));return(0,_util.shadow)(this,"destinations",dests)}getDestination(id){const obj=this._readDests();if(obj instanceof _name_number_tree.NameTree){const dest=fetchDestination(obj.get(id));if(dest)return dest;const allDest=this.destinations[id];if(allDest)return(0,_util.warn)('Found "'.concat(id,'" at an incorrect position in the NameTree.')),allDest}else if(obj instanceof _primitives.Dict){const dest=fetchDestination(obj.get(id));if(dest)return dest}return null}_readDests(){const obj=this._catDict.get("Names");return null!=obj&&obj.has("Dests")?new _name_number_tree.NameTree(obj.getRaw("Dests"),this.xref):this._catDict.has("Dests")?this._catDict.get("Dests"):void 0}get pageLabels(){let obj=null;try{obj=this._readPageLabels()}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)("Unable to read page labels.")}return(0,_util.shadow)(this,"pageLabels",obj)}_readPageLabels(){const obj=this._catDict.getRaw("PageLabels");if(!obj)return null;const pageLabels=new Array(this.numPages);let style=null,prefix="";const nums=new _name_number_tree.NumberTree(obj,this.xref).getAll();let currentLabel="",currentIndex=1;for(let i=0,ii=this.numPages;i=1))throw new _util.FormatError("Invalid start in PageLabel dictionary.");currentIndex=st}else currentIndex=1}switch(style){case"D":currentLabel=currentIndex;break;case"R":case"r":currentLabel=(0,_core_utils.toRomanNumerals)(currentIndex,"r"===style);break;case"A":case"a":const LIMIT=26,A_UPPER_CASE=65,A_LOWER_CASE=97,baseCharCode="a"===style?A_LOWER_CASE:A_UPPER_CASE,letterIndex=currentIndex-1;currentLabel=String.fromCharCode(baseCharCode+letterIndex%LIMIT).repeat(Math.floor(letterIndex/LIMIT)+1);break;default:if(style)throw new _util.FormatError('Invalid style "'.concat(style,'" in PageLabel dictionary.'));currentLabel=""}pageLabels[i]=prefix+currentLabel,currentIndex++}return pageLabels}get pageLayout(){const obj=this._catDict.get("PageLayout");let pageLayout="";if(obj instanceof _primitives.Name)switch(obj.name){case"SinglePage":case"OneColumn":case"TwoColumnLeft":case"TwoColumnRight":case"TwoPageLeft":case"TwoPageRight":pageLayout=obj.name}return(0,_util.shadow)(this,"pageLayout",pageLayout)}get pageMode(){const obj=this._catDict.get("PageMode");let pageMode="UseNone";if(obj instanceof _primitives.Name)switch(obj.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"FullScreen":case"UseOC":case"UseAttachments":pageMode=obj.name}return(0,_util.shadow)(this,"pageMode",pageMode)}get viewerPreferences(){const obj=this._catDict.get("ViewerPreferences");if(!(obj instanceof _primitives.Dict))return(0,_util.shadow)(this,"viewerPreferences",null);let prefs=null;for(const key of obj.getKeys()){const value=obj.get(key);let prefValue;switch(key){case"HideToolbar":case"HideMenubar":case"HideWindowUI":case"FitWindow":case"CenterWindow":case"DisplayDocTitle":case"PickTrayByPDFSize":"boolean"==typeof value&&(prefValue=value);break;case"NonFullScreenPageMode":if(value instanceof _primitives.Name)switch(value.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":prefValue=value.name;break;default:prefValue="UseNone"}break;case"Direction":if(value instanceof _primitives.Name)switch(value.name){case"L2R":case"R2L":prefValue=value.name;break;default:prefValue="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":if(value instanceof _primitives.Name)switch(value.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":prefValue=value.name;break;default:prefValue="CropBox"}break;case"PrintScaling":if(value instanceof _primitives.Name)switch(value.name){case"None":case"AppDefault":prefValue=value.name;break;default:prefValue="AppDefault"}break;case"Duplex":if(value instanceof _primitives.Name)switch(value.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":prefValue=value.name;break;default:prefValue="None"}break;case"PrintPageRange":Array.isArray(value)&&value.length%2==0&&value.every(((page,i,arr)=>Number.isInteger(page)&&page>0&&(0===i||page>=arr[i-1])&&page<=this.numPages))&&(prefValue=value);break;case"NumCopies":Number.isInteger(value)&&value>0&&(prefValue=value);break;default:(0,_util.warn)("Ignoring non-standard key in ViewerPreferences: ".concat(key,"."));continue}void 0!==prefValue?(prefs||(prefs=Object.create(null)),prefs[key]=prefValue):(0,_util.warn)('Bad value, for key "'.concat(key,'", in ViewerPreferences: ').concat(value,"."))}return(0,_util.shadow)(this,"viewerPreferences",prefs)}get openAction(){const obj=this._catDict.get("OpenAction"),openAction=Object.create(null);if(obj instanceof _primitives.Dict){const destDict=new _primitives.Dict(this.xref);destDict.set("A",obj);const resultObj={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:destDict,resultObj:resultObj}),Array.isArray(resultObj.dest)?openAction.dest=resultObj.dest:resultObj.action&&(openAction.action=resultObj.action)}else Array.isArray(obj)&&(openAction.dest=obj);return(0,_util.shadow)(this,"openAction",(0,_util.objectSize)(openAction)>0?openAction:null)}get attachments(){const obj=this._catDict.get("Names");let attachments=null;if(obj instanceof _primitives.Dict&&obj.has("EmbeddedFiles")){const nameTree=new _name_number_tree.NameTree(obj.getRaw("EmbeddedFiles"),this.xref);for(const[key,value]of nameTree.getAll()){const fs=new _file_spec.FileSpec(value,this.xref);attachments||(attachments=Object.create(null)),attachments[(0,_util.stringToPDFString)(key)]=fs.serializable}}return(0,_util.shadow)(this,"attachments",attachments)}get xfaImages(){const obj=this._catDict.get("Names");let xfaImages=null;if(obj instanceof _primitives.Dict&&obj.has("XFAImages")){const nameTree=new _name_number_tree.NameTree(obj.getRaw("XFAImages"),this.xref);for(const[key,value]of nameTree.getAll())xfaImages||(xfaImages=new _primitives.Dict(this.xref)),xfaImages.set((0,_util.stringToPDFString)(key),value)}return(0,_util.shadow)(this,"xfaImages",xfaImages)}_collectJavaScript(){const obj=this._catDict.get("Names");let javaScript=null;function appendIfJavaScriptDict(name,jsDict){if(!(jsDict instanceof _primitives.Dict))return;if(!(0,_primitives.isName)(jsDict.get("S"),"JavaScript"))return;let js=jsDict.get("JS");if(js instanceof _base_stream.BaseStream)js=js.getString();else if("string"!=typeof js)return;js=(0,_util.stringToPDFString)(js).replaceAll("\0",""),js&&(javaScript||(javaScript=new Map)).set(name,js)}if(obj instanceof _primitives.Dict&&obj.has("JavaScript")){const nameTree=new _name_number_tree.NameTree(obj.getRaw("JavaScript"),this.xref);for(const[key,value]of nameTree.getAll())appendIfJavaScriptDict((0,_util.stringToPDFString)(key),value)}const openAction=this._catDict.get("OpenAction");return openAction&&appendIfJavaScriptDict("OpenAction",openAction),javaScript}get jsActions(){const javaScript=this._collectJavaScript();let actions=(0,_core_utils.collectActions)(this.xref,this._catDict,_util.DocumentActionEventType);if(javaScript){actions||(actions=Object.create(null));for(const[key,val]of javaScript)key in actions?actions[key].push(val):actions[key]=[val]}return(0,_util.shadow)(this,"jsActions",actions)}async fontFallback(id,handler){const translatedFonts=await Promise.all(this.fontCache);for(const translatedFont of translatedFonts)if(translatedFont.loadedName===id)return void translatedFont.fallback(handler)}async cleanup(){let manuallyTriggered=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(0,_cleanup_helper.clearGlobalCaches)(),this.globalImageCache.clear(manuallyTriggered),this.pageKidsCountCache.clear(),this.pageIndexCache.clear(),this.nonBlendModesSet.clear();const translatedFonts=await Promise.all(this.fontCache);for(const{dict:dict}of translatedFonts)delete dict.cacheKey;this.fontCache.clear(),this.builtInCMapCache.clear(),this.standardFontDataCache.clear(),this.systemFontCache.clear()}async getPageDict(pageIndex){const nodesToVisit=[this.toplevelPagesDict],visitedNodes=new _primitives.RefSet,pagesRef=this._catDict.getRaw("Pages");pagesRef instanceof _primitives.Ref&&visitedNodes.put(pagesRef);const xref=this.xref,pageKidsCountCache=this.pageKidsCountCache,pageIndexCache=this.pageIndexCache;let currentPageIndex=0;for(;nodesToVisit.length;){const currentNode=nodesToVisit.pop();if(currentNode instanceof _primitives.Ref){const count=pageKidsCountCache.get(currentNode);if(count>=0&¤tPageIndex+count<=pageIndex){currentPageIndex+=count;continue}if(visitedNodes.has(currentNode))throw new _util.FormatError("Pages tree contains circular reference.");visitedNodes.put(currentNode);const obj=await xref.fetchAsync(currentNode);if(obj instanceof _primitives.Dict){let type=obj.getRaw("Type");if(type instanceof _primitives.Ref&&(type=await xref.fetchAsync(type)),(0,_primitives.isName)(type,"Page")||!obj.has("Kids")){if(pageKidsCountCache.has(currentNode)||pageKidsCountCache.put(currentNode,1),pageIndexCache.has(currentNode)||pageIndexCache.put(currentNode,currentPageIndex),currentPageIndex===pageIndex)return[obj,currentNode];currentPageIndex++;continue}}nodesToVisit.push(obj);continue}if(!(currentNode instanceof _primitives.Dict))throw new _util.FormatError("Page dictionary kid reference points to wrong type of object.");const{objId:objId}=currentNode;let count=currentNode.getRaw("Count");if(count instanceof _primitives.Ref&&(count=await xref.fetchAsync(count)),Number.isInteger(count)&&count>=0&&(objId&&!pageKidsCountCache.has(objId)&&pageKidsCountCache.put(objId,count),currentPageIndex+count<=pageIndex)){currentPageIndex+=count;continue}let kids=currentNode.getRaw("Kids");if(kids instanceof _primitives.Ref&&(kids=await xref.fetchAsync(kids)),!Array.isArray(kids)){let type=currentNode.getRaw("Type");if(type instanceof _primitives.Ref&&(type=await xref.fetchAsync(type)),(0,_primitives.isName)(type,"Page")||!currentNode.has("Kids")){if(currentPageIndex===pageIndex)return[currentNode,null];currentPageIndex++;continue}throw new _util.FormatError("Page dictionary kids object is not an array.")}for(let last=kids.length-1;last>=0;last--)nodesToVisit.push(kids[last])}throw new Error("Page index ".concat(pageIndex," not found."))}async getAllPageDicts(){let recoveryMode=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{ignoreErrors:ignoreErrors}=this.pdfManager.evaluatorOptions,queue=[{currentNode:this.toplevelPagesDict,posInKids:0}],visitedNodes=new _primitives.RefSet,pagesRef=this._catDict.getRaw("Pages");pagesRef instanceof _primitives.Ref&&visitedNodes.put(pagesRef);const map=new Map,xref=this.xref,pageIndexCache=this.pageIndexCache;let pageIndex=0;function addPageError(error){if(error instanceof _core_utils.XRefEntryException&&!recoveryMode)throw error;recoveryMode&&ignoreErrors&&0===pageIndex&&((0,_util.warn)('getAllPageDicts - Skipping invalid first page: "'.concat(error,'".')),error=_primitives.Dict.empty),map.set(pageIndex++,[error,null])}for(;queue.length>0;){const queueItem=queue.at(-1),{currentNode:currentNode,posInKids:posInKids}=queueItem;let kids=currentNode.getRaw("Kids");if(kids instanceof _primitives.Ref)try{kids=await xref.fetchAsync(kids)}catch(ex){addPageError(ex);break}if(!Array.isArray(kids)){addPageError(new _util.FormatError("Page dictionary kids object is not an array."));break}if(posInKids>=kids.length){queue.pop();continue}const kidObj=kids[posInKids];let obj;if(kidObj instanceof _primitives.Ref){if(visitedNodes.has(kidObj)){addPageError(new _util.FormatError("Pages tree contains circular reference."));break}visitedNodes.put(kidObj);try{obj=await xref.fetchAsync(kidObj)}catch(ex){addPageError(ex);break}}else obj=kidObj;if(!(obj instanceof _primitives.Dict)){addPageError(new _util.FormatError("Page dictionary kid reference points to wrong type of object."));break}let type=obj.getRaw("Type");if(type instanceof _primitives.Ref)try{type=await xref.fetchAsync(type)}catch(ex){addPageError(ex);break}(0,_primitives.isName)(type,"Page")||!obj.has("Kids")?(pageDict=obj,(pageRef=kidObj instanceof _primitives.Ref?kidObj:null)&&!pageIndexCache.has(pageRef)&&pageIndexCache.put(pageRef,pageIndex),map.set(pageIndex++,[pageDict,pageRef])):queue.push({currentNode:obj,posInKids:0}),queueItem.posInKids++}var pageDict,pageRef;return map}getPageIndex(pageRef){const cachedPageIndex=this.pageIndexCache.get(pageRef);if(void 0!==cachedPageIndex)return Promise.resolve(cachedPageIndex);const xref=this.xref;let total=0;const next=ref=>function(kidRef){let parentRef,total=0;return xref.fetchAsync(kidRef).then((function(node){if((0,_primitives.isRefsEqual)(kidRef,pageRef)&&!(0,_primitives.isDict)(node,"Page")&&!(node instanceof _primitives.Dict&&!node.has("Type")&&node.has("Contents")))throw new _util.FormatError("The reference does not point to a /Page dictionary.");if(!node)return null;if(!(node instanceof _primitives.Dict))throw new _util.FormatError("Node must be a dictionary.");return parentRef=node.getRaw("Parent"),node.getAsync("Parent")})).then((function(parent){if(!parent)return null;if(!(parent instanceof _primitives.Dict))throw new _util.FormatError("Parent must be a dictionary.");return parent.getAsync("Kids")})).then((function(kids){if(!kids)return null;const kidPromises=[];let found=!1;for(const kid of kids){if(!(kid instanceof _primitives.Ref))throw new _util.FormatError("Kid must be a reference.");if((0,_primitives.isRefsEqual)(kid,kidRef)){found=!0;break}kidPromises.push(xref.fetchAsync(kid).then((function(obj){if(!(obj instanceof _primitives.Dict))throw new _util.FormatError("Kid node must be a dictionary.");obj.has("Count")?total+=obj.get("Count"):total++})))}if(!found)throw new _util.FormatError("Kid reference not found in parent's kids.");return Promise.all(kidPromises).then((function(){return[total,parentRef]}))}))}(ref).then((args=>{if(!args)return this.pageIndexCache.put(pageRef,total),total;const[count,parentRef]=args;return total+=count,next(parentRef)}));return next(pageRef)}get baseUrl(){const uri=this._catDict.get("URI");if(uri instanceof _primitives.Dict){const base=uri.get("Base");if("string"==typeof base){const absoluteUrl=(0,_util.createValidAbsoluteUrl)(base,null,{tryConvertEncoding:!0});if(absoluteUrl)return(0,_util.shadow)(this,"baseUrl",absoluteUrl.href)}}return(0,_util.shadow)(this,"baseUrl",this.pdfManager.docBaseUrl)}static parseDestDictionary(_ref67){let{destDict:destDict,resultObj:resultObj,docBaseUrl:docBaseUrl=null,docAttachments:docAttachments=null}=_ref67;if(!(destDict instanceof _primitives.Dict))return void(0,_util.warn)("parseDestDictionary: `destDict` must be a dictionary.");let url,dest,action=destDict.get("A");if(action instanceof _primitives.Dict||(destDict.has("Dest")?action=destDict.get("Dest"):(action=destDict.get("AA"),action instanceof _primitives.Dict&&(action.has("D")?action=action.get("D"):action.has("U")&&(action=action.get("U"))))),action instanceof _primitives.Dict){const actionType=action.get("S");if(!(actionType instanceof _primitives.Name))return void(0,_util.warn)("parseDestDictionary: Invalid type in Action dictionary.");const actionName=actionType.name;switch(actionName){case"ResetForm":const flags=action.get("Flags"),include=0==(1&("number"==typeof flags?flags:0)),fields=[],refs=[];for(const obj of action.get("Fields")||[])obj instanceof _primitives.Ref?refs.push(obj.toString()):"string"==typeof obj&&fields.push((0,_util.stringToPDFString)(obj));resultObj.resetForm={fields:fields,refs:refs,include:include};break;case"URI":url=action.get("URI"),url instanceof _primitives.Name&&(url="/"+url.name);break;case"GoTo":dest=action.get("D");break;case"Launch":case"GoToR":const urlDict=action.get("F");urlDict instanceof _primitives.Dict?url=urlDict.get("F")||null:"string"==typeof urlDict&&(url=urlDict);let remoteDest=action.get("D");if(remoteDest&&(remoteDest instanceof _primitives.Name&&(remoteDest=remoteDest.name),"string"==typeof url)){const baseUrl=url.split("#")[0];"string"==typeof remoteDest?url=baseUrl+"#"+remoteDest:Array.isArray(remoteDest)&&(url=baseUrl+"#"+JSON.stringify(remoteDest))}const newWindow=action.get("NewWindow");"boolean"==typeof newWindow&&(resultObj.newWindow=newWindow);break;case"GoToE":const target=action.get("T");let attachment;if(docAttachments&&target instanceof _primitives.Dict){const relationship=target.get("R"),name=target.get("N");(0,_primitives.isName)(relationship,"C")&&"string"==typeof name&&(attachment=docAttachments[(0,_util.stringToPDFString)(name)])}attachment?resultObj.attachment=attachment:(0,_util.warn)('parseDestDictionary - unimplemented "GoToE" action.');break;case"Named":const namedAction=action.get("N");namedAction instanceof _primitives.Name&&(resultObj.action=namedAction.name);break;case"SetOCGState":const state=action.get("State"),preserveRB=action.get("PreserveRB");if(!Array.isArray(state)||0===state.length)break;const stateArr=[];for(const elem of state)if(elem instanceof _primitives.Name)switch(elem.name){case"ON":case"OFF":case"Toggle":stateArr.push(elem.name)}else elem instanceof _primitives.Ref&&stateArr.push(elem.toString());if(stateArr.length!==state.length)break;resultObj.setOCGState={state:stateArr,preserveRB:"boolean"!=typeof preserveRB||preserveRB};break;case"JavaScript":const jsAction=action.get("JS");let js;jsAction instanceof _base_stream.BaseStream?js=jsAction.getString():"string"==typeof jsAction&&(js=jsAction);const jsURL=js&&(0,_core_utils.recoverJsURL)((0,_util.stringToPDFString)(js));if(jsURL){url=jsURL.url,resultObj.newWindow=jsURL.newWindow;break}default:if("JavaScript"===actionName||"SubmitForm"===actionName)break;(0,_util.warn)('parseDestDictionary - unsupported action: "'.concat(actionName,'".'))}}else destDict.has("Dest")&&(dest=destDict.get("Dest"));if("string"==typeof url){const absoluteUrl=(0,_util.createValidAbsoluteUrl)(url,docBaseUrl,{addDefaultProtocol:!0,tryConvertEncoding:!0});absoluteUrl&&(resultObj.url=absoluteUrl.href),resultObj.unsafeUrl=url}dest&&(dest instanceof _primitives.Name&&(dest=dest.name),"string"==typeof dest?resultObj.dest=(0,_util.stringToPDFString)(dest):Array.isArray(dest)&&(resultObj.dest=dest))}}exports.Catalog=Catalog},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.NumberTree=exports.NameTree=void 0;var _primitives=__w_pdfjs_require__(4),_util=__w_pdfjs_require__(2);class NameOrNumberTree{constructor(root,xref,type){this.constructor===NameOrNumberTree&&(0,_util.unreachable)("Cannot initialize NameOrNumberTree."),this.root=root,this.xref=xref,this._type=type}getAll(){const map=new Map;if(!this.root)return map;const xref=this.xref,processed=new _primitives.RefSet;processed.put(this.root);const queue=[this.root];for(;queue.length>0;){const obj=xref.fetchIfRef(queue.shift());if(!(obj instanceof _primitives.Dict))continue;if(obj.has("Kids")){const kids=obj.get("Kids");if(!Array.isArray(kids))continue;for(const kid of kids){if(processed.has(kid))throw new _util.FormatError('Duplicate entry in "'.concat(this._type,'" tree.'));queue.push(kid),processed.put(kid)}continue}const entries=obj.get(this._type);if(Array.isArray(entries))for(let i=0,ii=entries.length;i10)return(0,_util.warn)('Search depth limit reached for "'.concat(this._type,'" tree.')),null;const kids=kidsOrEntries.get("Kids");if(!Array.isArray(kids))return null;let l=0,r=kids.length-1;for(;l<=r;){const m=l+r>>1,kid=xref.fetchIfRef(kids[m]),limits=kid.get("Limits");if(keyxref.fetchIfRef(limits[1]))){kidsOrEntries=kid;break}l=m+1}}if(l>r)return null}const entries=kidsOrEntries.get(this._type);if(Array.isArray(entries)){let l=0,r=entries.length-2;for(;l<=r;){const tmp=l+r>>1,m=tmp+(1&tmp),currentKey=xref.fetchIfRef(entries[m]);if(keycurrentKey))return xref.fetchIfRef(entries[m+1]);l=m+2}}}return null}}exports.NameTree=class extends NameOrNumberTree{constructor(root,xref){super(root,xref,"Names")}},exports.NumberTree=class extends NameOrNumberTree{constructor(root,xref){super(root,xref,"Nums")}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.clearGlobalCaches=function(){(0,_pattern.clearPatternCaches)(),(0,_primitives.clearPrimitiveCaches)(),(0,_unicode.clearUnicodeCaches)()};var _pattern=__w_pdfjs_require__(50),_primitives=__w_pdfjs_require__(4),_unicode=__w_pdfjs_require__(40)},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FileSpec=void 0;var _util=__w_pdfjs_require__(2),_base_stream=__w_pdfjs_require__(5),_primitives=__w_pdfjs_require__(4);function pickPlatformItem(dict){return dict.has("UF")?dict.get("UF"):dict.has("F")?dict.get("F"):dict.has("Unix")?dict.get("Unix"):dict.has("Mac")?dict.get("Mac"):dict.has("DOS")?dict.get("DOS"):null}exports.FileSpec=class{constructor(root,xref){root instanceof _primitives.Dict&&(this.xref=xref,this.root=root,root.has("FS")&&(this.fs=root.get("FS")),this.description=root.has("Desc")?(0,_util.stringToPDFString)(root.get("Desc")):"",root.has("RF")&&(0,_util.warn)("Related file specifications are not supported"),this.contentAvailable=!0,root.has("EF")||(this.contentAvailable=!1,(0,_util.warn)("Non-embedded file specifications are not supported")))}get filename(){if(!this._filename&&this.root){const filename=pickPlatformItem(this.root)||"unnamed";this._filename=(0,_util.stringToPDFString)(filename).replaceAll("\\\\","\\").replaceAll("\\/","/").replaceAll("\\","/")}return this._filename}get content(){if(!this.contentAvailable)return null;!this.contentRef&&this.root&&(this.contentRef=pickPlatformItem(this.root.get("EF")));let content=null;if(this.contentRef){const fileObj=this.xref.fetchIfRef(this.contentRef);fileObj instanceof _base_stream.BaseStream?content=fileObj.getBytes():(0,_util.warn)("Embedded file specification points to non-existing/invalid content")}else(0,_util.warn)("Embedded file specification does not have a content");return content}get serializable(){return{filename:this.filename,content:this.content}}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.MetadataParser=void 0;var _xml_parser=__w_pdfjs_require__(71);exports.MetadataParser=class{constructor(data){data=this._repair(data);const xmlDocument=new _xml_parser.SimpleXMLParser({lowerCaseName:!0}).parseFromString(data);this._metadataMap=new Map,this._data=data,xmlDocument&&this._parse(xmlDocument)}_repair(data){return data.replace(/^[^<]+/,"").replaceAll(/>\\376\\377([^<]+)/g,(function(all,codes){const bytes=codes.replaceAll(/\\([0-3])([0-7])([0-7])/g,(function(code,d1,d2,d3){return String.fromCharCode(64*d1+8*d2+1*d3)})).replaceAll(/&(amp|apos|gt|lt|quot);/g,(function(str,name){switch(name){case"amp":return"&";case"apos":return"'";case"gt":return">";case"lt":return"<";case"quot":return'"'}throw new Error("_repair: ".concat(name," isn't defined."))})),charBuf=[">"];for(let i=0,ii=bytes.length;i=32&&code<127&&60!==code&&62!==code&&38!==code?charBuf.push(String.fromCharCode(code)):charBuf.push("&#x"+(65536+code).toString(16).substring(1)+";")}return charBuf.join("")}))}_getSequence(entry){const name=entry.nodeName;return"rdf:bag"!==name&&"rdf:seq"!==name&&"rdf:alt"!==name?null:entry.childNodes.filter((node=>"rdf:li"===node.nodeName))}_parseArray(entry){if(!entry.hasChildNodes())return;const[seqNode]=entry.childNodes,sequence=this._getSequence(seqNode)||[];this._metadataMap.set(entry.nodeName,sequence.map((node=>node.textContent.trim())))}_parse(xmlDocument){let rdf=xmlDocument.documentElement;if("rdf:rdf"!==rdf.nodeName)for(rdf=rdf.firstChild;rdf&&"rdf:rdf"!==rdf.nodeName;)rdf=rdf.nextSibling;if(rdf&&"rdf:rdf"===rdf.nodeName&&rdf.hasChildNodes())for(const desc of rdf.childNodes)if("rdf:description"===desc.nodeName)for(const entry of desc.childNodes){const name=entry.nodeName;switch(name){case"#text":continue;case"dc:creator":case"dc:subject":this._parseArray(entry);continue}this._metadataMap.set(name,entry.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XMLParserErrorCode=exports.XMLParserBase=exports.SimpleXMLParser=exports.SimpleDOMNode=void 0;var _core_utils=__w_pdfjs_require__(3);const XMLParserErrorCode={NoError:0,EndOfDocument:-1,UnterminatedCdat:-2,UnterminatedXmlDeclaration:-3,UnterminatedDoctypeDeclaration:-4,UnterminatedComment:-5,MalformedElement:-6,OutOfMemory:-7,UnterminatedAttributeValue:-8,UnterminatedElement:-9,ElementNeverBegun:-10};function isWhitespace(s,index){const ch=s[index];return" "===ch||"\n"===ch||"\r"===ch||"\t"===ch}exports.XMLParserErrorCode=XMLParserErrorCode;class XMLParserBase{_resolveEntities(s){return s.replaceAll(/&([^;]+);/g,((all,entity)=>{if("#x"===entity.substring(0,2))return String.fromCodePoint(parseInt(entity.substring(2),16));if("#"===entity.substring(0,1))return String.fromCodePoint(parseInt(entity.substring(1),10));switch(entity){case"lt":return"<";case"gt":return">";case"amp":return"&";case"quot":return'"';case"apos":return"'"}return this.onResolveEntity(entity)}))}_parseContent(s,start){const attributes=[];let pos=start;function skipWs(){for(;pos"!==s[pos]&&"/"!==s[pos];)++pos;const name=s.substring(start,pos);for(skipWs();pos"!==s[pos]&&"/"!==s[pos]&&"?"!==s[pos];){skipWs();let attrName="",attrValue="";for(;pos"!==s[pos]&&"?"!==s[pos]&&"/"!==s[pos];)++pos;const name=s.substring(start,pos);!function(){for(;pos"!==s[pos+1]);)++pos;return{name:name,value:s.substring(attrStart,pos),parsed:pos-start}}parseXml(s){let i=0;for(;i",j),q<0)return void this.onError(XMLParserErrorCode.UnterminatedElement);this.onEndElement(s.substring(j,q)),j=q+1;break;case"?":++j;const pi=this._parseProcessingInstruction(s,j);if("?>"!==s.substring(j+pi.parsed,j+pi.parsed+2))return void this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);this.onPi(pi.name,pi.value),j+=pi.parsed+2;break;case"!":if("--"===s.substring(j+1,j+3)){if(q=s.indexOf("--\x3e",j+3),q<0)return void this.onError(XMLParserErrorCode.UnterminatedComment);this.onComment(s.substring(j+3,q)),j=q+3}else if("[CDATA["===s.substring(j+1,j+8)){if(q=s.indexOf("]]>",j+8),q<0)return void this.onError(XMLParserErrorCode.UnterminatedCdat);this.onCdata(s.substring(j+8,q)),j=q+3}else{if("DOCTYPE"!==s.substring(j+1,j+8))return void this.onError(XMLParserErrorCode.MalformedElement);{const q2=s.indexOf("[",j+8);let complexDoctype=!1;if(q=s.indexOf(">",j+8),q<0)return void this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);if(q2>0&&q>q2){if(q=s.indexOf("]>",j+8),q<0)return void this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);complexDoctype=!0}const doctypeContent=s.substring(j+8,q+(complexDoctype?1:0));this.onDoctype(doctypeContent),j=q+(complexDoctype?2:1)}}break;default:const content=this._parseContent(s,j);if(null===content)return void this.onError(XMLParserErrorCode.MalformedElement);let isClosed=!1;if("/>"===s.substring(j+content.parsed,j+content.parsed+2))isClosed=!0;else if(">"!==s.substring(j+content.parsed,j+content.parsed+1))return void this.onError(XMLParserErrorCode.UnterminatedElement);this.onBeginElement(content.name,content.attributes,isClosed),j+=content.parsed+(isClosed?2:1)}}else{for(;j0}searchNode(paths,pos){if(pos>=paths.length)return this;const component=paths[pos];if(component.name.startsWith("#")&&pos0)stack.push([node,0]),node=node.childNodes[0];else{if(0===stack.length)return null;for(;0!==stack.length;){const[parent,currentPos]=stack.pop(),newPos=currentPos+1;if(newPos");for(const child of this.childNodes)child.dump(buffer);buffer.push(""))}else this.nodeValue?buffer.push(">".concat((0,_core_utils.encodeToXmlString)(this.nodeValue),"")):buffer.push("/>")}else buffer.push((0,_core_utils.encodeToXmlString)(this.nodeValue))}}exports.SimpleDOMNode=SimpleDOMNode,exports.SimpleXMLParser=class extends XMLParserBase{constructor(_ref68){let{hasAttributes:hasAttributes=!1,lowerCaseName:lowerCaseName=!1}=_ref68;super(),this._currentFragment=null,this._stack=null,this._errorCode=XMLParserErrorCode.NoError,this._hasAttributes=hasAttributes,this._lowerCaseName=lowerCaseName}parseFromString(data){if(this._currentFragment=[],this._stack=[],this._errorCode=XMLParserErrorCode.NoError,this.parseXml(data),this._errorCode!==XMLParserErrorCode.NoError)return;const[documentElement]=this._currentFragment;return documentElement?{documentElement:documentElement}:void 0}onText(text){if(function(s){for(let i=0,ii=s.length;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.StructTreeRoot=exports.StructTreePage=void 0;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_name_number_tree=__w_pdfjs_require__(67),_writer=__w_pdfjs_require__(73);const StructElementType_PAGE_CONTENT=1,StructElementType_STREAM_CONTENT=2,StructElementType_OBJECT=3,StructElementType_ANNOTATION=4,StructElementType_ELEMENT=5;var _addIdToPage=new WeakSet;class StructTreeRoot{constructor(rootDict,rootRef){_classPrivateMethodInitSpec(this,_addIdToPage),this.dict=rootDict,this.ref=rootRef instanceof _primitives.Ref?rootRef:null,this.roleMap=new Map,this.structParentIds=null}init(){this.readRoleMap()}addAnnotationIdToPage(pageRef,id){_classPrivateMethodGet(this,_addIdToPage,_addIdToPage2).call(this,pageRef,id,StructElementType_ANNOTATION)}readRoleMap(){const roleMapDict=this.dict.get("RoleMap");roleMapDict instanceof _primitives.Dict&&roleMapDict.forEach(((key,value)=>{value instanceof _primitives.Name&&this.roleMap.set(key,value.name)}))}static async canCreateStructureTree(_ref69){let{catalogRef:catalogRef,pdfManager:pdfManager,newAnnotationsByPage:newAnnotationsByPage}=_ref69;if(!(catalogRef instanceof _primitives.Ref))return(0,_util.warn)("Cannot save the struct tree: no catalog reference."),!1;let nextKey=0,hasNothingToUpdate=!0;for(const[pageIndex,elements]of newAnnotationsByPage){const{ref:pageRef}=await pdfManager.getPage(pageIndex);if(!(pageRef instanceof _primitives.Ref)){(0,_util.warn)("Cannot save the struct tree: page ".concat(pageIndex," has no ref.")),hasNothingToUpdate=!0;break}for(const element of elements){var _element$accessibilit;null!==(_element$accessibilit=element.accessibilityData)&&void 0!==_element$accessibilit&&_element$accessibilit.type&&(element.parentTreeId=nextKey++,hasNothingToUpdate=!1)}}if(hasNothingToUpdate){for(const elements of newAnnotationsByPage.values())for(const element of elements)delete element.parentTreeId;return!1}return!0}static async createStructureTree(_ref70){let{newAnnotationsByPage:newAnnotationsByPage,xref:xref,catalogRef:catalogRef,pdfManager:pdfManager,newRefs:newRefs}=_ref70;const root=pdfManager.catalog.cloneDict(),structTreeRootRef=xref.getNewTemporaryRef();root.set("StructTreeRoot",structTreeRootRef);const buffer=[];await(0,_writer.writeObject)(catalogRef,root,buffer,xref),newRefs.push({ref:catalogRef,data:buffer.join("")});const structTreeRoot=new _primitives.Dict(xref);structTreeRoot.set("Type",_primitives.Name.get("StructTreeRoot"));const parentTreeRef=xref.getNewTemporaryRef();structTreeRoot.set("ParentTree",parentTreeRef);const kids=[];structTreeRoot.set("K",kids);const parentTree=new _primitives.Dict(xref),nums=[];parentTree.set("Nums",nums);const nextKey=await _classStaticPrivateMethodGet(this,StructTreeRoot,_writeKids).call(this,{newAnnotationsByPage:newAnnotationsByPage,structTreeRootRef:structTreeRootRef,kids:kids,nums:nums,xref:xref,pdfManager:pdfManager,newRefs:newRefs,buffer:buffer});structTreeRoot.set("ParentTreeNextKey",nextKey),buffer.length=0,await(0,_writer.writeObject)(parentTreeRef,parentTree,buffer,xref),newRefs.push({ref:parentTreeRef,data:buffer.join("")}),buffer.length=0,await(0,_writer.writeObject)(structTreeRootRef,structTreeRoot,buffer,xref),newRefs.push({ref:structTreeRootRef,data:buffer.join("")})}async canUpdateStructTree(_ref71){let{pdfManager:pdfManager,newAnnotationsByPage:newAnnotationsByPage}=_ref71;if(!this.ref)return(0,_util.warn)("Cannot update the struct tree: no root reference."),!1;let nextKey=this.dict.get("ParentTreeNextKey");if(!Number.isInteger(nextKey)||nextKey<0)return(0,_util.warn)("Cannot update the struct tree: invalid next key."),!1;const parentTree=this.dict.get("ParentTree");if(!(parentTree instanceof _primitives.Dict))return(0,_util.warn)("Cannot update the struct tree: ParentTree isn't a dict."),!1;const nums=parentTree.get("Nums");if(!Array.isArray(nums))return(0,_util.warn)("Cannot update the struct tree: nums isn't an array."),!1;const{numPages:numPages}=pdfManager.catalog;for(const pageIndex of newAnnotationsByPage.keys()){const{pageDict:pageDict,ref:pageRef}=await pdfManager.getPage(pageIndex);if(!(pageRef instanceof _primitives.Ref))return(0,_util.warn)("Cannot save the struct tree: page ".concat(pageIndex," has no ref.")),!1;const id=pageDict.get("StructParents");if(!Number.isInteger(id)||id<0||id>=numPages)return(0,_util.warn)("Cannot save the struct tree: page ".concat(pageIndex," has no id.")),!1}let hasNothingToUpdate=!0;for(const[pageIndex,elements]of newAnnotationsByPage){const{pageDict:pageDict}=await pdfManager.getPage(pageIndex);_classStaticPrivateMethodGet(StructTreeRoot,StructTreeRoot,_collectParents).call(StructTreeRoot,{elements:elements,xref:this.dict.xref,pageDict:pageDict,parentTree:parentTree});for(const element of elements){var _element$accessibilit2;null!==(_element$accessibilit2=element.accessibilityData)&&void 0!==_element$accessibilit2&&_element$accessibilit2.type&&(element.parentTreeId=nextKey++,hasNothingToUpdate=!1)}}if(hasNothingToUpdate){for(const elements of newAnnotationsByPage.values())for(const element of elements)delete element.parentTreeId,delete element.structTreeParent;return!1}return!0}async updateStructureTree(_ref72){let{newAnnotationsByPage:newAnnotationsByPage,pdfManager:pdfManager,newRefs:newRefs}=_ref72;const xref=this.dict.xref,structTreeRoot=this.dict.clone(),structTreeRootRef=this.ref;let parentTree,parentTreeRef=structTreeRoot.getRaw("ParentTree");parentTreeRef instanceof _primitives.Ref?parentTree=xref.fetch(parentTreeRef):(parentTree=parentTreeRef,parentTreeRef=xref.getNewTemporaryRef(),structTreeRoot.set("ParentTree",parentTreeRef)),parentTree=parentTree.clone();let nums=parentTree.getRaw("Nums"),numsRef=null;nums instanceof _primitives.Ref&&(numsRef=nums,nums=xref.fetch(numsRef)),nums=nums.slice(),numsRef||parentTree.set("Nums",nums);let kids=structTreeRoot.getRaw("K"),kidsRef=null;kids instanceof _primitives.Ref?(kidsRef=kids,kids=xref.fetch(kidsRef)):(kidsRef=xref.getNewTemporaryRef(),structTreeRoot.set("K",kidsRef)),kids=Array.isArray(kids)?kids.slice():[kids];const buffer=[],newNextkey=await _classStaticPrivateMethodGet(StructTreeRoot,StructTreeRoot,_writeKids).call(StructTreeRoot,{newAnnotationsByPage:newAnnotationsByPage,structTreeRootRef:structTreeRootRef,kids:kids,nums:nums,xref:xref,pdfManager:pdfManager,newRefs:newRefs,buffer:buffer});structTreeRoot.set("ParentTreeNextKey",newNextkey),buffer.length=0,await(0,_writer.writeObject)(kidsRef,kids,buffer,xref),newRefs.push({ref:kidsRef,data:buffer.join("")}),numsRef&&(buffer.length=0,await(0,_writer.writeObject)(numsRef,nums,buffer,xref),newRefs.push({ref:numsRef,data:buffer.join("")})),buffer.length=0,await(0,_writer.writeObject)(parentTreeRef,parentTree,buffer,xref),newRefs.push({ref:parentTreeRef,data:buffer.join("")}),buffer.length=0,await(0,_writer.writeObject)(structTreeRootRef,structTreeRoot,buffer,xref),newRefs.push({ref:structTreeRootRef,data:buffer.join("")})}}function _addIdToPage2(pageRef,id,type){if(!(pageRef instanceof _primitives.Ref)||id<0)return;this.structParentIds||(this.structParentIds=new _primitives.RefSetCache);let ids=this.structParentIds.get(pageRef);ids||(ids=[],this.structParentIds.put(pageRef,ids)),ids.push([id,type])}async function _writeKids(_ref74){let{newAnnotationsByPage:newAnnotationsByPage,structTreeRootRef:structTreeRootRef,kids:kids,nums:nums,xref:xref,pdfManager:pdfManager,newRefs:newRefs,buffer:buffer}=_ref74;const objr=_primitives.Name.get("OBJR");let nextKey=-1/0;for(const[pageIndex,elements]of newAnnotationsByPage){const{ref:pageRef}=await pdfManager.getPage(pageIndex);for(const{accessibilityData:{type:type,title:title,lang:lang,alt:alt,expanded:expanded,actualText:actualText},ref:ref,parentTreeId:parentTreeId,structTreeParent:structTreeParent}of elements){nextKey=Math.max(nextKey,parentTreeId);const tagRef=xref.getNewTemporaryRef(),tagDict=new _primitives.Dict(xref);tagDict.set("S",_primitives.Name.get(type)),title&&tagDict.set("T",title),lang&&tagDict.set("Lang",lang),alt&&tagDict.set("Alt",alt),expanded&&tagDict.set("E",expanded),actualText&&tagDict.set("ActualText",actualText),structTreeParent?await _classStaticPrivateMethodGet(this,StructTreeRoot,_updateParentTag).call(this,{structTreeParent:structTreeParent,tagDict:tagDict,newTagRef:tagRef,fallbackRef:structTreeRootRef,xref:xref,newRefs:newRefs,buffer:buffer}):tagDict.set("P",structTreeRootRef);const objDict=new _primitives.Dict(xref);tagDict.set("K",objDict),objDict.set("Type",objr),objDict.set("Pg",pageRef),objDict.set("Obj",ref),buffer.length=0,await(0,_writer.writeObject)(tagRef,tagDict,buffer,xref),newRefs.push({ref:tagRef,data:buffer.join("")}),nums.push(parentTreeId,tagRef),kids.push(tagRef)}}return nextKey+1}function _collectParents(_ref75){let{elements:elements,xref:xref,pageDict:pageDict,parentTree:parentTree}=_ref75;const idToElement=new Map;for(const element of elements)if(element.structTreeParentId){const id=parseInt(element.structTreeParentId.split("_mc")[1],10);idToElement.set(id,element)}const id=pageDict.get("StructParents"),parentArray=new _name_number_tree.NumberTree(parentTree,xref).get(id);if(!Array.isArray(parentArray))return;const updateElement=(kid,pageKid,kidRef)=>{const element=idToElement.get(kid);if(element){const parentRef=pageKid.getRaw("P"),parentDict=xref.fetchIfRef(parentRef);return parentRef instanceof _primitives.Ref&&parentDict instanceof _primitives.Dict&&(element.structTreeParent={ref:kidRef,dict:pageKid}),!0}return!1};for(const kidRef of parentArray){if(!(kidRef instanceof _primitives.Ref))continue;const pageKid=xref.fetch(kidRef),k=pageKid.get("K");if(Number.isInteger(k))updateElement(k,pageKid,kidRef);else if(Array.isArray(k))for(let kid of k)if(kid=xref.fetchIfRef(kid),Number.isInteger(kid)&&updateElement(kid,pageKid,kidRef))break}}async function _updateParentTag(_ref76){let{structTreeParent:{ref:ref,dict:dict},tagDict:tagDict,newTagRef:newTagRef,fallbackRef:fallbackRef,xref:xref,newRefs:newRefs,buffer:buffer}=_ref76;const parentRef=dict.getRaw("P");let parentDict=xref.fetchIfRef(parentRef);tagDict.set("P",parentRef);let parentKids,saveParentDict=!1,parentKidsRef=parentDict.getRaw("K");if(parentKidsRef instanceof _primitives.Ref?parentKids=xref.fetch(parentKidsRef):(parentKids=parentKidsRef,parentKidsRef=xref.getNewTemporaryRef(),parentDict=parentDict.clone(),parentDict.set("K",parentKidsRef),saveParentDict=!0),Array.isArray(parentKids)){const index=parentKids.indexOf(ref);if(!(index>=0))return(0,_util.warn)("Cannot update the struct tree: parent kid not found."),void tagDict.set("P",fallbackRef);parentKids=parentKids.slice(),parentKids.splice(index+1,0,newTagRef)}else parentKids instanceof _primitives.Dict&&(parentKids=[parentKidsRef,newTagRef],parentKidsRef=xref.getNewTemporaryRef(),parentDict.set("K",parentKidsRef),saveParentDict=!0);buffer.length=0,await(0,_writer.writeObject)(parentKidsRef,parentKids,buffer,xref),newRefs.push({ref:parentKidsRef,data:buffer.join("")}),saveParentDict&&(buffer.length=0,await(0,_writer.writeObject)(parentRef,parentDict,buffer,xref),newRefs.push({ref:parentRef,data:buffer.join("")}))}exports.StructTreeRoot=StructTreeRoot;class StructElementNode{constructor(tree,dict){this.tree=tree,this.dict=dict,this.kids=[],this.parseKids()}get role(){const nameObj=this.dict.get("S"),name=nameObj instanceof _primitives.Name?nameObj.name:"",{root:root}=this.tree;return root.roleMap.has(name)?root.roleMap.get(name):name}parseKids(){let pageObjId=null;const objRef=this.dict.getRaw("Pg");objRef instanceof _primitives.Ref&&(pageObjId=objRef.toString());const kids=this.dict.get("K");if(Array.isArray(kids))for(const kid of kids){const element=this.parseKid(pageObjId,kid);element&&this.kids.push(element)}else{const element=this.parseKid(pageObjId,kids);element&&this.kids.push(element)}}parseKid(pageObjId,kid){if(Number.isInteger(kid))return this.tree.pageDict.objId!==pageObjId?null:new StructElement({type:StructElementType_PAGE_CONTENT,mcid:kid,pageObjId:pageObjId});let kidDict=null;if(kid instanceof _primitives.Ref?kidDict=this.dict.xref.fetch(kid):kid instanceof _primitives.Dict&&(kidDict=kid),!kidDict)return null;const pageRef=kidDict.getRaw("Pg");pageRef instanceof _primitives.Ref&&(pageObjId=pageRef.toString());const type=kidDict.get("Type")instanceof _primitives.Name?kidDict.get("Type").name:null;if("MCR"===type){if(this.tree.pageDict.objId!==pageObjId)return null;const kidRef=kidDict.getRaw("Stm");return new StructElement({type:StructElementType_STREAM_CONTENT,refObjId:kidRef instanceof _primitives.Ref?kidRef.toString():null,pageObjId:pageObjId,mcid:kidDict.get("MCID")})}if("OBJR"===type){if(this.tree.pageDict.objId!==pageObjId)return null;const kidRef=kidDict.getRaw("Obj");return new StructElement({type:StructElementType_OBJECT,refObjId:kidRef instanceof _primitives.Ref?kidRef.toString():null,pageObjId:pageObjId})}return new StructElement({type:StructElementType_ELEMENT,dict:kidDict})}}class StructElement{constructor(_ref73){let{type:type,dict:dict=null,mcid:mcid=null,pageObjId:pageObjId=null,refObjId:refObjId=null}=_ref73;this.type=type,this.dict=dict,this.mcid=mcid,this.pageObjId=pageObjId,this.refObjId=refObjId,this.parentNode=null}}exports.StructTreePage=class{constructor(structTreeRoot,pageDict){this.root=structTreeRoot,this.rootDict=structTreeRoot?structTreeRoot.dict:null,this.pageDict=pageDict,this.nodes=[]}parse(pageRef){var _this$root$structPare;if(!this.root||!this.rootDict)return;const parentTree=this.rootDict.get("ParentTree");if(!parentTree)return;const id=this.pageDict.get("StructParents"),ids=pageRef instanceof _primitives.Ref&&(null===(_this$root$structPare=this.root.structParentIds)||void 0===_this$root$structPare?void 0:_this$root$structPare.get(pageRef));if(!Number.isInteger(id)&&!ids)return;const map=new Map,numberTree=new _name_number_tree.NumberTree(parentTree,this.rootDict.xref);if(Number.isInteger(id)){const parentArray=numberTree.get(id);if(Array.isArray(parentArray))for(const ref of parentArray)ref instanceof _primitives.Ref&&this.addNode(this.rootDict.xref.fetch(ref),map)}if(ids)for(const[elemId,type]of ids){const obj=numberTree.get(elemId);if(obj){var _elem$kids;const elem=this.addNode(this.rootDict.xref.fetchIfRef(obj),map);1===(null==elem||null===(_elem$kids=elem.kids)||void 0===_elem$kids?void 0:_elem$kids.length)&&elem.kids[0].type===StructElementType_OBJECT&&(elem.kids[0].type=type)}}}addNode(dict,map){let level=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(level>40)return(0,_util.warn)("StructTree MAX_DEPTH reached."),null;if(map.has(dict))return map.get(dict);const element=new StructElementNode(this,dict);map.set(dict,element);const parent=dict.get("P");if(!parent||(0,_primitives.isName)(parent.get("Type"),"StructTreeRoot"))return this.addTopLevelNode(dict,element)||map.delete(dict),element;const parentNode=this.addNode(parent,map,level+1);if(!parentNode)return element;let save=!1;for(const kid of parentNode.kids)kid.type===StructElementType_ELEMENT&&kid.dict===dict&&(kid.parentNode=element,save=!0);return save||map.delete(dict),element}addTopLevelNode(dict,element){const obj=this.rootDict.get("K");if(!obj)return!1;if(obj instanceof _primitives.Dict)return obj.objId===dict.objId&&(this.nodes[0]=element,!0);if(!Array.isArray(obj))return!0;let save=!1;for(let i=0;i2&&void 0!==arguments[2]?arguments[2]:0;if(level>40)return void(0,_util.warn)("StructTree too deep to be fully serialized.");const obj=Object.create(null);obj.role=node.role,obj.children=[],parent.children.push(obj);const alt=node.dict.get("Alt");"string"==typeof alt&&(obj.alt=(0,_util.stringToPDFString)(alt));const lang=node.dict.get("Lang");"string"==typeof lang&&(obj.lang=(0,_util.stringToPDFString)(lang));for(const kid of node.kids){const kidElement=kid.type===StructElementType_ELEMENT?kid.parentNode:null;kidElement?nodeToSerializable(kidElement,obj,level+1):kid.type===StructElementType_PAGE_CONTENT||kid.type===StructElementType_STREAM_CONTENT?obj.children.push({type:"content",id:"p".concat(kid.pageObjId,"_mc").concat(kid.mcid)}):kid.type===StructElementType_OBJECT?obj.children.push({type:"object",id:kid.refObjId}):kid.type===StructElementType_ANNOTATION&&obj.children.push({type:"annotation",id:"".concat(_util.AnnotationPrefix).concat(kid.refObjId)})}}const root=Object.create(null);root.children=[],root.role="Root";for(const child of this.nodes)child&&nodeToSerializable(child,root);return root}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.incrementalUpdate=async function(_ref80){let{originalData:originalData,xrefInfo:xrefInfo,newRefs:newRefs,xref:xref=null,hasXfa:hasXfa=!1,xfaDatasetsRef:xfaDatasetsRef=null,hasXfaDatasetsEntry:hasXfaDatasetsEntry=!1,needAppearances:needAppearances,acroFormRef:acroFormRef=null,acroForm:acroForm=null,xfaData:xfaData=null}=_ref80;await async function(_ref78){let{xref:xref,acroForm:acroForm,acroFormRef:acroFormRef,hasXfa:hasXfa,hasXfaDatasetsEntry:hasXfaDatasetsEntry,xfaDatasetsRef:xfaDatasetsRef,needAppearances:needAppearances,newRefs:newRefs}=_ref78;if(!hasXfa||hasXfaDatasetsEntry||xfaDatasetsRef||(0,_util.warn)("XFA - Cannot save it"),!needAppearances&&(!hasXfa||!xfaDatasetsRef||hasXfaDatasetsEntry))return;const dict=acroForm.clone();if(hasXfa&&!hasXfaDatasetsEntry){const newXfa=acroForm.get("XFA").slice();newXfa.splice(2,0,"datasets"),newXfa.splice(3,0,xfaDatasetsRef),dict.set("XFA",newXfa)}needAppearances&&dict.set("NeedAppearances",!0);const buffer=[];await writeObject(acroFormRef,dict,buffer,xref),newRefs.push({ref:acroFormRef,data:buffer.join("")})}({xref:xref,acroForm:acroForm,acroFormRef:acroFormRef,hasXfa:hasXfa,hasXfaDatasetsEntry:hasXfaDatasetsEntry,xfaDatasetsRef:xfaDatasetsRef,needAppearances:needAppearances,newRefs:newRefs}),hasXfa&&function(_ref79){let{xfaData:xfaData,xfaDatasetsRef:xfaDatasetsRef,newRefs:newRefs,xref:xref}=_ref79;null===xfaData&&(xfaData=function(str,newRefs){const xml=new _xml_parser.SimpleXMLParser({hasAttributes:!0}).parseFromString(str);for(const{xfa:xfa}of newRefs){if(!xfa)continue;const{path:path,value:value}=xfa;if(!path)continue;const nodePath=(0,_core_utils.parseXFAPath)(path);let node=xml.documentElement.searchNode(nodePath,0);!node&&nodePath.length>1&&(node=xml.documentElement.searchNode([nodePath.at(-1)],0)),node?node.childNodes=Array.isArray(value)?value.map((val=>new _xml_parser.SimpleDOMNode("value",val))):[new _xml_parser.SimpleDOMNode("#text",value)]:(0,_util.warn)("Node not found for path: ".concat(path))}const buffer=[];return xml.documentElement.dump(buffer),buffer.join("")}(xref.fetchIfRef(xfaDatasetsRef).getString(),newRefs));const encrypt=xref.encrypt;encrypt&&(xfaData=encrypt.createCipherTransform(xfaDatasetsRef.num,xfaDatasetsRef.gen).encryptString(xfaData));const data="".concat(xfaDatasetsRef.num," ").concat(xfaDatasetsRef.gen," obj\n")+"<< /Type /EmbeddedFile /Length ".concat(xfaData.length,">>\nstream\n")+xfaData+"\nendstream\nendobj\n";newRefs.push({ref:xfaDatasetsRef,data:data})}({xfaData:xfaData,xfaDatasetsRef:xfaDatasetsRef,newRefs:newRefs,xref:xref});const newXref=new _primitives.Dict(null),refForXrefTable=xrefInfo.newRef;let buffer,baseOffset;const lastByte=originalData.at(-1);10===lastByte||13===lastByte?(buffer=[],baseOffset=originalData.length):(buffer=["\n"],baseOffset=originalData.length+1),newXref.set("Size",refForXrefTable.num+1),newXref.set("Prev",xrefInfo.startXRef),newXref.set("Type",_primitives.Name.get("XRef")),null!==xrefInfo.rootRef&&newXref.set("Root",xrefInfo.rootRef),null!==xrefInfo.infoRef&&newXref.set("Info",xrefInfo.infoRef),null!==xrefInfo.encryptRef&&newXref.set("Encrypt",xrefInfo.encryptRef),newRefs.push({ref:refForXrefTable,data:""}),newRefs=newRefs.sort(((a,b)=>a.ref.num-b.ref.num));const xrefTableData=[[0,1,65535]],indexes=[0,1];let maxOffset=0;for(const{ref:ref,data:data}of newRefs)maxOffset=Math.max(maxOffset,baseOffset),xrefTableData.push([1,baseOffset,Math.min(ref.gen,65535)]),baseOffset+=data.length,indexes.push(ref.num,1),buffer.push(data);if(newXref.set("Index",indexes),Array.isArray(xrefInfo.fileIds)&&xrefInfo.fileIds.length>0){const md5=function(filesize,xrefInfo){const time=Math.floor(Date.now()/1e3),filename=xrefInfo.filename||"",md5Buffer=[time.toString(),filename,filesize.toString()];let md5BufferLen=md5Buffer.reduce(((a,str)=>a+str.length),0);for(const value of Object.values(xrefInfo.info))md5Buffer.push(value),md5BufferLen+=value.length;const array=new Uint8Array(md5BufferLen);let offset=0;for(const str of md5Buffer)writeString(str,offset,array),offset+=str.length;return(0,_util.bytesToString)((0,_crypto.calculateMD5)(array))}(baseOffset,xrefInfo);newXref.set("ID",[xrefInfo.fileIds[0],md5])}const sizes=[1,Math.ceil(Math.log2(maxOffset)/8),2],tableLength=(sizes[0]+sizes[1]+sizes[2])*xrefTableData.length;newXref.set("W",sizes),newXref.set("Length",tableLength),buffer.push("".concat(refForXrefTable.num," ").concat(refForXrefTable.gen," obj\n")),await writeDict(newXref,buffer,null),buffer.push(" stream\n");const bufferLen=buffer.reduce(((a,str)=>a+str.length),0),footer="\nendstream\nendobj\nstartxref\n".concat(baseOffset,"\n%%EOF\n"),array=new Uint8Array(originalData.length+bufferLen+tableLength+footer.length);array.set(originalData);let offset=originalData.length;for(const str of buffer)writeString(str,offset,array),offset+=str.length;for(const[type,objOffset,gen]of xrefTableData)offset=writeInt(type,sizes[0],offset,array),offset=writeInt(objOffset,sizes[1],offset,array),offset=writeInt(gen,sizes[2],offset,array);return writeString(footer,offset,array),array},exports.writeDict=writeDict,exports.writeObject=writeObject;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_core_utils=__w_pdfjs_require__(3),_xml_parser=__w_pdfjs_require__(71),_base_stream=__w_pdfjs_require__(5),_crypto=__w_pdfjs_require__(74);async function writeObject(ref,obj,buffer,_ref77){let{encrypt:encrypt=null}=_ref77;const transform=null==encrypt?void 0:encrypt.createCipherTransform(ref.num,ref.gen);buffer.push("".concat(ref.num," ").concat(ref.gen," obj\n")),obj instanceof _primitives.Dict?await writeDict(obj,buffer,transform):obj instanceof _base_stream.BaseStream?await writeStream(obj,buffer,transform):Array.isArray(obj)&&await writeArray(obj,buffer,transform),buffer.push("\nendobj\n")}async function writeDict(dict,buffer,transform){buffer.push("<<");for(const key of dict.getKeys())buffer.push(" /".concat((0,_core_utils.escapePDFName)(key)," ")),await writeValue(dict.getRaw(key),buffer,transform);buffer.push(">>")}async function writeStream(stream,buffer,transform){let string=stream.getString();const{dict:dict}=stream,[filter,params]=await Promise.all([dict.getAsync("Filter"),dict.getAsync("DecodeParms")]),filterZero=Array.isArray(filter)?await dict.xref.fetchIfRefAsync(filter[0]):filter,isFilterZeroFlateDecode=(0,_primitives.isName)(filterZero,"FlateDecode");if("undefined"!=typeof CompressionStream&&(string.length>=256||isFilterZeroFlateDecode))try{const byteArray=(0,_util.stringToBytes)(string),cs=new CompressionStream("deflate"),writer=cs.writable.getWriter();writer.write(byteArray),writer.close();const buf=await new Response(cs.readable).arrayBuffer();let newFilter,newParams;string=(0,_util.bytesToString)(new Uint8Array(buf)),filter?isFilterZeroFlateDecode||(newFilter=Array.isArray(filter)?[_primitives.Name.get("FlateDecode"),...filter]:[_primitives.Name.get("FlateDecode"),filter],params&&(newParams=Array.isArray(params)?[null,...params]:[null,params])):newFilter=_primitives.Name.get("FlateDecode"),newFilter&&dict.set("Filter",newFilter),newParams&&dict.set("DecodeParms",newParams)}catch(ex){(0,_util.info)('writeStream - cannot compress data: "'.concat(ex,'".'))}transform&&(string=transform.encryptString(string)),dict.set("Length",string.length),await writeDict(dict,buffer,transform),buffer.push(" stream\n",string,"\nendstream")}async function writeArray(array,buffer,transform){buffer.push("[");let first=!0;for(const val of array)first?first=!1:buffer.push(" "),await writeValue(val,buffer,transform);buffer.push("]")}async function writeValue(value,buffer,transform){value instanceof _primitives.Name?buffer.push("/".concat((0,_core_utils.escapePDFName)(value.name))):value instanceof _primitives.Ref?buffer.push("".concat(value.num," ").concat(value.gen," R")):Array.isArray(value)?await writeArray(value,buffer,transform):"string"==typeof value?(transform&&(value=transform.encryptString(value)),buffer.push("(".concat((0,_core_utils.escapeString)(value),")"))):"number"==typeof value?buffer.push((0,_core_utils.numberToString)(value)):"boolean"==typeof value?buffer.push(value.toString()):value instanceof _primitives.Dict?await writeDict(value,buffer,transform):value instanceof _base_stream.BaseStream?await writeStream(value,buffer,transform):null===value?buffer.push("null"):(0,_util.warn)("Unhandled value in writer: ".concat(typeof value,", please file a bug."))}function writeInt(number,size,offset,buffer){for(let i=size+offset-1;i>offset-1;i--)buffer[i]=255&number,number>>=8;return offset+size}function writeString(string,offset,buffer){for(let i=0,len=string.length;i{Object.defineProperty(exports,"__esModule",{value:!0}),exports.calculateSHA256=exports.calculateMD5=exports.PDF20=exports.PDF17=exports.CipherTransformFactory=exports.ARCFourCipher=exports.AES256Cipher=exports.AES128Cipher=void 0,exports.calculateSHA384=calculateSHA384,exports.calculateSHA512=void 0;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_decrypt_stream=__w_pdfjs_require__(75);class ARCFourCipher{constructor(key){this.a=0,this.b=0;const s=new Uint8Array(256),keyLength=key.length;for(let i=0;i<256;++i)s[i]=i;for(let i=0,j=0;i<256;++i){const tmp=s[i];j=j+tmp+key[i%keyLength]&255,s[i]=s[j],s[j]=tmp}this.s=s}encryptBlock(data){let a=this.a,b=this.b;const s=this.s,n=data.length,output=new Uint8Array(n);for(let i=0;i>5&255,padded[i++]=length>>13&255,padded[i++]=length>>21&255,padded[i++]=length>>>29&255,padded[i++]=0,padded[i++]=0,padded[i++]=0;const w=new Int32Array(16);for(i=0;i>>32-rotate)|0,a=tmp}h0=h0+a|0,h1=h1+b|0,h2=h2+c|0,h3=h3+d|0}return new Uint8Array([255&h0,h0>>8&255,h0>>16&255,h0>>>24&255,255&h1,h1>>8&255,h1>>16&255,h1>>>24&255,255&h2,h2>>8&255,h2>>16&255,h2>>>24&255,255&h3,h3>>8&255,h3>>16&255,h3>>>24&255])}}();exports.calculateMD5=calculateMD5;class Word64{constructor(highInteger,lowInteger){this.high=0|highInteger,this.low=0|lowInteger}and(word){this.high&=word.high,this.low&=word.low}xor(word){this.high^=word.high,this.low^=word.low}or(word){this.high|=word.high,this.low|=word.low}shiftRight(places){places>=32?(this.low=this.high>>>places-32|0,this.high=0):(this.low=this.low>>>places|this.high<<32-places,this.high=this.high>>>places|0)}shiftLeft(places){places>=32?(this.high=this.low<>>32-places,this.low<<=places)}rotateRight(places){let low,high;32&places?(high=this.low,low=this.high):(low=this.low,high=this.high),places&=31,this.low=low>>>places|high<<32-places,this.high=high>>>places|low<<32-places}not(){this.high=~this.high,this.low=~this.low}add(word){const lowAdd=(this.low>>>0)+(word.low>>>0);let highAdd=(this.high>>>0)+(word.high>>>0);lowAdd>4294967295&&(highAdd+=1),this.low=0|lowAdd,this.high=0|highAdd}copyTo(bytes,offset){bytes[offset]=this.high>>>24&255,bytes[offset+1]=this.high>>16&255,bytes[offset+2]=this.high>>8&255,bytes[offset+3]=255&this.high,bytes[offset+4]=this.low>>>24&255,bytes[offset+5]=this.low>>16&255,bytes[offset+6]=this.low>>8&255,bytes[offset+7]=255&this.low}assign(word){this.high=word.high,this.low=word.low}}const calculateSHA256=function(){function rotr(x,n){return x>>>n|x<<32-n}function ch(x,y,z){return x&y^~x&z}function maj(x,y,z){return x&y^x&z^y&z}function sigma(x){return rotr(x,2)^rotr(x,13)^rotr(x,22)}function sigmaPrime(x){return rotr(x,6)^rotr(x,11)^rotr(x,25)}function littleSigma(x){return rotr(x,7)^rotr(x,18)^x>>>3}const k=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return function(data,offset,length){let h0=1779033703,h1=3144134277,h2=1013904242,h3=2773480762,h4=1359893119,h5=2600822924,h6=528734635,h7=1541459225;const paddedLength=64*Math.ceil((length+9)/64),padded=new Uint8Array(paddedLength);let i,j;for(i=0;i>>29&255,padded[i++]=length>>21&255,padded[i++]=length>>13&255,padded[i++]=length>>5&255,padded[i++]=length<<3&255;const w=new Uint32Array(64);for(i=0;i>>10)+w[j-7]+littleSigma(w[j-15])+w[j-16];let t1,t2,a=h0,b=h1,c=h2,d=h3,e=h4,f=h5,g=h6,h=h7;for(j=0;j<64;++j)t1=h+sigmaPrime(e)+ch(e,f,g)+k[j]+w[j],t2=sigma(a)+maj(a,b,c),h=g,g=f,f=e,e=d+t1|0,d=c,c=b,b=a,a=t1+t2|0;h0=h0+a|0,h1=h1+b|0,h2=h2+c|0,h3=h3+d|0,h4=h4+e|0,h5=h5+f|0,h6=h6+g|0,h7=h7+h|0}var x;return new Uint8Array([h0>>24&255,h0>>16&255,h0>>8&255,255&h0,h1>>24&255,h1>>16&255,h1>>8&255,255&h1,h2>>24&255,h2>>16&255,h2>>8&255,255&h2,h3>>24&255,h3>>16&255,h3>>8&255,255&h3,h4>>24&255,h4>>16&255,h4>>8&255,255&h4,h5>>24&255,h5>>16&255,h5>>8&255,255&h5,h6>>24&255,h6>>16&255,h6>>8&255,255&h6,h7>>24&255,h7>>16&255,h7>>8&255,255&h7])}}();exports.calculateSHA256=calculateSHA256;const calculateSHA512=function(){function ch(result,x,y,z,tmp){result.assign(x),result.and(y),tmp.assign(x),tmp.not(),tmp.and(z),result.xor(tmp)}function maj(result,x,y,z,tmp){result.assign(x),result.and(y),tmp.assign(x),tmp.and(z),result.xor(tmp),tmp.assign(y),tmp.and(z),result.xor(tmp)}function sigma(result,x,tmp){result.assign(x),result.rotateRight(28),tmp.assign(x),tmp.rotateRight(34),result.xor(tmp),tmp.assign(x),tmp.rotateRight(39),result.xor(tmp)}function sigmaPrime(result,x,tmp){result.assign(x),result.rotateRight(14),tmp.assign(x),tmp.rotateRight(18),result.xor(tmp),tmp.assign(x),tmp.rotateRight(41),result.xor(tmp)}function littleSigma(result,x,tmp){result.assign(x),result.rotateRight(1),tmp.assign(x),tmp.rotateRight(8),result.xor(tmp),tmp.assign(x),tmp.shiftRight(7),result.xor(tmp)}function littleSigmaPrime(result,x,tmp){result.assign(x),result.rotateRight(19),tmp.assign(x),tmp.rotateRight(61),result.xor(tmp),tmp.assign(x),tmp.shiftRight(6),result.xor(tmp)}const k=[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)];return function(data,offset,length){let h0,h1,h2,h3,h4,h5,h6,h7,mode384=arguments.length>3&&void 0!==arguments[3]&&arguments[3];mode384?(h0=new Word64(3418070365,3238371032),h1=new Word64(1654270250,914150663),h2=new Word64(2438529370,812702999),h3=new Word64(355462360,4144912697),h4=new Word64(1731405415,4290775857),h5=new Word64(2394180231,1750603025),h6=new Word64(3675008525,1694076839),h7=new Word64(1203062813,3204075428)):(h0=new Word64(1779033703,4089235720),h1=new Word64(3144134277,2227873595),h2=new Word64(1013904242,4271175723),h3=new Word64(2773480762,1595750129),h4=new Word64(1359893119,2917565137),h5=new Word64(2600822924,725511199),h6=new Word64(528734635,4215389547),h7=new Word64(1541459225,327033209));const paddedLength=128*Math.ceil((length+17)/128),padded=new Uint8Array(paddedLength);let i,j;for(i=0;i>>29&255,padded[i++]=length>>21&255,padded[i++]=length>>13&255,padded[i++]=length>>5&255,padded[i++]=length<<3&255;const w=new Array(80);for(i=0;i<80;i++)w[i]=new Word64(0,0);let a=new Word64(0,0),b=new Word64(0,0),c=new Word64(0,0),d=new Word64(0,0),e=new Word64(0,0),f=new Word64(0,0),g=new Word64(0,0),h=new Word64(0,0);const t1=new Word64(0,0),t2=new Word64(0,0),tmp1=new Word64(0,0),tmp2=new Word64(0,0);let tmp3,result;for(i=0;i=1;--i){t=state[13],state[13]=state[9],state[9]=state[5],state[5]=state[1],state[1]=t,t=state[14],u=state[10],state[14]=state[6],state[10]=state[2],state[6]=t,state[2]=u,t=state[15],u=state[11],v=state[7],state[15]=state[3],state[11]=t,state[7]=u,state[3]=v;for(let j=0;j<16;++j)state[j]=this._inv_s[state[j]];for(let j=0,k=16*i;j<16;++j,++k)state[j]^=key[k];for(let j=0;j<16;j+=4){const s0=this._mix[state[j]],s1=this._mix[state[j+1]],s2=this._mix[state[j+2]],s3=this._mix[state[j+3]];t=s0^s1>>>8^s1<<24^s2>>>16^s2<<16^s3>>>24^s3<<8,state[j]=t>>>24&255,state[j+1]=t>>16&255,state[j+2]=t>>8&255,state[j+3]=255&t}}t=state[13],state[13]=state[9],state[9]=state[5],state[5]=state[1],state[1]=t,t=state[14],u=state[10],state[14]=state[6],state[10]=state[2],state[6]=t,state[2]=u,t=state[15],u=state[11],v=state[7],state[15]=state[3],state[11]=t,state[7]=u,state[3]=v;for(let j=0;j<16;++j)state[j]=this._inv_s[state[j]],state[j]^=key[j];return state}_encrypt(input,key){const s=this._s;let t,u,v;const state=new Uint8Array(16);state.set(input);for(let j=0;j<16;++j)state[j]^=key[j];for(let i=1;i=ii;--i)if(lastBlock[i]!==psLen){psLen=0;break}outputLength-=psLen,result[result.length-1]=lastBlock.subarray(0,16-psLen)}}const output=new Uint8Array(outputLength);for(let i=0,j=0,ii=result.length;i2&&void 0!==arguments[2]?arguments[2]:null;const sourceLength=data.length,buffer=this.buffer;let bufferLength=this.bufferPosition;if(iv)this.iv=iv;else{for(let i=0;bufferLength<16&&i=256&&(r=255&(27^r)));for(let n=0;n<4;++n)result[j]=t1^=result[j-32],j++,result[j]=t2^=result[j-32],j++,result[j]=t3^=result[j-32],j++,result[j]=t4^=result[j-32],j++}return result}}exports.AES256Cipher=AES256Cipher;class PDF17{checkOwnerPassword(password,ownerValidationSalt,userBytes,ownerPassword){const hashData=new Uint8Array(password.length+56);hashData.set(password,0),hashData.set(ownerValidationSalt,password.length),hashData.set(userBytes,password.length+ownerValidationSalt.length);const result=calculateSHA256(hashData,0,hashData.length);return(0,_util.isArrayEqual)(result,ownerPassword)}checkUserPassword(password,userValidationSalt,userPassword){const hashData=new Uint8Array(password.length+8);hashData.set(password,0),hashData.set(userValidationSalt,password.length);const result=calculateSHA256(hashData,0,hashData.length);return(0,_util.isArrayEqual)(result,userPassword)}getOwnerKey(password,ownerKeySalt,userBytes,ownerEncryption){const hashData=new Uint8Array(password.length+56);hashData.set(password,0),hashData.set(ownerKeySalt,password.length),hashData.set(userBytes,password.length+ownerKeySalt.length);const key=calculateSHA256(hashData,0,hashData.length);return new AES256Cipher(key).decryptBlock(ownerEncryption,!1,new Uint8Array(16))}getUserKey(password,userKeySalt,userEncryption){const hashData=new Uint8Array(password.length+8);hashData.set(password,0),hashData.set(userKeySalt,password.length);const key=calculateSHA256(hashData,0,hashData.length);return new AES256Cipher(key).decryptBlock(userEncryption,!1,new Uint8Array(16))}}exports.PDF17=PDF17;class PDF20{_hash(password,input,userBytes){let k=calculateSHA256(input,0,input.length).subarray(0,32),e=[0],i=0;for(;i<64||e.at(-1)>i-32;){const combinedLength=password.length+k.length+userBytes.length,combinedArray=new Uint8Array(combinedLength);let writeOffset=0;combinedArray.set(password,writeOffset),writeOffset+=password.length,combinedArray.set(k,writeOffset),writeOffset+=k.length,combinedArray.set(userBytes,writeOffset);const k1=new Uint8Array(64*combinedLength);for(let j=0,pos=0;j<64;j++,pos+=combinedLength)k1.set(combinedArray,pos);e=new AES128Cipher(k.subarray(0,16)).encrypt(k1,k.subarray(16,32));const remainder=e.slice(0,16).reduce(((a,b)=>a+b),0)%3;0===remainder?k=calculateSHA256(e,0,e.length):1===remainder?k=calculateSHA384(e,0,e.length):2===remainder&&(k=calculateSHA512(e,0,e.length)),i++}return k.subarray(0,32)}checkOwnerPassword(password,ownerValidationSalt,userBytes,ownerPassword){const hashData=new Uint8Array(password.length+56);hashData.set(password,0),hashData.set(ownerValidationSalt,password.length),hashData.set(userBytes,password.length+ownerValidationSalt.length);const result=this._hash(password,hashData,userBytes);return(0,_util.isArrayEqual)(result,ownerPassword)}checkUserPassword(password,userValidationSalt,userPassword){const hashData=new Uint8Array(password.length+8);hashData.set(password,0),hashData.set(userValidationSalt,password.length);const result=this._hash(password,hashData,[]);return(0,_util.isArrayEqual)(result,userPassword)}getOwnerKey(password,ownerKeySalt,userBytes,ownerEncryption){const hashData=new Uint8Array(password.length+56);hashData.set(password,0),hashData.set(ownerKeySalt,password.length),hashData.set(userBytes,password.length+ownerKeySalt.length);const key=this._hash(password,hashData,userBytes);return new AES256Cipher(key).decryptBlock(ownerEncryption,!1,new Uint8Array(16))}getUserKey(password,userKeySalt,userEncryption){const hashData=new Uint8Array(password.length+8);hashData.set(password,0),hashData.set(userKeySalt,password.length);const key=this._hash(password,hashData,[]);return new AES256Cipher(key).decryptBlock(userEncryption,!1,new Uint8Array(16))}}exports.PDF20=PDF20;class CipherTransform{constructor(stringCipherConstructor,streamCipherConstructor){this.StringCipherConstructor=stringCipherConstructor,this.StreamCipherConstructor=streamCipherConstructor}createStream(stream,length){const cipher=new this.StreamCipherConstructor;return new _decrypt_stream.DecryptStream(stream,length,(function(data,finalize){return cipher.decryptBlock(data,finalize)}))}decryptString(s){const cipher=new this.StringCipherConstructor;let data=(0,_util.stringToBytes)(s);return data=cipher.decryptBlock(data,!0),(0,_util.bytesToString)(data)}encryptString(s){const cipher=new this.StringCipherConstructor;if(cipher instanceof AESBaseCipher){const pad=16-s.length%16;s+=String.fromCharCode(pad).repeat(pad);const iv=new Uint8Array(16);if("undefined"!=typeof crypto)crypto.getRandomValues(iv);else for(let i=0;i<16;i++)iv[i]=Math.floor(256*Math.random());let data=(0,_util.stringToBytes)(s);data=cipher.encrypt(data,iv);const buf=new Uint8Array(16+data.length);return buf.set(iv),buf.set(data,16),(0,_util.bytesToString)(buf)}let data=(0,_util.stringToBytes)(s);return data=cipher.encrypt(data),(0,_util.bytesToString)(data)}}var _createEncryptionKey=new WeakSet,_prepareKeyData=new WeakSet,_decodeUserPassword=new WeakSet,_buildObjectKey=new WeakSet,_buildCipherConstructor=new WeakSet;class CipherTransformFactory{constructor(dict,_fileId,_password){_classPrivateMethodInitSpec(this,_buildCipherConstructor),_classPrivateMethodInitSpec(this,_buildObjectKey),_classPrivateMethodInitSpec(this,_decodeUserPassword),_classPrivateMethodInitSpec(this,_prepareKeyData),_classPrivateMethodInitSpec(this,_createEncryptionKey);const filter=dict.get("Filter");if(!(0,_primitives.isName)(filter,"Standard"))throw new _util.FormatError("unknown encryption method");this.filterName=filter.name,this.dict=dict;const algorithm=dict.get("V");if(!Number.isInteger(algorithm)||1!==algorithm&&2!==algorithm&&4!==algorithm&&5!==algorithm)throw new _util.FormatError("unsupported encryption algorithm");this.algorithm=algorithm;let _keyLength=dict.get("Length");if(!_keyLength)if(algorithm<=3)_keyLength=40;else{const cfDict=dict.get("CF"),streamCryptoName=dict.get("StmF");if(cfDict instanceof _primitives.Dict&&streamCryptoName instanceof _primitives.Name){cfDict.suppressEncryption=!0;const handlerDict=cfDict.get(streamCryptoName.name);_keyLength=(null==handlerDict?void 0:handlerDict.get("Length"))||128,_keyLength<40&&(_keyLength<<=3)}}if(!Number.isInteger(_keyLength)||_keyLength<40||_keyLength%8!=0)throw new _util.FormatError("invalid key length");const ownerBytes=(0,_util.stringToBytes)(dict.get("O")),userBytes=(0,_util.stringToBytes)(dict.get("U")),_ownerPassword=ownerBytes.subarray(0,32),_userPassword=userBytes.subarray(0,32),_flags=dict.get("P"),_revision=dict.get("R"),_encryptMetadata=(4===algorithm||5===algorithm)&&!1!==dict.get("EncryptMetadata");this.encryptMetadata=_encryptMetadata;const fileIdBytes=(0,_util.stringToBytes)(_fileId);let passwordBytes,_encryptionKey;if(_password){if(6===_revision)try{_password=(0,_util.utf8StringToString)(_password)}catch{(0,_util.warn)("CipherTransformFactory: Unable to convert UTF8 encoded password.")}passwordBytes=(0,_util.stringToBytes)(_password)}if(5!==algorithm)_encryptionKey=_classPrivateMethodGet(this,_prepareKeyData,_prepareKeyData2).call(this,fileIdBytes,passwordBytes,_ownerPassword,_userPassword,_flags,_revision,_keyLength,_encryptMetadata);else{const ownerValidationSalt=ownerBytes.subarray(32,40),ownerKeySalt=ownerBytes.subarray(40,48),uBytes=userBytes.subarray(0,48),userValidationSalt=userBytes.subarray(32,40),userKeySalt=userBytes.subarray(40,48),ownerEncryption=(0,_util.stringToBytes)(dict.get("OE")),userEncryption=(0,_util.stringToBytes)(dict.get("UE")),perms=(0,_util.stringToBytes)(dict.get("Perms"));_encryptionKey=_classPrivateMethodGet(this,_createEncryptionKey,_createEncryptionKey2).call(this,_revision,passwordBytes,_ownerPassword,ownerValidationSalt,ownerKeySalt,uBytes,_userPassword,userValidationSalt,userKeySalt,ownerEncryption,userEncryption,perms)}if(!_encryptionKey&&!_password)throw new _util.PasswordException("No password given",_util.PasswordResponses.NEED_PASSWORD);if(!_encryptionKey&&_password){const decodedPassword=_classPrivateMethodGet(this,_decodeUserPassword,_decodeUserPassword2).call(this,passwordBytes,_ownerPassword,_revision,_keyLength);_encryptionKey=_classPrivateMethodGet(this,_prepareKeyData,_prepareKeyData2).call(this,fileIdBytes,decodedPassword,_ownerPassword,_userPassword,_flags,_revision,_keyLength,_encryptMetadata)}if(!_encryptionKey)throw new _util.PasswordException("Incorrect Password",_util.PasswordResponses.INCORRECT_PASSWORD);if(this.encryptionKey=_encryptionKey,algorithm>=4){const cf=dict.get("CF");cf instanceof _primitives.Dict&&(cf.suppressEncryption=!0),this.cf=cf,this.stmf=dict.get("StmF")||_primitives.Name.get("Identity"),this.strf=dict.get("StrF")||_primitives.Name.get("Identity"),this.eff=dict.get("EFF")||this.stmf}}createCipherTransform(num,gen){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(_classPrivateMethodGet(this,_buildCipherConstructor,_buildCipherConstructor2).call(this,this.cf,this.strf,num,gen,this.encryptionKey),_classPrivateMethodGet(this,_buildCipherConstructor,_buildCipherConstructor2).call(this,this.cf,this.stmf,num,gen,this.encryptionKey));const key=_classPrivateMethodGet(this,_buildObjectKey,_buildObjectKey2).call(this,num,gen,this.encryptionKey,!1),cipherConstructor=function(){return new ARCFourCipher(key)};return new CipherTransform(cipherConstructor,cipherConstructor)}}function _createEncryptionKey2(revision,password,ownerPassword,ownerValidationSalt,ownerKeySalt,uBytes,userPassword,userValidationSalt,userKeySalt,ownerEncryption,userEncryption,perms){if(password){const passwordLength=Math.min(127,password.length);password=password.subarray(0,passwordLength)}else password=[];const pdfAlgorithm=6===revision?new PDF20:new PDF17;return pdfAlgorithm.checkUserPassword(password,userValidationSalt,userPassword)?pdfAlgorithm.getUserKey(password,userKeySalt,userEncryption):password.length&&pdfAlgorithm.checkOwnerPassword(password,ownerValidationSalt,uBytes,ownerPassword)?pdfAlgorithm.getOwnerKey(password,ownerKeySalt,uBytes,ownerEncryption):null}function _prepareKeyData2(fileId,password,ownerPassword,userPassword,flags,revision,keyLength,encryptMetadata){const hashDataSize=40+ownerPassword.length+fileId.length,hashData=new Uint8Array(hashDataSize);let j,n,i=0;if(password)for(n=Math.min(32,password.length);i>8&255,hashData[i++]=flags>>16&255,hashData[i++]=flags>>>24&255,j=0,n=fileId.length;j=4&&!encryptMetadata&&(hashData[i++]=255,hashData[i++]=255,hashData[i++]=255,hashData[i++]=255);let hash=calculateMD5(hashData,0,i);const keyLengthInBytes=keyLength>>3;if(revision>=3)for(j=0;j<50;++j)hash=calculateMD5(hash,0,keyLengthInBytes);const encryptionKey=hash.subarray(0,keyLengthInBytes);let cipher,checkData;if(revision>=3){for(i=0;i<32;++i)hashData[i]=_classStaticPrivateFieldSpecGet(CipherTransformFactory,CipherTransformFactory,_defaultPasswordBytes)[i];for(j=0,n=fileId.length;j>3;if(revision>=3)for(j=0;j<50;++j)hash=calculateMD5(hash,0,hash.length);let cipher,userPassword;if(revision>=3){userPassword=ownerPassword;const derivedKey=new Uint8Array(keyLengthInBytes);for(j=19;j>=0;j--){for(let k=0;k3&&void 0!==arguments[3]&&arguments[3];const key=new Uint8Array(encryptionKey.length+9),n=encryptionKey.length;let i;for(i=0;i>8&255,key[i++]=num>>16&255,key[i++]=255&gen,key[i++]=gen>>8&255,isAes&&(key[i++]=115,key[i++]=65,key[i++]=108,key[i++]=84);const hash=calculateMD5(key,0,i);return hash.subarray(0,Math.min(encryptionKey.length+5,16))}function _buildCipherConstructor2(cf,name,num,gen,key){if(!(name instanceof _primitives.Name))throw new _util.FormatError("Invalid crypt filter name.");const self=this,cryptFilter=cf.get(name.name),cfm=null==cryptFilter?void 0:cryptFilter.get("CFM");if(!cfm||"None"===cfm.name)return function(){return new NullCipher};if("V2"===cfm.name)return function(){return new ARCFourCipher(_classPrivateMethodGet(self,_buildObjectKey,_buildObjectKey2).call(self,num,gen,key,!1))};if("AESV2"===cfm.name)return function(){return new AES128Cipher(_classPrivateMethodGet(self,_buildObjectKey,_buildObjectKey2).call(self,num,gen,key,!0))};if("AESV3"===cfm.name)return function(){return new AES256Cipher(key)};throw new _util.FormatError("Unknown crypto method")}var _defaultPasswordBytes={writable:!0,value:new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122])};exports.CipherTransformFactory=CipherTransformFactory},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.DecryptStream=void 0;var _decode_stream=__w_pdfjs_require__(18);class DecryptStream extends _decode_stream.DecodeStream{constructor(str,maybeLength,decrypt){super(maybeLength),this.str=str,this.dict=str.dict,this.decrypt=decrypt,this.nextChunk=null,this.initialized=!1}readBlock(){var _this$nextChunk;let chunk;if(this.initialized?chunk=this.nextChunk:(chunk=this.str.getBytes(512),this.initialized=!0),!chunk||0===chunk.length)return void(this.eof=!0);this.nextChunk=this.str.getBytes(512);const hasMoreData=(null===(_this$nextChunk=this.nextChunk)||void 0===_this$nextChunk?void 0:_this$nextChunk.length)>0;chunk=(0,this.decrypt)(chunk,!hasMoreData);const bufferLength=this.bufferLength,newLength=bufferLength+chunk.length;this.ensureBuffer(newLength).set(chunk,bufferLength),this.bufferLength=newLength}}exports.DecryptStream=DecryptStream},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ObjectLoader=void 0;var _primitives=__w_pdfjs_require__(4),_base_stream=__w_pdfjs_require__(5),_core_utils=__w_pdfjs_require__(3),_util=__w_pdfjs_require__(2);function addChildren(node,nodesToVisit){if(node instanceof _primitives.Dict)node=node.getRawValues();else if(node instanceof _base_stream.BaseStream)node=node.dict.getRawValues();else if(!Array.isArray(node))return;for(const rawValue of node)((value=rawValue)instanceof _primitives.Ref||value instanceof _primitives.Dict||value instanceof _base_stream.BaseStream||Array.isArray(value))&&nodesToVisit.push(rawValue);var value}exports.ObjectLoader=class{constructor(dict,keys,xref){this.dict=dict,this.keys=keys,this.xref=xref,this.refSet=null}async load(){if(this.xref.stream.isDataLoaded)return;const{keys:keys,dict:dict}=this;this.refSet=new _primitives.RefSet;const nodesToVisit=[];for(const key of keys){const rawValue=dict.getRaw(key);void 0!==rawValue&&nodesToVisit.push(rawValue)}return this._walk(nodesToVisit)}async _walk(nodesToVisit){const nodesToRevisit=[],pendingRequests=[];for(;nodesToVisit.length;){let currentNode=nodesToVisit.pop();if(currentNode instanceof _primitives.Ref){if(this.refSet.has(currentNode))continue;try{this.refSet.put(currentNode),currentNode=this.xref.fetch(currentNode)}catch(ex){if(!(ex instanceof _core_utils.MissingDataException)){(0,_util.warn)('ObjectLoader._walk - requesting all data: "'.concat(ex,'".')),this.refSet=null;const{manager:manager}=this.xref.stream;return manager.requestAllChunks()}nodesToRevisit.push(currentNode),pendingRequests.push({begin:ex.begin,end:ex.end})}}if(currentNode instanceof _base_stream.BaseStream){const baseStreams=currentNode.getBaseStreams();if(baseStreams){let foundMissingData=!1;for(const stream of baseStreams)stream.isDataLoaded||(foundMissingData=!0,pendingRequests.push({begin:stream.start,end:stream.end}));foundMissingData&&nodesToRevisit.push(currentNode)}}addChildren(currentNode,nodesToVisit)}if(pendingRequests.length){await this.xref.stream.manager.requestRanges(pendingRequests);for(const node of nodesToRevisit)node instanceof _primitives.Ref&&this.refSet.remove(node);return this._walk(nodesToRevisit)}this.refSet=null}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XFAFactory=void 0;var _symbol_utils=__w_pdfjs_require__(78),_bind=__w_pdfjs_require__(79),_data=__w_pdfjs_require__(89),_fonts=__w_pdfjs_require__(85),_utils=__w_pdfjs_require__(84),_util=__w_pdfjs_require__(2),_parser=__w_pdfjs_require__(90),_xhtml=__w_pdfjs_require__(100);class XFAFactory{constructor(data){try{this.root=(new _parser.XFAParser).parse(XFAFactory._createDocument(data));const binder=new _bind.Binder(this.root);this.form=binder.bind(),this.dataHandler=new _data.DataHandler(this.root,binder.getData()),this.form[_symbol_utils.$globalData].template=this.form}catch(e){(0,_util.warn)("XFA - an error occurred during parsing and binding: ".concat(e))}}isValid(){return this.root&&this.form}_createPagesHelper(){const iterator=this.form[_symbol_utils.$toPages]();return new Promise(((resolve,reject)=>{const nextIteration=()=>{try{const value=iterator.next();value.done?resolve(value.value):setTimeout(nextIteration,0)}catch(e){reject(e)}};setTimeout(nextIteration,0)}))}async _createPages(){try{this.pages=await this._createPagesHelper(),this.dims=this.pages.children.map((c=>{const{width:width,height:height}=c.attributes.style;return[0,0,parseInt(width),parseInt(height)]}))}catch(e){(0,_util.warn)("XFA - an error occurred during layout: ".concat(e))}}getBoundingBox(pageIndex){return this.dims[pageIndex]}async getNumPages(){return this.pages||await this._createPages(),this.dims.length}setImages(images){this.form[_symbol_utils.$globalData].images=images}setFonts(fonts){this.form[_symbol_utils.$globalData].fontFinder=new _fonts.FontFinder(fonts);const missingFonts=[];for(let typeface of this.form[_symbol_utils.$globalData].usedTypefaces)typeface=(0,_utils.stripQuotes)(typeface),this.form[_symbol_utils.$globalData].fontFinder.find(typeface)||missingFonts.push(typeface);return missingFonts.length>0?missingFonts:null}appendFonts(fonts,reallyMissingFonts){this.form[_symbol_utils.$globalData].fontFinder.add(fonts,reallyMissingFonts)}async getPages(){this.pages||await this._createPages();const pages=this.pages;return this.pages=null,pages}serializeData(storage){return this.dataHandler.serialize(storage)}static _createDocument(data){return data["/xdp:xdp"]?Object.values(data).join(""):data["xdp:xdp"]}static getRichTextAsHtml(rc){if(!rc||"string"!=typeof rc)return null;try{let root=new _parser.XFAParser(_xhtml.XhtmlNamespace,!0).parse(rc);if(!["body","xhtml"].includes(root[_symbol_utils.$nodeName])){const newRoot=_xhtml.XhtmlNamespace.body({});newRoot[_symbol_utils.$appendChild](root),root=newRoot}const result=root[_symbol_utils.$toHTML]();if(!result.success)return null;const{html:html}=result,{attributes:attributes}=html;return attributes&&(attributes.class&&(attributes.class=attributes.class.filter((attr=>!attr.startsWith("xfa")))),attributes.dir="auto"),{html:html,str:root[_symbol_utils.$text]()}}catch(e){(0,_util.warn)("XFA - an error occurred during parsing of rich text: ".concat(e))}return null}}exports.XFAFactory=XFAFactory},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.$uid=exports.$toStyle=exports.$toString=exports.$toPages=exports.$toHTML=exports.$text=exports.$tabIndex=exports.$setValue=exports.$setSetAttributes=exports.$setId=exports.$searchNode=exports.$root=exports.$resolvePrototypes=exports.$removeChild=exports.$pushPara=exports.$pushGlyphs=exports.$popPara=exports.$onText=exports.$onChildCheck=exports.$onChild=exports.$nsAttributes=exports.$nodeName=exports.$namespaceId=exports.$lastAttribute=exports.$isUsable=exports.$isTransparent=exports.$isThereMoreWidth=exports.$isSplittable=exports.$isNsAgnostic=exports.$isDescendent=exports.$isDataValue=exports.$isCDATAXml=exports.$isBindable=exports.$insertAt=exports.$indexOf=exports.$ids=exports.$hasSettableValue=exports.$globalData=exports.$getTemplateRoot=exports.$getSubformParent=exports.$getRealChildrenByNameIt=exports.$getParent=exports.$getNextPage=exports.$getExtra=exports.$getDataValue=exports.$getContainedChildren=exports.$getChildrenByNameIt=exports.$getChildrenByName=exports.$getChildrenByClass=exports.$getChildren=exports.$getAvailableSpace=exports.$getAttributes=exports.$getAttributeIt=exports.$flushHTML=exports.$finalize=exports.$extra=exports.$dump=exports.$data=exports.$content=exports.$consumed=exports.$clone=exports.$cleanup=exports.$cleanPage=exports.$clean=exports.$childrenToHTML=exports.$appendChild=exports.$addHTML=exports.$acceptWhitespace=void 0;const $acceptWhitespace=Symbol();exports.$acceptWhitespace=$acceptWhitespace;const $addHTML=Symbol();exports.$addHTML=$addHTML;const $appendChild=Symbol();exports.$appendChild=$appendChild;const $childrenToHTML=Symbol();exports.$childrenToHTML=$childrenToHTML;const $clean=Symbol();exports.$clean=$clean;const $cleanPage=Symbol();exports.$cleanPage=$cleanPage;const $cleanup=Symbol();exports.$cleanup=$cleanup;const $clone=Symbol();exports.$clone=$clone;const $consumed=Symbol();exports.$consumed=$consumed;const $content=Symbol("content");exports.$content=$content;const $data=Symbol("data");exports.$data=$data;const $dump=Symbol();exports.$dump=$dump;const $extra=Symbol("extra");exports.$extra=$extra;const $finalize=Symbol();exports.$finalize=$finalize;const $flushHTML=Symbol();exports.$flushHTML=$flushHTML;const $getAttributeIt=Symbol();exports.$getAttributeIt=$getAttributeIt;const $getAttributes=Symbol();exports.$getAttributes=$getAttributes;const $getAvailableSpace=Symbol();exports.$getAvailableSpace=$getAvailableSpace;const $getChildrenByClass=Symbol();exports.$getChildrenByClass=$getChildrenByClass;const $getChildrenByName=Symbol();exports.$getChildrenByName=$getChildrenByName;const $getChildrenByNameIt=Symbol();exports.$getChildrenByNameIt=$getChildrenByNameIt;const $getDataValue=Symbol();exports.$getDataValue=$getDataValue;const $getExtra=Symbol();exports.$getExtra=$getExtra;const $getRealChildrenByNameIt=Symbol();exports.$getRealChildrenByNameIt=$getRealChildrenByNameIt;const $getChildren=Symbol();exports.$getChildren=$getChildren;const $getContainedChildren=Symbol();exports.$getContainedChildren=$getContainedChildren;const $getNextPage=Symbol();exports.$getNextPage=$getNextPage;const $getSubformParent=Symbol();exports.$getSubformParent=$getSubformParent;const $getParent=Symbol();exports.$getParent=$getParent;const $getTemplateRoot=Symbol();exports.$getTemplateRoot=$getTemplateRoot;const $globalData=Symbol();exports.$globalData=$globalData;const $hasSettableValue=Symbol();exports.$hasSettableValue=$hasSettableValue;const $ids=Symbol();exports.$ids=$ids;const $indexOf=Symbol();exports.$indexOf=$indexOf;const $insertAt=Symbol();exports.$insertAt=$insertAt;const $isCDATAXml=Symbol();exports.$isCDATAXml=$isCDATAXml;const $isBindable=Symbol();exports.$isBindable=$isBindable;const $isDataValue=Symbol();exports.$isDataValue=$isDataValue;const $isDescendent=Symbol();exports.$isDescendent=$isDescendent;const $isNsAgnostic=Symbol();exports.$isNsAgnostic=$isNsAgnostic;const $isSplittable=Symbol();exports.$isSplittable=$isSplittable;const $isThereMoreWidth=Symbol();exports.$isThereMoreWidth=$isThereMoreWidth;const $isTransparent=Symbol();exports.$isTransparent=$isTransparent;const $isUsable=Symbol();exports.$isUsable=$isUsable;const $lastAttribute=Symbol();exports.$lastAttribute=$lastAttribute;const $namespaceId=Symbol("namespaceId");exports.$namespaceId=$namespaceId;const $nodeName=Symbol("nodeName");exports.$nodeName=$nodeName;const $nsAttributes=Symbol();exports.$nsAttributes=$nsAttributes;const $onChild=Symbol();exports.$onChild=$onChild;const $onChildCheck=Symbol();exports.$onChildCheck=$onChildCheck;const $onText=Symbol();exports.$onText=$onText;const $pushGlyphs=Symbol();exports.$pushGlyphs=$pushGlyphs;const $popPara=Symbol();exports.$popPara=$popPara;const $pushPara=Symbol();exports.$pushPara=$pushPara;const $removeChild=Symbol();exports.$removeChild=$removeChild;const $root=Symbol("root");exports.$root=$root;const $resolvePrototypes=Symbol();exports.$resolvePrototypes=$resolvePrototypes;const $searchNode=Symbol();exports.$searchNode=$searchNode;const $setId=Symbol();exports.$setId=$setId;const $setSetAttributes=Symbol();exports.$setSetAttributes=$setSetAttributes;const $setValue=Symbol();exports.$setValue=$setValue;const $tabIndex=Symbol();exports.$tabIndex=$tabIndex;const $text=Symbol();exports.$text=$text;const $toPages=Symbol();exports.$toPages=$toPages;const $toHTML=Symbol();exports.$toHTML=$toHTML;const $toString=Symbol();exports.$toString=$toString;const $toStyle=Symbol();exports.$toStyle=$toStyle;const $uid=Symbol("uid");exports.$uid=$uid},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Binder=void 0;var _symbol_utils=__w_pdfjs_require__(78),_template=__w_pdfjs_require__(80),_som=__w_pdfjs_require__(88),_xfa_object=__w_pdfjs_require__(87),_namespaces=__w_pdfjs_require__(81),_util=__w_pdfjs_require__(2);const NS_DATASETS=_namespaces.NamespaceIds.datasets.id;function createText(content){const node=new _template.Text({});return node[_symbol_utils.$content]=content,node}exports.Binder=class{constructor(root){var _root$datasets;this.root=root,this.datasets=root.datasets,this.data=(null===(_root$datasets=root.datasets)||void 0===_root$datasets?void 0:_root$datasets.data)||new _xfa_object.XmlObject(_namespaces.NamespaceIds.datasets.id,"data"),this.emptyMerge=0===this.data[_symbol_utils.$getChildren]().length,this.root.form=this.form=root.template[_symbol_utils.$clone]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){return this._bindElement(this.form,this.data),this.form}getData(){return this.data}_bindValue(formNode,data,picture){var _formNode$ui,_formNode$ui$choiceLi;if(formNode[_symbol_utils.$data]=data,formNode[_symbol_utils.$hasSettableValue]())if(data[_symbol_utils.$isDataValue]()){const value=data[_symbol_utils.$getDataValue]();formNode[_symbol_utils.$setValue](createText(value))}else if(formNode instanceof _template.Field&&"multiSelect"===(null===(_formNode$ui=formNode.ui)||void 0===_formNode$ui||null===(_formNode$ui$choiceLi=_formNode$ui.choiceList)||void 0===_formNode$ui$choiceLi?void 0:_formNode$ui$choiceLi.open)){const value=data[_symbol_utils.$getChildren]().map((child=>child[_symbol_utils.$content].trim())).join("\n");formNode[_symbol_utils.$setValue](createText(value))}else this._isConsumeData()&&(0,_util.warn)("XFA - Nodes haven't the same type.");else!data[_symbol_utils.$isDataValue]()||this._isMatchTemplate()?this._bindElement(formNode,data):(0,_util.warn)("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(name,isValue,dataNode,global){var _match;if(!name)return null;let generator,match;for(let i=0;i<3;i++){for(generator=dataNode[_symbol_utils.$getRealChildrenByNameIt](name,!1,!0);match=generator.next().value,match;)if(isValue===match[_symbol_utils.$isDataValue]())return match;if(dataNode[_symbol_utils.$namespaceId]===_namespaces.NamespaceIds.datasets.id&&"data"===dataNode[_symbol_utils.$nodeName])break;dataNode=dataNode[_symbol_utils.$getParent]()}return global?(generator=this.data[_symbol_utils.$getRealChildrenByNameIt](name,!0,!1),match=generator.next().value,match||(generator=this.data[_symbol_utils.$getAttributeIt](name,!0),match=generator.next().value,null!==(_match=match)&&void 0!==_match&&_match[_symbol_utils.$isDataValue]()?match:null)):null}_setProperties(formNode,dataNode){if(formNode.hasOwnProperty("setProperty"))for(const{ref:ref,target:target,connection:connection}of formNode.setProperty.children){if(connection)continue;if(!ref)continue;const nodes=(0,_som.searchNode)(this.root,dataNode,ref,!1,!1);if(!nodes){(0,_util.warn)("XFA - Invalid reference: ".concat(ref,"."));continue}const[node]=nodes;if(!node[_symbol_utils.$isDescendent](this.data)){(0,_util.warn)("XFA - Invalid node: must be a data node.");continue}const targetNodes=(0,_som.searchNode)(this.root,formNode,target,!1,!1);if(!targetNodes){(0,_util.warn)("XFA - Invalid target: ".concat(target,"."));continue}const[targetNode]=targetNodes;if(!targetNode[_symbol_utils.$isDescendent](formNode)){(0,_util.warn)("XFA - Invalid target: must be a property or subproperty.");continue}const targetParent=targetNode[_symbol_utils.$getParent]();if(targetNode instanceof _template.SetProperty||targetParent instanceof _template.SetProperty){(0,_util.warn)("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(targetNode instanceof _template.BindItems||targetParent instanceof _template.BindItems){(0,_util.warn)("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}const content=node[_symbol_utils.$text](),name=targetNode[_symbol_utils.$nodeName];if(targetNode instanceof _xfa_object.XFAAttribute){const attrs=Object.create(null);attrs[name]=content;const obj=Reflect.construct(Object.getPrototypeOf(targetParent).constructor,[attrs]);targetParent[name]=obj[name]}else targetNode.hasOwnProperty(_symbol_utils.$content)?(targetNode[_symbol_utils.$data]=node,targetNode[_symbol_utils.$content]=content,targetNode[_symbol_utils.$finalize]()):(0,_util.warn)("XFA - Invalid node to use in setProperty")}}_bindItems(formNode,dataNode){if(!formNode.hasOwnProperty("items")||!formNode.hasOwnProperty("bindItems")||formNode.bindItems.isEmpty())return;for(const item of formNode.items.children)formNode[_symbol_utils.$removeChild](item);formNode.items.clear();const labels=new _template.Items({}),values=new _template.Items({});formNode[_symbol_utils.$appendChild](labels),formNode.items.push(labels),formNode[_symbol_utils.$appendChild](values),formNode.items.push(values);for(const{ref:ref,labelRef:labelRef,valueRef:valueRef,connection:connection}of formNode.bindItems.children){if(connection)continue;if(!ref)continue;const nodes=(0,_som.searchNode)(this.root,dataNode,ref,!1,!1);if(nodes)for(const node of nodes){if(!node[_symbol_utils.$isDescendent](this.datasets)){(0,_util.warn)("XFA - Invalid ref (".concat(ref,"): must be a datasets child."));continue}const labelNodes=(0,_som.searchNode)(this.root,node,labelRef,!0,!1);if(!labelNodes){(0,_util.warn)("XFA - Invalid label: ".concat(labelRef,"."));continue}const[labelNode]=labelNodes;if(!labelNode[_symbol_utils.$isDescendent](this.datasets)){(0,_util.warn)("XFA - Invalid label: must be a datasets child.");continue}const valueNodes=(0,_som.searchNode)(this.root,node,valueRef,!0,!1);if(!valueNodes){(0,_util.warn)("XFA - Invalid value: ".concat(valueRef,"."));continue}const[valueNode]=valueNodes;if(!valueNode[_symbol_utils.$isDescendent](this.datasets)){(0,_util.warn)("XFA - Invalid value: must be a datasets child.");continue}const label=createText(labelNode[_symbol_utils.$text]()),value=createText(valueNode[_symbol_utils.$text]());labels[_symbol_utils.$appendChild](label),labels.text.push(label),values[_symbol_utils.$appendChild](value),values.text.push(value)}else(0,_util.warn)("XFA - Invalid reference: ".concat(ref,"."))}}_bindOccurrences(formNode,matches,picture){let baseClone;if(matches.length>1&&(baseClone=formNode[_symbol_utils.$clone](),baseClone[_symbol_utils.$removeChild](baseClone.occur),baseClone.occur=null),this._bindValue(formNode,matches[0],picture),this._setProperties(formNode,matches[0]),this._bindItems(formNode,matches[0]),1===matches.length)return;const parent=formNode[_symbol_utils.$getParent](),name=formNode[_symbol_utils.$nodeName],pos=parent[_symbol_utils.$indexOf](formNode);for(let i=1,ii=matches.length;ie.name===formNode.name)).length:parent[name].children.length;const pos=parent[_symbol_utils.$indexOf](formNode)+1,ii=occur.initial-currentNumber;if(ii){const nodeClone=formNode[_symbol_utils.$clone]();nodeClone[_symbol_utils.$removeChild](nodeClone.occur),nodeClone.occur=null,parent[name].push(nodeClone),parent[_symbol_utils.$insertAt](pos,nodeClone);for(let i=1;i0)this._bindOccurrences(child,[dataChildren[0]],null);else if(this.emptyMerge){const nsId=dataNode[_symbol_utils.$namespaceId]===NS_DATASETS?-1:dataNode[_symbol_utils.$namespaceId],dataChild=child[_symbol_utils.$data]=new _xfa_object.XmlObject(nsId,child.name||"root");dataNode[_symbol_utils.$appendChild](dataChild),this._bindElement(child,dataChild)}continue}if(!child[_symbol_utils.$isBindable]())continue;let global=!1,picture=null,ref=null,match=null;if(child.bind){switch(child.bind.match){case"none":this._setAndBind(child,dataNode);continue;case"global":global=!0;break;case"dataRef":if(!child.bind.ref){(0,_util.warn)("XFA - ref is empty in node ".concat(child[_symbol_utils.$nodeName],".")),this._setAndBind(child,dataNode);continue}ref=child.bind.ref}child.bind.picture&&(picture=child.bind.picture[_symbol_utils.$content])}const[min,max]=this._getOccurInfo(child);if(ref){if(match=(0,_som.searchNode)(this.root,dataNode,ref,!0,!1),null===match){if(match=(0,_som.createDataNode)(this.data,dataNode,ref),!match)continue;this._isConsumeData()&&(match[_symbol_utils.$consumed]=!0),this._setAndBind(child,match);continue}this._isConsumeData()&&(match=match.filter((node=>!node[_symbol_utils.$consumed]))),match.length>max?match=match.slice(0,max):0===match.length&&(match=null),match&&this._isConsumeData()&&match.forEach((node=>{node[_symbol_utils.$consumed]=!0}))}else{if(!child.name){this._setAndBind(child,dataNode);continue}if(this._isConsumeData()){const matches=[];for(;matches.length0?matches:null}else{if(match=dataNode[_symbol_utils.$getRealChildrenByNameIt](child.name,!1,this.emptyMerge).next().value,!match){if(0===min){uselessNodes.push(child);continue}const nsId=dataNode[_symbol_utils.$namespaceId]===NS_DATASETS?-1:dataNode[_symbol_utils.$namespaceId];match=child[_symbol_utils.$data]=new _xfa_object.XmlObject(nsId,child.name),this.emptyMerge&&(match[_symbol_utils.$consumed]=!0),dataNode[_symbol_utils.$appendChild](match),this._setAndBind(child,match);continue}this.emptyMerge&&(match[_symbol_utils.$consumed]=!0),match=[match]}}match?this._bindOccurrences(child,match,picture):min>0?this._setAndBind(child,dataNode):uselessNodes.push(child)}uselessNodes.forEach((node=>node[_symbol_utils.$getParent]()[_symbol_utils.$removeChild](node)))}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Value=exports.Text=exports.TemplateNamespace=exports.Template=exports.SetProperty=exports.Items=exports.Field=exports.BindItems=void 0;var _symbol_utils=__w_pdfjs_require__(78),_namespaces=__w_pdfjs_require__(81),_layout=__w_pdfjs_require__(82),_html_utils=__w_pdfjs_require__(83),_xfa_object=__w_pdfjs_require__(87),_utils=__w_pdfjs_require__(84),_util=__w_pdfjs_require__(2),_fonts=__w_pdfjs_require__(85),_core_utils=__w_pdfjs_require__(3),_som=__w_pdfjs_require__(88);const TEMPLATE_NS_ID=_namespaces.NamespaceIds.template.id,SVG_NS="http://www.w3.org/2000/svg",HEADING_PATTERN=/^H(\d+)$/,MIMES=new Set(["image/gif","image/jpeg","image/jpg","image/pjpeg","image/png","image/apng","image/x-png","image/bmp","image/x-ms-bmp","image/tiff","image/tif","application/octet-stream"]),IMAGES_HEADERS=[[[66,77],"image/bmp"],[[255,216,255],"image/jpeg"],[[73,73,42,0],"image/tiff"],[[77,77,0,42],"image/tiff"],[[71,73,70,56,57,97],"image/gif"],[[137,80,78,71,13,10,26,10],"image/png"]];function getBorderDims(node){if(!node||!node.border)return{w:0,h:0};const borderExtra=node.border[_symbol_utils.$getExtra]();return borderExtra?{w:borderExtra.widths[0]+borderExtra.widths[2]+borderExtra.insets[0]+borderExtra.insets[2],h:borderExtra.widths[1]+borderExtra.widths[3]+borderExtra.insets[1]+borderExtra.insets[3]}:{w:0,h:0}}function hasMargin(node){return node.margin&&(node.margin.topInset||node.margin.rightInset||node.margin.bottomInset||node.margin.leftInset)}function _setValue(templateNode,value){if(!templateNode.value){const nodeValue=new Value({});templateNode[_symbol_utils.$appendChild](nodeValue),templateNode.value=nodeValue}templateNode.value[_symbol_utils.$setValue](value)}function*getContainedChildren(node){for(const child of node[_symbol_utils.$getChildren]())child instanceof SubformSet?yield*child[_symbol_utils.$getContainedChildren]():yield child}function isRequired(node){var _node$validate;return"error"===(null===(_node$validate=node.validate)||void 0===_node$validate?void 0:_node$validate.nullTest)}function setTabIndex(node){for(;node;){if(!node.traversal)return void(node[_symbol_utils.$tabIndex]=node[_symbol_utils.$getParent]()[_symbol_utils.$tabIndex]);if(node[_symbol_utils.$tabIndex])return;let next=null;for(const child of node.traversal[_symbol_utils.$getChildren]())if("next"===child.operation){next=child;break}if(!next||!next.ref)return void(node[_symbol_utils.$tabIndex]=node[_symbol_utils.$getParent]()[_symbol_utils.$tabIndex]);const root=node[_symbol_utils.$getTemplateRoot]();node[_symbol_utils.$tabIndex]=++root[_symbol_utils.$tabIndex];const ref=root[_symbol_utils.$searchNode](next.ref,node);if(!ref)return;node=ref[0]}}function applyAssist(obj,attributes){const assist=obj.assist;if(assist){const assistTitle=assist[_symbol_utils.$toHTML]();assistTitle&&(attributes.title=assistTitle);const match=assist.role.match(HEADING_PATTERN);if(match){const ariaRole="heading",ariaLevel=match[1];attributes.role=ariaRole,attributes["aria-level"]=ariaLevel}}if("table"===obj.layout)attributes.role="table";else if("row"===obj.layout)attributes.role="row";else{const parent=obj[_symbol_utils.$getParent]();var _parent$assist;"row"===parent.layout&&(attributes.role="TH"===(null===(_parent$assist=parent.assist)||void 0===_parent$assist?void 0:_parent$assist.role)?"columnheader":"cell")}}function ariaLabel(obj){if(!obj.assist)return null;const assist=obj.assist;return assist.speak&&""!==assist.speak[_symbol_utils.$content]?assist.speak[_symbol_utils.$content]:assist.toolTip?assist.toolTip[_symbol_utils.$content]:null}function valueToHtml(value){return _utils.HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:Object.create(null)},children:[{name:"span",attributes:{style:Object.create(null)},value:value}]})}function setFirstUnsplittable(node){const root=node[_symbol_utils.$getTemplateRoot]();null===root[_symbol_utils.$extra].firstUnsplittable&&(root[_symbol_utils.$extra].firstUnsplittable=node,root[_symbol_utils.$extra].noLayoutFailure=!0)}function unsetFirstUnsplittable(node){const root=node[_symbol_utils.$getTemplateRoot]();root[_symbol_utils.$extra].firstUnsplittable===node&&(root[_symbol_utils.$extra].noLayoutFailure=!1)}function handleBreak(node){if(node[_symbol_utils.$extra])return!1;if(node[_symbol_utils.$extra]=Object.create(null),"auto"===node.targetType)return!1;const root=node[_symbol_utils.$getTemplateRoot]();let target=null;if(node.target){if(target=root[_symbol_utils.$searchNode](node.target,node[_symbol_utils.$getParent]()),!target)return!1;target=target[0]}const{currentPageArea:currentPageArea,currentContentArea:currentContentArea}=root[_symbol_utils.$extra];if("pageArea"===node.targetType)return target instanceof PageArea||(target=null),node.startNew?(node[_symbol_utils.$extra].target=target||currentPageArea,!0):!(!target||target===currentPageArea||(node[_symbol_utils.$extra].target=target,0));target instanceof ContentArea||(target=null);const pageArea=target&&target[_symbol_utils.$getParent]();let index,nextPageArea=pageArea;if(node.startNew)if(target){const contentAreas=pageArea.contentArea.children,indexForCurrent=contentAreas.indexOf(currentContentArea),indexForTarget=contentAreas.indexOf(target);-1!==indexForCurrent&&indexForCurrentnode,root[_symbol_utils.$extra].noLayoutFailure=!0;const res=extraNode[_symbol_utils.$toHTML](space);node[_symbol_utils.$addHTML](res.html,res.bbox),root[_symbol_utils.$extra].noLayoutFailure=saved,extraNode[_symbol_utils.$getSubformParent]=savedMethod}class AppearanceFilter extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"appearanceFilter"),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Arc extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"arc",!0),this.circular=(0,_utils.getInteger)({data:attributes.circular,defaultValue:0,validate:x=>1===x}),this.hand=(0,_utils.getStringOption)(attributes.hand,["even","left","right"]),this.id=attributes.id||"",this.startAngle=(0,_utils.getFloat)({data:attributes.startAngle,defaultValue:0,validate:x=>!0}),this.sweepAngle=(0,_utils.getFloat)({data:attributes.sweepAngle,defaultValue:360,validate:x=>!0}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.edge=null,this.fill=null}[_symbol_utils.$toHTML](){var _this$fill;const edge=this.edge||new Edge({}),edgeStyle=edge[_symbol_utils.$toStyle](),style=Object.create(null);let arc;"visible"===(null===(_this$fill=this.fill)||void 0===_this$fill?void 0:_this$fill.presence)?Object.assign(style,this.fill[_symbol_utils.$toStyle]()):style.fill="transparent",style.strokeWidth=(0,_html_utils.measureToString)("visible"===edge.presence?edge.thickness:0),style.stroke=edgeStyle.color;const attributes={xmlns:SVG_NS,style:{width:"100%",height:"100%",overflow:"visible"}};if(360===this.sweepAngle)arc={name:"ellipse",attributes:{xmlns:SVG_NS,cx:"50%",cy:"50%",rx:"50%",ry:"50%",style:style}};else{const startAngle=this.startAngle*Math.PI/180,sweepAngle=this.sweepAngle*Math.PI/180,largeArc=this.sweepAngle>180?1:0,[x1,y1,x2,y2]=[50*(1+Math.cos(startAngle)),50*(1-Math.sin(startAngle)),50*(1+Math.cos(startAngle+sweepAngle)),50*(1-Math.sin(startAngle+sweepAngle))];arc={name:"path",attributes:{xmlns:SVG_NS,d:"M ".concat(x1," ").concat(y1," A 50 50 0 ").concat(largeArc," 0 ").concat(x2," ").concat(y2),vectorEffect:"non-scaling-stroke",style:style}},Object.assign(attributes,{viewBox:"0 0 100 100",preserveAspectRatio:"none"})}const svg={name:"svg",children:[arc],attributes:attributes};return hasMargin(this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]())?_utils.HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[svg]}):(svg.attributes.style.position="absolute",_utils.HTMLResult.success(svg))}}class Area extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"area",!0),this.colSpan=(0,_utils.getInteger)({data:attributes.colSpan,defaultValue:1,validate:n=>n>=1||-1===n}),this.id=attributes.id||"",this.name=attributes.name||"",this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.x=(0,_utils.getMeasurement)(attributes.x,"0pt"),this.y=(0,_utils.getMeasurement)(attributes.y,"0pt"),this.desc=null,this.extras=null,this.area=new _xfa_object.XFAObjectArray,this.draw=new _xfa_object.XFAObjectArray,this.exObject=new _xfa_object.XFAObjectArray,this.exclGroup=new _xfa_object.XFAObjectArray,this.field=new _xfa_object.XFAObjectArray,this.subform=new _xfa_object.XFAObjectArray,this.subformSet=new _xfa_object.XFAObjectArray}*[_symbol_utils.$getContainedChildren](){yield*getContainedChildren(this)}[_symbol_utils.$isTransparent](){return!0}[_symbol_utils.$isBindable](){return!0}[_symbol_utils.$addHTML](html,bbox){const[x,y,w,h]=bbox;this[_symbol_utils.$extra].width=Math.max(this[_symbol_utils.$extra].width,x+w),this[_symbol_utils.$extra].height=Math.max(this[_symbol_utils.$extra].height,y+h),this[_symbol_utils.$extra].children.push(html)}[_symbol_utils.$getAvailableSpace](){return this[_symbol_utils.$extra].availableSpace}[_symbol_utils.$toHTML](availableSpace){const style=(0,_html_utils.toStyle)(this,"position"),attributes={style:style,id:this[_symbol_utils.$uid],class:["xfaArea"]};(0,_html_utils.isPrintOnly)(this)&&attributes.class.push("xfaPrintOnly"),this.name&&(attributes.xfaName=this.name);const children=[];this[_symbol_utils.$extra]={children:children,width:0,height:0,availableSpace:availableSpace};const result=this[_symbol_utils.$childrenToHTML]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0});if(!result.success)return result.isBreak()?result:(delete this[_symbol_utils.$extra],_utils.HTMLResult.FAILURE);style.width=(0,_html_utils.measureToString)(this[_symbol_utils.$extra].width),style.height=(0,_html_utils.measureToString)(this[_symbol_utils.$extra].height);const html={name:"div",attributes:attributes,children:children},bbox=[this.x,this.y,this[_symbol_utils.$extra].width,this[_symbol_utils.$extra].height];return delete this[_symbol_utils.$extra],_utils.HTMLResult.success(html,bbox)}}class Assist extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"assist",!0),this.id=attributes.id||"",this.role=attributes.role||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.speak=null,this.toolTip=null}[_symbol_utils.$toHTML](){var _this$toolTip;return(null===(_this$toolTip=this.toolTip)||void 0===_this$toolTip?void 0:_this$toolTip[_symbol_utils.$content])||null}}class Barcode extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"barcode",!0),this.charEncoding=(0,_utils.getKeyword)({data:attributes.charEncoding?attributes.charEncoding.toLowerCase():"",defaultValue:"",validate:k=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(k)||k.match(/iso-8859-\d{2}/)}),this.checksum=(0,_utils.getStringOption)(attributes.checksum,["none","1mod10","1mod10_1mod11","2mod10","auto"]),this.dataColumnCount=(0,_utils.getInteger)({data:attributes.dataColumnCount,defaultValue:-1,validate:x=>x>=0}),this.dataLength=(0,_utils.getInteger)({data:attributes.dataLength,defaultValue:-1,validate:x=>x>=0}),this.dataPrep=(0,_utils.getStringOption)(attributes.dataPrep,["none","flateCompress"]),this.dataRowCount=(0,_utils.getInteger)({data:attributes.dataRowCount,defaultValue:-1,validate:x=>x>=0}),this.endChar=attributes.endChar||"",this.errorCorrectionLevel=(0,_utils.getInteger)({data:attributes.errorCorrectionLevel,defaultValue:-1,validate:x=>x>=0&&x<=8}),this.id=attributes.id||"",this.moduleHeight=(0,_utils.getMeasurement)(attributes.moduleHeight,"5mm"),this.moduleWidth=(0,_utils.getMeasurement)(attributes.moduleWidth,"0.25mm"),this.printCheckDigit=(0,_utils.getInteger)({data:attributes.printCheckDigit,defaultValue:0,validate:x=>1===x}),this.rowColumnRatio=(0,_utils.getRatio)(attributes.rowColumnRatio),this.startChar=attributes.startChar||"",this.textLocation=(0,_utils.getStringOption)(attributes.textLocation,["below","above","aboveEmbedded","belowEmbedded","none"]),this.truncate=(0,_utils.getInteger)({data:attributes.truncate,defaultValue:0,validate:x=>1===x}),this.type=(0,_utils.getStringOption)(attributes.type?attributes.type.toLowerCase():"",["aztec","codabar","code2of5industrial","code2of5interleaved","code2of5matrix","code2of5standard","code3of9","code3of9extended","code11","code49","code93","code128","code128a","code128b","code128c","code128sscc","datamatrix","ean8","ean8add2","ean8add5","ean13","ean13add2","ean13add5","ean13pwcd","fim","logmars","maxicode","msi","pdf417","pdf417macro","plessey","postauscust2","postauscust3","postausreplypaid","postausstandard","postukrm4scc","postusdpbc","postusimb","postusstandard","postus5zip","qrcode","rfid","rss14","rss14expanded","rss14limited","rss14stacked","rss14stackedomni","rss14truncated","telepen","ucc128","ucc128random","ucc128sscc","upca","upcaadd2","upcaadd5","upcapwcd","upce","upceadd2","upceadd5","upcean2","upcean5","upsmaxicode"]),this.upsMode=(0,_utils.getStringOption)(attributes.upsMode,["usCarrier","internationalCarrier","secureSymbol","standardSymbol"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.wideNarrowRatio=(0,_utils.getRatio)(attributes.wideNarrowRatio),this.encrypt=null,this.extras=null}}class Bind extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"bind",!0),this.match=(0,_utils.getStringOption)(attributes.match,["once","dataRef","global","none"]),this.ref=attributes.ref||"",this.picture=null}}class BindItems extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"bindItems"),this.connection=attributes.connection||"",this.labelRef=attributes.labelRef||"",this.ref=attributes.ref||"",this.valueRef=attributes.valueRef||""}}exports.BindItems=BindItems;class Bookend extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"bookend"),this.id=attributes.id||"",this.leader=attributes.leader||"",this.trailer=attributes.trailer||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class BooleanElement extends _xfa_object.Option01{constructor(attributes){super(TEMPLATE_NS_ID,"boolean"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$toHTML](availableSpace){return valueToHtml(1===this[_symbol_utils.$content]?"1":"0")}}class Border extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"border",!0),this.break=(0,_utils.getStringOption)(attributes.break,["close","open"]),this.hand=(0,_utils.getStringOption)(attributes.hand,["even","left","right"]),this.id=attributes.id||"",this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.corner=new _xfa_object.XFAObjectArray(4),this.edge=new _xfa_object.XFAObjectArray(4),this.extras=null,this.fill=null,this.margin=null}[_symbol_utils.$getExtra](){if(!this[_symbol_utils.$extra]){const edges=this.edge.children.slice();if(edges.length<4){const defaultEdge=edges.at(-1)||new Edge({});for(let i=edges.length;i<4;i++)edges.push(defaultEdge)}const widths=edges.map((edge=>edge.thickness)),insets=[0,0,0,0];this.margin&&(insets[0]=this.margin.topInset,insets[1]=this.margin.rightInset,insets[2]=this.margin.bottomInset,insets[3]=this.margin.leftInset),this[_symbol_utils.$extra]={widths:widths,insets:insets,edges:edges}}return this[_symbol_utils.$extra]}[_symbol_utils.$toStyle](){var _this$fill2;const{edges:edges}=this[_symbol_utils.$getExtra](),edgeStyles=edges.map((node=>{const style=node[_symbol_utils.$toStyle]();return style.color||(style.color="#000000"),style})),style=Object.create(null);if(this.margin&&Object.assign(style,this.margin[_symbol_utils.$toStyle]()),"visible"===(null===(_this$fill2=this.fill)||void 0===_this$fill2?void 0:_this$fill2.presence)&&Object.assign(style,this.fill[_symbol_utils.$toStyle]()),this.corner.children.some((node=>0!==node.radius))){const cornerStyles=this.corner.children.map((node=>node[_symbol_utils.$toStyle]()));if(2===cornerStyles.length||3===cornerStyles.length){const last=cornerStyles.at(-1);for(let i=cornerStyles.length;i<4;i++)cornerStyles.push(last)}style.borderRadius=cornerStyles.map((s=>s.radius)).join(" ")}switch(this.presence){case"invisible":case"hidden":style.borderStyle="";break;case"inactive":style.borderStyle="none";break;default:style.borderStyle=edgeStyles.map((s=>s.style)).join(" ")}return style.borderWidth=edgeStyles.map((s=>s.width)).join(" "),style.borderColor=edgeStyles.map((s=>s.color)).join(" "),style}}class Break extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"break",!0),this.after=(0,_utils.getStringOption)(attributes.after,["auto","contentArea","pageArea","pageEven","pageOdd"]),this.afterTarget=attributes.afterTarget||"",this.before=(0,_utils.getStringOption)(attributes.before,["auto","contentArea","pageArea","pageEven","pageOdd"]),this.beforeTarget=attributes.beforeTarget||"",this.bookendLeader=attributes.bookendLeader||"",this.bookendTrailer=attributes.bookendTrailer||"",this.id=attributes.id||"",this.overflowLeader=attributes.overflowLeader||"",this.overflowTarget=attributes.overflowTarget||"",this.overflowTrailer=attributes.overflowTrailer||"",this.startNew=(0,_utils.getInteger)({data:attributes.startNew,defaultValue:0,validate:x=>1===x}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null}}class BreakAfter extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"breakAfter",!0),this.id=attributes.id||"",this.leader=attributes.leader||"",this.startNew=(0,_utils.getInteger)({data:attributes.startNew,defaultValue:0,validate:x=>1===x}),this.target=attributes.target||"",this.targetType=(0,_utils.getStringOption)(attributes.targetType,["auto","contentArea","pageArea"]),this.trailer=attributes.trailer||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.script=null}}class BreakBefore extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"breakBefore",!0),this.id=attributes.id||"",this.leader=attributes.leader||"",this.startNew=(0,_utils.getInteger)({data:attributes.startNew,defaultValue:0,validate:x=>1===x}),this.target=attributes.target||"",this.targetType=(0,_utils.getStringOption)(attributes.targetType,["auto","contentArea","pageArea"]),this.trailer=attributes.trailer||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.script=null}[_symbol_utils.$toHTML](availableSpace){return this[_symbol_utils.$extra]={},_utils.HTMLResult.FAILURE}}class Button extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"button",!0),this.highlight=(0,_utils.getStringOption)(attributes.highlight,["inverted","none","outline","push"]),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null}[_symbol_utils.$toHTML](availableSpace){const grandpa=this[_symbol_utils.$getParent]()[_symbol_utils.$getParent](),htmlButton={name:"button",attributes:{id:this[_symbol_utils.$uid],class:["xfaButton"],style:{}},children:[]};for(const event of grandpa.event.children){if("click"!==event.activity||!event.script)continue;const jsURL=(0,_core_utils.recoverJsURL)(event.script[_symbol_utils.$content]);if(!jsURL)continue;const href=(0,_html_utils.fixURL)(jsURL.url);href&&htmlButton.children.push({name:"a",attributes:{id:"link"+this[_symbol_utils.$uid],href:href,newWindow:jsURL.newWindow,class:["xfaLink"],style:{}},children:[]})}return _utils.HTMLResult.success(htmlButton)}}class Calculate extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"calculate",!0),this.id=attributes.id||"",this.override=(0,_utils.getStringOption)(attributes.override,["disabled","error","ignore","warning"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.message=null,this.script=null}}class Caption extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"caption",!0),this.id=attributes.id||"",this.placement=(0,_utils.getStringOption)(attributes.placement,["left","bottom","inline","right","top"]),this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.reserve=Math.ceil((0,_utils.getMeasurement)(attributes.reserve)),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.font=null,this.margin=null,this.para=null,this.value=null}[_symbol_utils.$setValue](value){_setValue(this,value)}[_symbol_utils.$getExtra](availableSpace){if(!this[_symbol_utils.$extra]){let{width:width,height:height}=availableSpace;switch(this.placement){case"left":case"right":case"inline":width=this.reserve<=0?width:this.reserve;break;case"top":case"bottom":height=this.reserve<=0?height:this.reserve}this[_symbol_utils.$extra]=(0,_html_utils.layoutNode)(this,{width:width,height:height})}return this[_symbol_utils.$extra]}[_symbol_utils.$toHTML](availableSpace){if(!this.value)return _utils.HTMLResult.EMPTY;this[_symbol_utils.$pushPara]();const value=this.value[_symbol_utils.$toHTML](availableSpace).html;if(!value)return this[_symbol_utils.$popPara](),_utils.HTMLResult.EMPTY;const savedReserve=this.reserve;if(this.reserve<=0){const{w:w,h:h}=this[_symbol_utils.$getExtra](availableSpace);switch(this.placement){case"left":case"right":case"inline":this.reserve=w;break;case"top":case"bottom":this.reserve=h}}const children=[];"string"==typeof value?children.push({name:"#text",value:value}):children.push(value);const style=(0,_html_utils.toStyle)(this,"font","margin","visibility");switch(this.placement){case"left":case"right":this.reserve>0&&(style.width=(0,_html_utils.measureToString)(this.reserve));break;case"top":case"bottom":this.reserve>0&&(style.height=(0,_html_utils.measureToString)(this.reserve))}return(0,_html_utils.setPara)(this,null,value),this[_symbol_utils.$popPara](),this.reserve=savedReserve,_utils.HTMLResult.success({name:"div",attributes:{style:style,class:["xfaCaption"]},children:children})}}class Certificate extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"certificate"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Certificates extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"certificates",!0),this.credentialServerPolicy=(0,_utils.getStringOption)(attributes.credentialServerPolicy,["optional","required"]),this.id=attributes.id||"",this.url=attributes.url||"",this.urlPolicy=attributes.urlPolicy||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.encryption=null,this.issuers=null,this.keyUsage=null,this.oids=null,this.signing=null,this.subjectDNs=null}}class CheckButton extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"checkButton",!0),this.id=attributes.id||"",this.mark=(0,_utils.getStringOption)(attributes.mark,["default","check","circle","cross","diamond","square","star"]),this.shape=(0,_utils.getStringOption)(attributes.shape,["square","round"]),this.size=(0,_utils.getMeasurement)(attributes.size,"10pt"),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.border=null,this.extras=null,this.margin=null}[_symbol_utils.$toHTML](availableSpace){var _field$value;const style=(0,_html_utils.toStyle)("margin"),size=(0,_html_utils.measureToString)(this.size);let type,className,groupId;style.width=style.height=size;const field=this[_symbol_utils.$getParent]()[_symbol_utils.$getParent](),items=field.items.children.length&&field.items.children[0][_symbol_utils.$toHTML]().html||[],exportedValue={on:(void 0!==items[0]?items[0]:"on").toString(),off:(void 0!==items[1]?items[1]:"off").toString()},checked=((null===(_field$value=field.value)||void 0===_field$value?void 0:_field$value[_symbol_utils.$text]())||"off")===exportedValue.on||void 0,container=field[_symbol_utils.$getSubformParent](),fieldId=field[_symbol_utils.$uid];let dataId;var _container$_symbol_ut,_field$_symbol_utils$;container instanceof ExclGroup?(groupId=container[_symbol_utils.$uid],type="radio",className="xfaRadio",dataId=(null===(_container$_symbol_ut=container[_symbol_utils.$data])||void 0===_container$_symbol_ut?void 0:_container$_symbol_ut[_symbol_utils.$uid])||container[_symbol_utils.$uid]):(type="checkbox",className="xfaCheckbox",dataId=(null===(_field$_symbol_utils$=field[_symbol_utils.$data])||void 0===_field$_symbol_utils$?void 0:_field$_symbol_utils$[_symbol_utils.$uid])||field[_symbol_utils.$uid]);const input={name:"input",attributes:{class:[className],style:style,fieldId:fieldId,dataId:dataId,type:type,checked:checked,xfaOn:exportedValue.on,xfaOff:exportedValue.off,"aria-label":ariaLabel(field),"aria-required":!1}};return groupId&&(input.attributes.name=groupId),isRequired(field)&&(input.attributes["aria-required"]=!0,input.attributes.required=!0),_utils.HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[input]})}}class ChoiceList extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"choiceList",!0),this.commitOn=(0,_utils.getStringOption)(attributes.commitOn,["select","exit"]),this.id=attributes.id||"",this.open=(0,_utils.getStringOption)(attributes.open,["userControl","always","multiSelect","onEntry"]),this.textEntry=(0,_utils.getInteger)({data:attributes.textEntry,defaultValue:0,validate:x=>1===x}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.border=null,this.extras=null,this.margin=null}[_symbol_utils.$toHTML](availableSpace){var _field$font,_field$_symbol_utils$2;const style=(0,_html_utils.toStyle)(this,"border","margin"),field=this[_symbol_utils.$getParent]()[_symbol_utils.$getParent](),fontSize=(null===(_field$font=field.font)||void 0===_field$font?void 0:_field$font.size)||10,optionStyle={fontSize:"calc(".concat(fontSize,"px * var(--scale-factor))")},children=[];if(field.items.children.length>0){var _field$value2;const items=field.items;let displayedIndex=0,saveIndex=0;2===items.children.length&&(displayedIndex=items.children[0].save,saveIndex=1-displayedIndex);const displayed=items.children[displayedIndex][_symbol_utils.$toHTML]().html,values=items.children[saveIndex][_symbol_utils.$toHTML]().html;let selected=!1;const value=(null===(_field$value2=field.value)||void 0===_field$value2?void 0:_field$value2[_symbol_utils.$text]())||"";for(let i=0,ii=displayed.length;ix>=0}),this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Connect extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"connect",!0),this.connection=attributes.connection||"",this.id=attributes.id||"",this.ref=attributes.ref||"",this.usage=(0,_utils.getStringOption)(attributes.usage,["exportAndImport","exportOnly","importOnly"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.picture=null}}class ContentArea extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"contentArea",!0),this.h=(0,_utils.getMeasurement)(attributes.h),this.id=attributes.id||"",this.name=attributes.name||"",this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.w=(0,_utils.getMeasurement)(attributes.w),this.x=(0,_utils.getMeasurement)(attributes.x,"0pt"),this.y=(0,_utils.getMeasurement)(attributes.y,"0pt"),this.desc=null,this.extras=null}[_symbol_utils.$toHTML](availableSpace){const style={left:(0,_html_utils.measureToString)(this.x),top:(0,_html_utils.measureToString)(this.y),width:(0,_html_utils.measureToString)(this.w),height:(0,_html_utils.measureToString)(this.h)},classNames=["xfaContentarea"];return(0,_html_utils.isPrintOnly)(this)&&classNames.push("xfaPrintOnly"),_utils.HTMLResult.success({name:"div",children:[],attributes:{style:style,class:classNames,id:this[_symbol_utils.$uid]}})}}class Corner extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"corner",!0),this.id=attributes.id||"",this.inverted=(0,_utils.getInteger)({data:attributes.inverted,defaultValue:0,validate:x=>1===x}),this.join=(0,_utils.getStringOption)(attributes.join,["square","round"]),this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.radius=(0,_utils.getMeasurement)(attributes.radius),this.stroke=(0,_utils.getStringOption)(attributes.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]),this.thickness=(0,_utils.getMeasurement)(attributes.thickness,"0.5pt"),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.color=null,this.extras=null}[_symbol_utils.$toStyle](){const style=(0,_html_utils.toStyle)(this,"visibility");return style.radius=(0,_html_utils.measureToString)("square"===this.join?0:this.radius),style}}class DateElement extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"date"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$finalize](){const date=this[_symbol_utils.$content].trim();this[_symbol_utils.$content]=date?new Date(date):null}[_symbol_utils.$toHTML](availableSpace){return valueToHtml(this[_symbol_utils.$content]?this[_symbol_utils.$content].toString():"")}}class DateTime extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"dateTime"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$finalize](){const date=this[_symbol_utils.$content].trim();this[_symbol_utils.$content]=date?new Date(date):null}[_symbol_utils.$toHTML](availableSpace){return valueToHtml(this[_symbol_utils.$content]?this[_symbol_utils.$content].toString():"")}}class DateTimeEdit extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"dateTimeEdit",!0),this.hScrollPolicy=(0,_utils.getStringOption)(attributes.hScrollPolicy,["auto","off","on"]),this.id=attributes.id||"",this.picker=(0,_utils.getStringOption)(attributes.picker,["host","none"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.border=null,this.comb=null,this.extras=null,this.margin=null}[_symbol_utils.$toHTML](availableSpace){var _field$_symbol_utils$3;const style=(0,_html_utils.toStyle)(this,"border","font","margin"),field=this[_symbol_utils.$getParent]()[_symbol_utils.$getParent](),html={name:"input",attributes:{type:"text",fieldId:field[_symbol_utils.$uid],dataId:(null===(_field$_symbol_utils$3=field[_symbol_utils.$data])||void 0===_field$_symbol_utils$3?void 0:_field$_symbol_utils$3[_symbol_utils.$uid])||field[_symbol_utils.$uid],class:["xfaTextfield"],style:style,"aria-label":ariaLabel(field),"aria-required":!1}};return isRequired(field)&&(html.attributes["aria-required"]=!0,html.attributes.required=!0),_utils.HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[html]})}}class Decimal extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"decimal"),this.fracDigits=(0,_utils.getInteger)({data:attributes.fracDigits,defaultValue:2,validate:x=>!0}),this.id=attributes.id||"",this.leadDigits=(0,_utils.getInteger)({data:attributes.leadDigits,defaultValue:-1,validate:x=>!0}),this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$finalize](){const number=parseFloat(this[_symbol_utils.$content].trim());this[_symbol_utils.$content]=isNaN(number)?null:number}[_symbol_utils.$toHTML](availableSpace){return valueToHtml(null!==this[_symbol_utils.$content]?this[_symbol_utils.$content].toString():"")}}class DefaultUi extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"defaultUi",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null}}class Desc extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"desc",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.boolean=new _xfa_object.XFAObjectArray,this.date=new _xfa_object.XFAObjectArray,this.dateTime=new _xfa_object.XFAObjectArray,this.decimal=new _xfa_object.XFAObjectArray,this.exData=new _xfa_object.XFAObjectArray,this.float=new _xfa_object.XFAObjectArray,this.image=new _xfa_object.XFAObjectArray,this.integer=new _xfa_object.XFAObjectArray,this.text=new _xfa_object.XFAObjectArray,this.time=new _xfa_object.XFAObjectArray}}class DigestMethod extends _xfa_object.OptionObject{constructor(attributes){super(TEMPLATE_NS_ID,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class DigestMethods extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"digestMethods",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.digestMethod=new _xfa_object.XFAObjectArray}}class Draw extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"draw",!0),this.anchorType=(0,_utils.getStringOption)(attributes.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=(0,_utils.getInteger)({data:attributes.colSpan,defaultValue:1,validate:n=>n>=1||-1===n}),this.h=attributes.h?(0,_utils.getMeasurement)(attributes.h):"",this.hAlign=(0,_utils.getStringOption)(attributes.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=attributes.id||"",this.locale=attributes.locale||"",this.maxH=(0,_utils.getMeasurement)(attributes.maxH,"0pt"),this.maxW=(0,_utils.getMeasurement)(attributes.maxW,"0pt"),this.minH=(0,_utils.getMeasurement)(attributes.minH,"0pt"),this.minW=(0,_utils.getMeasurement)(attributes.minW,"0pt"),this.name=attributes.name||"",this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.rotate=(0,_utils.getInteger)({data:attributes.rotate,defaultValue:0,validate:x=>x%90==0}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.w=attributes.w?(0,_utils.getMeasurement)(attributes.w):"",this.x=(0,_utils.getMeasurement)(attributes.x,"0pt"),this.y=(0,_utils.getMeasurement)(attributes.y,"0pt"),this.assist=null,this.border=null,this.caption=null,this.desc=null,this.extras=null,this.font=null,this.keep=null,this.margin=null,this.para=null,this.traversal=null,this.ui=null,this.value=null,this.setProperty=new _xfa_object.XFAObjectArray}[_symbol_utils.$setValue](value){_setValue(this,value)}[_symbol_utils.$toHTML](availableSpace){if(setTabIndex(this),"hidden"===this.presence||"inactive"===this.presence)return _utils.HTMLResult.EMPTY;(0,_html_utils.fixDimensions)(this),this[_symbol_utils.$pushPara]();const savedW=this.w,savedH=this.h,{w:w,h:h,isBroken:isBroken}=(0,_html_utils.layoutNode)(this,availableSpace);if(w&&""===this.w){if(isBroken&&this[_symbol_utils.$getSubformParent]()[_symbol_utils.$isThereMoreWidth]())return this[_symbol_utils.$popPara](),_utils.HTMLResult.FAILURE;this.w=w}if(h&&""===this.h&&(this.h=h),setFirstUnsplittable(this),!(0,_layout.checkDimensions)(this,availableSpace))return this.w=savedW,this.h=savedH,this[_symbol_utils.$popPara](),_utils.HTMLResult.FAILURE;unsetFirstUnsplittable(this);const style=(0,_html_utils.toStyle)(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","border","margin");(0,_html_utils.setMinMaxDimensions)(this,style),style.margin&&(style.padding=style.margin,delete style.margin);const classNames=["xfaDraw"];this.font&&classNames.push("xfaFont"),(0,_html_utils.isPrintOnly)(this)&&classNames.push("xfaPrintOnly");const attributes={style:style,id:this[_symbol_utils.$uid],class:classNames};this.name&&(attributes.xfaName=this.name);const html={name:"div",attributes:attributes,children:[]};applyAssist(this,attributes);const bbox=(0,_html_utils.computeBbox)(this,html,availableSpace),value=this.value?this.value[_symbol_utils.$toHTML](availableSpace).html:null;return null===value?(this.w=savedW,this.h=savedH,this[_symbol_utils.$popPara](),_utils.HTMLResult.success((0,_html_utils.createWrapper)(this,html),bbox)):(html.children.push(value),(0,_html_utils.setPara)(this,style,value),this.w=savedW,this.h=savedH,this[_symbol_utils.$popPara](),_utils.HTMLResult.success((0,_html_utils.createWrapper)(this,html),bbox))}}class Edge extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"edge",!0),this.cap=(0,_utils.getStringOption)(attributes.cap,["square","butt","round"]),this.id=attributes.id||"",this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.stroke=(0,_utils.getStringOption)(attributes.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]),this.thickness=(0,_utils.getMeasurement)(attributes.thickness,"0.5pt"),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.color=null,this.extras=null}[_symbol_utils.$toStyle](){const style=(0,_html_utils.toStyle)(this,"visibility");if(Object.assign(style,{linecap:this.cap,width:(0,_html_utils.measureToString)(this.thickness),color:this.color?this.color[_symbol_utils.$toStyle]():"#000000",style:""}),"visible"!==this.presence)style.style="none";else switch(this.stroke){case"solid":style.style="solid";break;case"dashDot":case"dashDotDot":case"dashed":style.style="dashed";break;case"dotted":style.style="dotted";break;case"embossed":style.style="ridge";break;case"etched":style.style="groove";break;case"lowered":style.style="inset";break;case"raised":style.style="outset"}return style}}class Encoding extends _xfa_object.OptionObject{constructor(attributes){super(TEMPLATE_NS_ID,"encoding",["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1"]),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Encodings extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"encodings",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.encoding=new _xfa_object.XFAObjectArray}}class Encrypt extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"encrypt",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.certificate=null}}class EncryptData extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"encryptData",!0),this.id=attributes.id||"",this.operation=(0,_utils.getStringOption)(attributes.operation,["encrypt","decrypt"]),this.target=attributes.target||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.filter=null,this.manifest=null}}class Encryption extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"encryption",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.certificate=new _xfa_object.XFAObjectArray}}class EncryptionMethod extends _xfa_object.OptionObject{constructor(attributes){super(TEMPLATE_NS_ID,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class EncryptionMethods extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"encryptionMethods",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.encryptionMethod=new _xfa_object.XFAObjectArray}}class Event extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"event",!0),this.activity=(0,_utils.getStringOption)(attributes.activity,["click","change","docClose","docReady","enter","exit","full","indexChange","initialize","mouseDown","mouseEnter","mouseExit","mouseUp","postExecute","postOpen","postPrint","postSave","postSign","postSubmit","preExecute","preOpen","prePrint","preSave","preSign","preSubmit","ready","validationState"]),this.id=attributes.id||"",this.listen=(0,_utils.getStringOption)(attributes.listen,["refOnly","refAndDescendents"]),this.name=attributes.name||"",this.ref=attributes.ref||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.encryptData=null,this.execute=null,this.script=null,this.signData=null,this.submit=null}}class ExData extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"exData"),this.contentType=attributes.contentType||"",this.href=attributes.href||"",this.id=attributes.id||"",this.maxLength=(0,_utils.getInteger)({data:attributes.maxLength,defaultValue:-1,validate:x=>x>=-1}),this.name=attributes.name||"",this.rid=attributes.rid||"",this.transferEncoding=(0,_utils.getStringOption)(attributes.transferEncoding,["none","base64","package"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$isCDATAXml](){return"text/html"===this.contentType}[_symbol_utils.$onChild](child){return("text/html"===this.contentType&&child[_symbol_utils.$namespaceId]===_namespaces.NamespaceIds.xhtml.id||"text/xml"===this.contentType)&&(this[_symbol_utils.$content]=child,!0)}[_symbol_utils.$toHTML](availableSpace){return"text/html"===this.contentType&&this[_symbol_utils.$content]?this[_symbol_utils.$content][_symbol_utils.$toHTML](availableSpace):_utils.HTMLResult.EMPTY}}class ExObject extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"exObject",!0),this.archive=attributes.archive||"",this.classId=attributes.classId||"",this.codeBase=attributes.codeBase||"",this.codeType=attributes.codeType||"",this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.boolean=new _xfa_object.XFAObjectArray,this.date=new _xfa_object.XFAObjectArray,this.dateTime=new _xfa_object.XFAObjectArray,this.decimal=new _xfa_object.XFAObjectArray,this.exData=new _xfa_object.XFAObjectArray,this.exObject=new _xfa_object.XFAObjectArray,this.float=new _xfa_object.XFAObjectArray,this.image=new _xfa_object.XFAObjectArray,this.integer=new _xfa_object.XFAObjectArray,this.text=new _xfa_object.XFAObjectArray,this.time=new _xfa_object.XFAObjectArray}}class ExclGroup extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"exclGroup",!0),this.access=(0,_utils.getStringOption)(attributes.access,["open","nonInteractive","protected","readOnly"]),this.accessKey=attributes.accessKey||"",this.anchorType=(0,_utils.getStringOption)(attributes.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=(0,_utils.getInteger)({data:attributes.colSpan,defaultValue:1,validate:n=>n>=1||-1===n}),this.h=attributes.h?(0,_utils.getMeasurement)(attributes.h):"",this.hAlign=(0,_utils.getStringOption)(attributes.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=attributes.id||"",this.layout=(0,_utils.getStringOption)(attributes.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]),this.maxH=(0,_utils.getMeasurement)(attributes.maxH,"0pt"),this.maxW=(0,_utils.getMeasurement)(attributes.maxW,"0pt"),this.minH=(0,_utils.getMeasurement)(attributes.minH,"0pt"),this.minW=(0,_utils.getMeasurement)(attributes.minW,"0pt"),this.name=attributes.name||"",this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.w=attributes.w?(0,_utils.getMeasurement)(attributes.w):"",this.x=(0,_utils.getMeasurement)(attributes.x,"0pt"),this.y=(0,_utils.getMeasurement)(attributes.y,"0pt"),this.assist=null,this.bind=null,this.border=null,this.calculate=null,this.caption=null,this.desc=null,this.extras=null,this.margin=null,this.para=null,this.traversal=null,this.validate=null,this.connect=new _xfa_object.XFAObjectArray,this.event=new _xfa_object.XFAObjectArray,this.field=new _xfa_object.XFAObjectArray,this.setProperty=new _xfa_object.XFAObjectArray}[_symbol_utils.$isBindable](){return!0}[_symbol_utils.$hasSettableValue](){return!0}[_symbol_utils.$setValue](value){for(const field of this.field.children){if(!field.value){const nodeValue=new Value({});field[_symbol_utils.$appendChild](nodeValue),field.value=nodeValue}field.value[_symbol_utils.$setValue](value)}}[_symbol_utils.$isThereMoreWidth](){return this.layout.endsWith("-tb")&&0===this[_symbol_utils.$extra].attempt&&this[_symbol_utils.$extra].numberInLine>0||this[_symbol_utils.$getParent]()[_symbol_utils.$isThereMoreWidth]()}[_symbol_utils.$isSplittable](){var _parent$layout;const parent=this[_symbol_utils.$getSubformParent]();return!!parent[_symbol_utils.$isSplittable]()&&(void 0!==this[_symbol_utils.$extra]._isSplittable?this[_symbol_utils.$extra]._isSplittable:"position"===this.layout||this.layout.includes("row")?(this[_symbol_utils.$extra]._isSplittable=!1,!1):!(null!==(_parent$layout=parent.layout)&&void 0!==_parent$layout&&_parent$layout.endsWith("-tb")&&0!==parent[_symbol_utils.$extra].numberInLine||(this[_symbol_utils.$extra]._isSplittable=!0,0)))}[_symbol_utils.$flushHTML](){return(0,_layout.flushHTML)(this)}[_symbol_utils.$addHTML](html,bbox){(0,_layout.addHTML)(this,html,bbox)}[_symbol_utils.$getAvailableSpace](){return(0,_layout.getAvailableSpace)(this)}[_symbol_utils.$toHTML](availableSpace){if(setTabIndex(this),"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return _utils.HTMLResult.EMPTY;(0,_html_utils.fixDimensions)(this);const children=[],attributes={id:this[_symbol_utils.$uid],class:[]};(0,_html_utils.setAccess)(this,attributes.class),this[_symbol_utils.$extra]||(this[_symbol_utils.$extra]=Object.create(null)),Object.assign(this[_symbol_utils.$extra],{children:children,attributes:attributes,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,availableSpace.width),height:Math.min(this.h||1/0,availableSpace.height)},width:0,height:0,prevHeight:0,currentWidth:0});const isSplittable=this[_symbol_utils.$isSplittable]();if(isSplittable||setFirstUnsplittable(this),!(0,_layout.checkDimensions)(this,availableSpace))return _utils.HTMLResult.FAILURE;const filter=new Set(["field"]);if(this.layout.includes("row")){const columnWidths=this[_symbol_utils.$getSubformParent]().columnWidths;Array.isArray(columnWidths)&&columnWidths.length>0&&(this[_symbol_utils.$extra].columnWidths=columnWidths,this[_symbol_utils.$extra].currentColumn=0)}const style=(0,_html_utils.toStyle)(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),classNames=["xfaExclgroup"],cl=(0,_html_utils.layoutClass)(this);cl&&classNames.push(cl),(0,_html_utils.isPrintOnly)(this)&&classNames.push("xfaPrintOnly"),attributes.style=style,attributes.class=classNames,this.name&&(attributes.xfaName=this.name),this[_symbol_utils.$pushPara]();const isLrTb="lr-tb"===this.layout||"rl-tb"===this.layout,maxRun=isLrTb?2:1;for(;this[_symbol_utils.$extra].attemptn>=1||-1===n}),this.h=attributes.h?(0,_utils.getMeasurement)(attributes.h):"",this.hAlign=(0,_utils.getStringOption)(attributes.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=attributes.id||"",this.locale=attributes.locale||"",this.maxH=(0,_utils.getMeasurement)(attributes.maxH,"0pt"),this.maxW=(0,_utils.getMeasurement)(attributes.maxW,"0pt"),this.minH=(0,_utils.getMeasurement)(attributes.minH,"0pt"),this.minW=(0,_utils.getMeasurement)(attributes.minW,"0pt"),this.name=attributes.name||"",this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.rotate=(0,_utils.getInteger)({data:attributes.rotate,defaultValue:0,validate:x=>x%90==0}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.w=attributes.w?(0,_utils.getMeasurement)(attributes.w):"",this.x=(0,_utils.getMeasurement)(attributes.x,"0pt"),this.y=(0,_utils.getMeasurement)(attributes.y,"0pt"),this.assist=null,this.bind=null,this.border=null,this.calculate=null,this.caption=null,this.desc=null,this.extras=null,this.font=null,this.format=null,this.items=new _xfa_object.XFAObjectArray(2),this.keep=null,this.margin=null,this.para=null,this.traversal=null,this.ui=null,this.validate=null,this.value=null,this.bindItems=new _xfa_object.XFAObjectArray,this.connect=new _xfa_object.XFAObjectArray,this.event=new _xfa_object.XFAObjectArray,this.setProperty=new _xfa_object.XFAObjectArray}[_symbol_utils.$isBindable](){return!0}[_symbol_utils.$setValue](value){_setValue(this,value)}[_symbol_utils.$toHTML](availableSpace){var _ui$children2;if(setTabIndex(this),!this.ui){let node;switch(this.ui=new Ui({}),this.ui[_symbol_utils.$globalData]=this[_symbol_utils.$globalData],this[_symbol_utils.$appendChild](this.ui),this.items.children.length){case 0:node=new TextEdit({}),this.ui.textEdit=node;break;case 1:node=new CheckButton({}),this.ui.checkButton=node;break;case 2:node=new ChoiceList({}),this.ui.choiceList=node}this.ui[_symbol_utils.$appendChild](node)}if(!this.ui||"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return _utils.HTMLResult.EMPTY;this.caption&&delete this.caption[_symbol_utils.$extra],this[_symbol_utils.$pushPara]();const caption=this.caption?this.caption[_symbol_utils.$toHTML](availableSpace).html:null,savedW=this.w,savedH=this.h;let marginH=0,marginV=0;this.margin&&(marginH=this.margin.leftInset+this.margin.rightInset,marginV=this.margin.topInset+this.margin.bottomInset);let borderDims=null;if(""===this.w||""===this.h){let width=null,height=null,uiW=0,uiH=0;if(this.ui.checkButton)uiW=uiH=this.ui.checkButton.size;else{const{w:w,h:h}=(0,_html_utils.layoutNode)(this,availableSpace);null!==w?(uiW=w,uiH=h):uiH=(0,_fonts.getMetrics)(this.font,!0).lineNoGap}if(borderDims=getBorderDims(this.ui[_symbol_utils.$getExtra]()),uiW+=borderDims.w,uiH+=borderDims.h,this.caption){const{w:w,h:h,isBroken:isBroken}=this.caption[_symbol_utils.$getExtra](availableSpace);if(isBroken&&this[_symbol_utils.$getSubformParent]()[_symbol_utils.$isThereMoreWidth]())return this[_symbol_utils.$popPara](),_utils.HTMLResult.FAILURE;switch(width=w,height=h,this.caption.placement){case"left":case"right":case"inline":width+=uiW;break;case"top":case"bottom":height+=uiH}}else width=uiW,height=uiH;width&&""===this.w&&(width+=marginH,this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1x>=1&&x<=5}),this.appearanceFilter=null,this.certificates=null,this.digestMethods=null,this.encodings=null,this.encryptionMethods=null,this.handler=null,this.lockDocument=null,this.mdp=null,this.reasons=null,this.timeStamp=null}}class Float extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"float"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$finalize](){const number=parseFloat(this[_symbol_utils.$content].trim());this[_symbol_utils.$content]=isNaN(number)?null:number}[_symbol_utils.$toHTML](availableSpace){return valueToHtml(null!==this[_symbol_utils.$content]?this[_symbol_utils.$content].toString():"")}}class Font extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"font",!0),this.baselineShift=(0,_utils.getMeasurement)(attributes.baselineShift),this.fontHorizontalScale=(0,_utils.getFloat)({data:attributes.fontHorizontalScale,defaultValue:100,validate:x=>x>=0}),this.fontVerticalScale=(0,_utils.getFloat)({data:attributes.fontVerticalScale,defaultValue:100,validate:x=>x>=0}),this.id=attributes.id||"",this.kerningMode=(0,_utils.getStringOption)(attributes.kerningMode,["none","pair"]),this.letterSpacing=(0,_utils.getMeasurement)(attributes.letterSpacing,"0"),this.lineThrough=(0,_utils.getInteger)({data:attributes.lineThrough,defaultValue:0,validate:x=>1===x||2===x}),this.lineThroughPeriod=(0,_utils.getStringOption)(attributes.lineThroughPeriod,["all","word"]),this.overline=(0,_utils.getInteger)({data:attributes.overline,defaultValue:0,validate:x=>1===x||2===x}),this.overlinePeriod=(0,_utils.getStringOption)(attributes.overlinePeriod,["all","word"]),this.posture=(0,_utils.getStringOption)(attributes.posture,["normal","italic"]),this.size=(0,_utils.getMeasurement)(attributes.size,"10pt"),this.typeface=attributes.typeface||"Courier",this.underline=(0,_utils.getInteger)({data:attributes.underline,defaultValue:0,validate:x=>1===x||2===x}),this.underlinePeriod=(0,_utils.getStringOption)(attributes.underlinePeriod,["all","word"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.weight=(0,_utils.getStringOption)(attributes.weight,["normal","bold"]),this.extras=null,this.fill=null}[_symbol_utils.$clean](builder){super[_symbol_utils.$clean](builder),this[_symbol_utils.$globalData].usedTypefaces.add(this.typeface)}[_symbol_utils.$toStyle](){const style=(0,_html_utils.toStyle)(this,"fill"),color=style.color;return color&&("#000000"===color?delete style.color:color.startsWith("#")||(style.background=color,style.backgroundClip="text",style.color="transparent")),this.baselineShift&&(style.verticalAlign=(0,_html_utils.measureToString)(this.baselineShift)),style.fontKerning="none"===this.kerningMode?"none":"normal",style.letterSpacing=(0,_html_utils.measureToString)(this.letterSpacing),0!==this.lineThrough&&(style.textDecoration="line-through",2===this.lineThrough&&(style.textDecorationStyle="double")),0!==this.overline&&(style.textDecoration="overline",2===this.overline&&(style.textDecorationStyle="double")),style.fontStyle=this.posture,style.fontSize=(0,_html_utils.measureToString)(.99*this.size),(0,_html_utils.setFontFamily)(this,this,this[_symbol_utils.$globalData].fontFinder,style),0!==this.underline&&(style.textDecoration="underline",2===this.underline&&(style.textDecorationStyle="double")),style.fontWeight=this.weight,style}}class Format extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"format",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.picture=null}}class Handler extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"handler"),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Hyphenation extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"hyphenation"),this.excludeAllCaps=(0,_utils.getInteger)({data:attributes.excludeAllCaps,defaultValue:0,validate:x=>1===x}),this.excludeInitialCap=(0,_utils.getInteger)({data:attributes.excludeInitialCap,defaultValue:0,validate:x=>1===x}),this.hyphenate=(0,_utils.getInteger)({data:attributes.hyphenate,defaultValue:0,validate:x=>1===x}),this.id=attributes.id||"",this.pushCharacterCount=(0,_utils.getInteger)({data:attributes.pushCharacterCount,defaultValue:3,validate:x=>x>=0}),this.remainCharacterCount=(0,_utils.getInteger)({data:attributes.remainCharacterCount,defaultValue:3,validate:x=>x>=0}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.wordCharacterCount=(0,_utils.getInteger)({data:attributes.wordCharacterCount,defaultValue:7,validate:x=>x>=0})}}class Image extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"image"),this.aspect=(0,_utils.getStringOption)(attributes.aspect,["fit","actual","height","none","width"]),this.contentType=attributes.contentType||"",this.href=attributes.href||"",this.id=attributes.id||"",this.name=attributes.name||"",this.transferEncoding=(0,_utils.getStringOption)(attributes.transferEncoding,["base64","none","package"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$toHTML](){if(this.contentType&&!MIMES.has(this.contentType.toLowerCase()))return _utils.HTMLResult.EMPTY;let buffer=this[_symbol_utils.$globalData].images&&this[_symbol_utils.$globalData].images.get(this.href);if(!buffer&&(this.href||!this[_symbol_utils.$content]))return _utils.HTMLResult.EMPTY;if(buffer||"base64"!==this.transferEncoding||(buffer=(0,_util.stringToBytes)(atob(this[_symbol_utils.$content]))),!buffer)return _utils.HTMLResult.EMPTY;if(!this.contentType){for(const[header,type]of IMAGES_HEADERS)if(buffer.length>header.length&&header.every(((x,i)=>x===buffer[i]))){this.contentType=type;break}if(!this.contentType)return _utils.HTMLResult.EMPTY}const blob=new Blob([buffer],{type:this.contentType});let style;switch(this.aspect){case"fit":case"actual":break;case"height":style={height:"100%",objectFit:"fill"};break;case"none":style={width:"100%",height:"100%",objectFit:"fill"};break;case"width":style={width:"100%",objectFit:"fill"}}const parent=this[_symbol_utils.$getParent]();return _utils.HTMLResult.success({name:"img",attributes:{class:["xfaImage"],style:style,src:URL.createObjectURL(blob),alt:parent?ariaLabel(parent[_symbol_utils.$getParent]()):null}})}}class ImageEdit extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"imageEdit",!0),this.data=(0,_utils.getStringOption)(attributes.data,["link","embed"]),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.border=null,this.extras=null,this.margin=null}[_symbol_utils.$toHTML](availableSpace){return"embed"===this.data?_utils.HTMLResult.success({name:"div",children:[],attributes:{}}):_utils.HTMLResult.EMPTY}}class Integer extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"integer"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$finalize](){const number=parseInt(this[_symbol_utils.$content].trim(),10);this[_symbol_utils.$content]=isNaN(number)?null:number}[_symbol_utils.$toHTML](availableSpace){return valueToHtml(null!==this[_symbol_utils.$content]?this[_symbol_utils.$content].toString():"")}}class Issuers extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"issuers",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.certificate=new _xfa_object.XFAObjectArray}}class Items extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"items",!0),this.id=attributes.id||"",this.name=attributes.name||"",this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.ref=attributes.ref||"",this.save=(0,_utils.getInteger)({data:attributes.save,defaultValue:0,validate:x=>1===x}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.boolean=new _xfa_object.XFAObjectArray,this.date=new _xfa_object.XFAObjectArray,this.dateTime=new _xfa_object.XFAObjectArray,this.decimal=new _xfa_object.XFAObjectArray,this.exData=new _xfa_object.XFAObjectArray,this.float=new _xfa_object.XFAObjectArray,this.image=new _xfa_object.XFAObjectArray,this.integer=new _xfa_object.XFAObjectArray,this.text=new _xfa_object.XFAObjectArray,this.time=new _xfa_object.XFAObjectArray}[_symbol_utils.$toHTML](){const output=[];for(const child of this[_symbol_utils.$getChildren]())output.push(child[_symbol_utils.$text]());return _utils.HTMLResult.success(output)}}exports.Items=Items;class Keep extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"keep",!0),this.id=attributes.id||"";const options=["none","contentArea","pageArea"];this.intact=(0,_utils.getStringOption)(attributes.intact,options),this.next=(0,_utils.getStringOption)(attributes.next,options),this.previous=(0,_utils.getStringOption)(attributes.previous,options),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null}}class KeyUsage extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"keyUsage");const options=["","yes","no"];this.crlSign=(0,_utils.getStringOption)(attributes.crlSign,options),this.dataEncipherment=(0,_utils.getStringOption)(attributes.dataEncipherment,options),this.decipherOnly=(0,_utils.getStringOption)(attributes.decipherOnly,options),this.digitalSignature=(0,_utils.getStringOption)(attributes.digitalSignature,options),this.encipherOnly=(0,_utils.getStringOption)(attributes.encipherOnly,options),this.id=attributes.id||"",this.keyAgreement=(0,_utils.getStringOption)(attributes.keyAgreement,options),this.keyCertSign=(0,_utils.getStringOption)(attributes.keyCertSign,options),this.keyEncipherment=(0,_utils.getStringOption)(attributes.keyEncipherment,options),this.nonRepudiation=(0,_utils.getStringOption)(attributes.nonRepudiation,options),this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Line extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"line",!0),this.hand=(0,_utils.getStringOption)(attributes.hand,["even","left","right"]),this.id=attributes.id||"",this.slope=(0,_utils.getStringOption)(attributes.slope,["\\","/"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.edge=null}[_symbol_utils.$toHTML](){const parent=this[_symbol_utils.$getParent]()[_symbol_utils.$getParent](),edge=this.edge||new Edge({}),edgeStyle=edge[_symbol_utils.$toStyle](),style=Object.create(null),thickness="visible"===edge.presence?edge.thickness:0;let x1,y1,x2,y2;style.strokeWidth=(0,_html_utils.measureToString)(thickness),style.stroke=edgeStyle.color;let width="100%",height="100%";parent.w<=thickness?([x1,y1,x2,y2]=["50%",0,"50%","100%"],width=style.strokeWidth):parent.h<=thickness?([x1,y1,x2,y2]=[0,"50%","100%","50%"],height=style.strokeWidth):"\\"===this.slope?[x1,y1,x2,y2]=[0,0,"100%","100%"]:[x1,y1,x2,y2]=[0,"100%","100%",0];const svg={name:"svg",children:[{name:"line",attributes:{xmlns:SVG_NS,x1:x1,y1:y1,x2:x2,y2:y2,style:style}}],attributes:{xmlns:SVG_NS,width:width,height:height,style:{overflow:"visible"}}};return hasMargin(parent)?_utils.HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[svg]}):(svg.attributes.style.position="absolute",_utils.HTMLResult.success(svg))}}class Linear extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"linear",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["toRight","toBottom","toLeft","toTop"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.color=null,this.extras=null}[_symbol_utils.$toStyle](startColor){startColor=startColor?startColor[_symbol_utils.$toStyle]():"#FFFFFF";const transf=this.type.replace(/([RBLT])/," $1").toLowerCase(),endColor=this.color?this.color[_symbol_utils.$toStyle]():"#000000";return"linear-gradient(".concat(transf,", ").concat(startColor,", ").concat(endColor,")")}}class LockDocument extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"lockDocument"),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=(0,_utils.getStringOption)(this[_symbol_utils.$content],["auto","0","1"])}}class Manifest extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"manifest",!0),this.action=(0,_utils.getStringOption)(attributes.action,["include","all","exclude"]),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.ref=new _xfa_object.XFAObjectArray}}class Margin extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"margin",!0),this.bottomInset=(0,_utils.getMeasurement)(attributes.bottomInset,"0"),this.id=attributes.id||"",this.leftInset=(0,_utils.getMeasurement)(attributes.leftInset,"0"),this.rightInset=(0,_utils.getMeasurement)(attributes.rightInset,"0"),this.topInset=(0,_utils.getMeasurement)(attributes.topInset,"0"),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null}[_symbol_utils.$toStyle](){return{margin:(0,_html_utils.measureToString)(this.topInset)+" "+(0,_html_utils.measureToString)(this.rightInset)+" "+(0,_html_utils.measureToString)(this.bottomInset)+" "+(0,_html_utils.measureToString)(this.leftInset)}}}class Mdp extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"mdp"),this.id=attributes.id||"",this.permissions=(0,_utils.getInteger)({data:attributes.permissions,defaultValue:2,validate:x=>1===x||3===x}),this.signatureType=(0,_utils.getStringOption)(attributes.signatureType,["filler","author"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Medium extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"medium"),this.id=attributes.id||"",this.imagingBBox=(0,_utils.getBBox)(attributes.imagingBBox),this.long=(0,_utils.getMeasurement)(attributes.long),this.orientation=(0,_utils.getStringOption)(attributes.orientation,["portrait","landscape"]),this.short=(0,_utils.getMeasurement)(attributes.short),this.stock=attributes.stock||"",this.trayIn=(0,_utils.getStringOption)(attributes.trayIn,["auto","delegate","pageFront"]),this.trayOut=(0,_utils.getStringOption)(attributes.trayOut,["auto","delegate"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Message extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"message",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.text=new _xfa_object.XFAObjectArray}}class NumericEdit extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"numericEdit",!0),this.hScrollPolicy=(0,_utils.getStringOption)(attributes.hScrollPolicy,["auto","off","on"]),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.border=null,this.comb=null,this.extras=null,this.margin=null}[_symbol_utils.$toHTML](availableSpace){var _field$_symbol_utils$4;const style=(0,_html_utils.toStyle)(this,"border","font","margin"),field=this[_symbol_utils.$getParent]()[_symbol_utils.$getParent](),html={name:"input",attributes:{type:"text",fieldId:field[_symbol_utils.$uid],dataId:(null===(_field$_symbol_utils$4=field[_symbol_utils.$data])||void 0===_field$_symbol_utils$4?void 0:_field$_symbol_utils$4[_symbol_utils.$uid])||field[_symbol_utils.$uid],class:["xfaTextfield"],style:style,"aria-label":ariaLabel(field),"aria-required":!1}};return isRequired(field)&&(html.attributes["aria-required"]=!0,html.attributes.required=!0),_utils.HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[html]})}}class Occur extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"occur",!0),this.id=attributes.id||"",this.initial=""!==attributes.initial?(0,_utils.getInteger)({data:attributes.initial,defaultValue:"",validate:x=>!0}):"",this.max=""!==attributes.max?(0,_utils.getInteger)({data:attributes.max,defaultValue:1,validate:x=>!0}):"",this.min=""!==attributes.min?(0,_utils.getInteger)({data:attributes.min,defaultValue:1,validate:x=>!0}):"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null}[_symbol_utils.$clean](){const parent=this[_symbol_utils.$getParent](),originalMin=this.min;""===this.min&&(this.min=parent instanceof PageArea||parent instanceof PageSet?0:1),""===this.max&&(this.max=""===originalMin?parent instanceof PageArea||parent instanceof PageSet?-1:1:this.min),-1!==this.max&&this.max!0}),this.name=attributes.name||"",this.numbered=(0,_utils.getInteger)({data:attributes.numbered,defaultValue:1,validate:x=>!0}),this.oddOrEven=(0,_utils.getStringOption)(attributes.oddOrEven,["any","even","odd"]),this.pagePosition=(0,_utils.getStringOption)(attributes.pagePosition,["any","first","last","only","rest"]),this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.desc=null,this.extras=null,this.medium=null,this.occur=null,this.area=new _xfa_object.XFAObjectArray,this.contentArea=new _xfa_object.XFAObjectArray,this.draw=new _xfa_object.XFAObjectArray,this.exclGroup=new _xfa_object.XFAObjectArray,this.field=new _xfa_object.XFAObjectArray,this.subform=new _xfa_object.XFAObjectArray}[_symbol_utils.$isUsable](){return this[_symbol_utils.$extra]?!this.occur||-1===this.occur.max||this[_symbol_utils.$extra].numberOfUsep.oddOrEven===parity&&p.pagePosition===position));return page||(page=this.pageArea.children.find((p=>"any"===p.oddOrEven&&p.pagePosition===position)),page||(page=this.pageArea.children.find((p=>"any"===p.oddOrEven&&"any"===p.pagePosition)),page||this.pageArea.children[0]))}}class Para extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"para",!0),this.hAlign=(0,_utils.getStringOption)(attributes.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=attributes.id||"",this.lineHeight=attributes.lineHeight?(0,_utils.getMeasurement)(attributes.lineHeight,"0pt"):"",this.marginLeft=attributes.marginLeft?(0,_utils.getMeasurement)(attributes.marginLeft,"0pt"):"",this.marginRight=attributes.marginRight?(0,_utils.getMeasurement)(attributes.marginRight,"0pt"):"",this.orphans=(0,_utils.getInteger)({data:attributes.orphans,defaultValue:0,validate:x=>x>=0}),this.preserve=attributes.preserve||"",this.radixOffset=attributes.radixOffset?(0,_utils.getMeasurement)(attributes.radixOffset,"0pt"):"",this.spaceAbove=attributes.spaceAbove?(0,_utils.getMeasurement)(attributes.spaceAbove,"0pt"):"",this.spaceBelow=attributes.spaceBelow?(0,_utils.getMeasurement)(attributes.spaceBelow,"0pt"):"",this.tabDefault=attributes.tabDefault?(0,_utils.getMeasurement)(this.tabDefault):"",this.tabStops=(attributes.tabStops||"").trim().split(/\s+/).map(((x,i)=>i%2==1?(0,_utils.getMeasurement)(x):x)),this.textIndent=attributes.textIndent?(0,_utils.getMeasurement)(attributes.textIndent,"0pt"):"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.vAlign=(0,_utils.getStringOption)(attributes.vAlign,["top","bottom","middle"]),this.widows=(0,_utils.getInteger)({data:attributes.widows,defaultValue:0,validate:x=>x>=0}),this.hyphenation=null}[_symbol_utils.$toStyle](){const style=(0,_html_utils.toStyle)(this,"hAlign");return""!==this.marginLeft&&(style.paddingLeft=(0,_html_utils.measureToString)(this.marginLeft)),""!==this.marginRight&&(style.paddingight=(0,_html_utils.measureToString)(this.marginRight)),""!==this.spaceAbove&&(style.paddingTop=(0,_html_utils.measureToString)(this.spaceAbove)),""!==this.spaceBelow&&(style.paddingBottom=(0,_html_utils.measureToString)(this.spaceBelow)),""!==this.textIndent&&(style.textIndent=(0,_html_utils.measureToString)(this.textIndent),(0,_html_utils.fixTextIndent)(style)),this.lineHeight>0&&(style.lineHeight=(0,_html_utils.measureToString)(this.lineHeight)),""!==this.tabDefault&&(style.tabSize=(0,_html_utils.measureToString)(this.tabDefault)),this.tabStops.length,this.hyphenatation&&Object.assign(style,this.hyphenatation[_symbol_utils.$toStyle]()),style}}class PasswordEdit extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"passwordEdit",!0),this.hScrollPolicy=(0,_utils.getStringOption)(attributes.hScrollPolicy,["auto","off","on"]),this.id=attributes.id||"",this.passwordChar=attributes.passwordChar||"*",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.border=null,this.extras=null,this.margin=null}}class Pattern extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"pattern",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["crossHatch","crossDiagonal","diagonalLeft","diagonalRight","horizontal","vertical"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.color=null,this.extras=null}[_symbol_utils.$toStyle](startColor){startColor=startColor?startColor[_symbol_utils.$toStyle]():"#FFFFFF";const endColor=this.color?this.color[_symbol_utils.$toStyle]():"#000000",cmd="repeating-linear-gradient",colors="".concat(startColor,",").concat(startColor," ").concat(5,"px,").concat(endColor," ").concat(5,"px,").concat(endColor," ").concat(10,"px");switch(this.type){case"crossHatch":return"".concat(cmd,"(to top,").concat(colors,") ").concat(cmd,"(to right,").concat(colors,")");case"crossDiagonal":return"".concat(cmd,"(45deg,").concat(colors,") ").concat(cmd,"(-45deg,").concat(colors,")");case"diagonalLeft":return"".concat(cmd,"(45deg,").concat(colors,")");case"diagonalRight":return"".concat(cmd,"(-45deg,").concat(colors,")");case"horizontal":return"".concat(cmd,"(to top,").concat(colors,")");case"vertical":return"".concat(cmd,"(to right,").concat(colors,")")}return""}}class Picture extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"picture"),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Proto extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"proto",!0),this.appearanceFilter=new _xfa_object.XFAObjectArray,this.arc=new _xfa_object.XFAObjectArray,this.area=new _xfa_object.XFAObjectArray,this.assist=new _xfa_object.XFAObjectArray,this.barcode=new _xfa_object.XFAObjectArray,this.bindItems=new _xfa_object.XFAObjectArray,this.bookend=new _xfa_object.XFAObjectArray,this.boolean=new _xfa_object.XFAObjectArray,this.border=new _xfa_object.XFAObjectArray,this.break=new _xfa_object.XFAObjectArray,this.breakAfter=new _xfa_object.XFAObjectArray,this.breakBefore=new _xfa_object.XFAObjectArray,this.button=new _xfa_object.XFAObjectArray,this.calculate=new _xfa_object.XFAObjectArray,this.caption=new _xfa_object.XFAObjectArray,this.certificate=new _xfa_object.XFAObjectArray,this.certificates=new _xfa_object.XFAObjectArray,this.checkButton=new _xfa_object.XFAObjectArray,this.choiceList=new _xfa_object.XFAObjectArray,this.color=new _xfa_object.XFAObjectArray,this.comb=new _xfa_object.XFAObjectArray,this.connect=new _xfa_object.XFAObjectArray,this.contentArea=new _xfa_object.XFAObjectArray,this.corner=new _xfa_object.XFAObjectArray,this.date=new _xfa_object.XFAObjectArray,this.dateTime=new _xfa_object.XFAObjectArray,this.dateTimeEdit=new _xfa_object.XFAObjectArray,this.decimal=new _xfa_object.XFAObjectArray,this.defaultUi=new _xfa_object.XFAObjectArray,this.desc=new _xfa_object.XFAObjectArray,this.digestMethod=new _xfa_object.XFAObjectArray,this.digestMethods=new _xfa_object.XFAObjectArray,this.draw=new _xfa_object.XFAObjectArray,this.edge=new _xfa_object.XFAObjectArray,this.encoding=new _xfa_object.XFAObjectArray,this.encodings=new _xfa_object.XFAObjectArray,this.encrypt=new _xfa_object.XFAObjectArray,this.encryptData=new _xfa_object.XFAObjectArray,this.encryption=new _xfa_object.XFAObjectArray,this.encryptionMethod=new _xfa_object.XFAObjectArray,this.encryptionMethods=new _xfa_object.XFAObjectArray,this.event=new _xfa_object.XFAObjectArray,this.exData=new _xfa_object.XFAObjectArray,this.exObject=new _xfa_object.XFAObjectArray,this.exclGroup=new _xfa_object.XFAObjectArray,this.execute=new _xfa_object.XFAObjectArray,this.extras=new _xfa_object.XFAObjectArray,this.field=new _xfa_object.XFAObjectArray,this.fill=new _xfa_object.XFAObjectArray,this.filter=new _xfa_object.XFAObjectArray,this.float=new _xfa_object.XFAObjectArray,this.font=new _xfa_object.XFAObjectArray,this.format=new _xfa_object.XFAObjectArray,this.handler=new _xfa_object.XFAObjectArray,this.hyphenation=new _xfa_object.XFAObjectArray,this.image=new _xfa_object.XFAObjectArray,this.imageEdit=new _xfa_object.XFAObjectArray,this.integer=new _xfa_object.XFAObjectArray,this.issuers=new _xfa_object.XFAObjectArray,this.items=new _xfa_object.XFAObjectArray,this.keep=new _xfa_object.XFAObjectArray,this.keyUsage=new _xfa_object.XFAObjectArray,this.line=new _xfa_object.XFAObjectArray,this.linear=new _xfa_object.XFAObjectArray,this.lockDocument=new _xfa_object.XFAObjectArray,this.manifest=new _xfa_object.XFAObjectArray,this.margin=new _xfa_object.XFAObjectArray,this.mdp=new _xfa_object.XFAObjectArray,this.medium=new _xfa_object.XFAObjectArray,this.message=new _xfa_object.XFAObjectArray,this.numericEdit=new _xfa_object.XFAObjectArray,this.occur=new _xfa_object.XFAObjectArray,this.oid=new _xfa_object.XFAObjectArray,this.oids=new _xfa_object.XFAObjectArray,this.overflow=new _xfa_object.XFAObjectArray,this.pageArea=new _xfa_object.XFAObjectArray,this.pageSet=new _xfa_object.XFAObjectArray,this.para=new _xfa_object.XFAObjectArray,this.passwordEdit=new _xfa_object.XFAObjectArray,this.pattern=new _xfa_object.XFAObjectArray,this.picture=new _xfa_object.XFAObjectArray,this.radial=new _xfa_object.XFAObjectArray,this.reason=new _xfa_object.XFAObjectArray,this.reasons=new _xfa_object.XFAObjectArray,this.rectangle=new _xfa_object.XFAObjectArray,this.ref=new _xfa_object.XFAObjectArray,this.script=new _xfa_object.XFAObjectArray,this.setProperty=new _xfa_object.XFAObjectArray,this.signData=new _xfa_object.XFAObjectArray,this.signature=new _xfa_object.XFAObjectArray,this.signing=new _xfa_object.XFAObjectArray,this.solid=new _xfa_object.XFAObjectArray,this.speak=new _xfa_object.XFAObjectArray,this.stipple=new _xfa_object.XFAObjectArray,this.subform=new _xfa_object.XFAObjectArray,this.subformSet=new _xfa_object.XFAObjectArray,this.subjectDN=new _xfa_object.XFAObjectArray,this.subjectDNs=new _xfa_object.XFAObjectArray,this.submit=new _xfa_object.XFAObjectArray,this.text=new _xfa_object.XFAObjectArray,this.textEdit=new _xfa_object.XFAObjectArray,this.time=new _xfa_object.XFAObjectArray,this.timeStamp=new _xfa_object.XFAObjectArray,this.toolTip=new _xfa_object.XFAObjectArray,this.traversal=new _xfa_object.XFAObjectArray,this.traverse=new _xfa_object.XFAObjectArray,this.ui=new _xfa_object.XFAObjectArray,this.validate=new _xfa_object.XFAObjectArray,this.value=new _xfa_object.XFAObjectArray,this.variables=new _xfa_object.XFAObjectArray}}class Radial extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"radial",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["toEdge","toCenter"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.color=null,this.extras=null}[_symbol_utils.$toStyle](startColor){startColor=startColor?startColor[_symbol_utils.$toStyle]():"#FFFFFF";const endColor=this.color?this.color[_symbol_utils.$toStyle]():"#000000",colors="toEdge"===this.type?"".concat(startColor,",").concat(endColor):"".concat(endColor,",").concat(startColor);return"radial-gradient(circle at center, ".concat(colors,")")}}class Reason extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"reason"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Reasons extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"reasons",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.reason=new _xfa_object.XFAObjectArray}}class Rectangle extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"rectangle",!0),this.hand=(0,_utils.getStringOption)(attributes.hand,["even","left","right"]),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.corner=new _xfa_object.XFAObjectArray(4),this.edge=new _xfa_object.XFAObjectArray(4),this.fill=null}[_symbol_utils.$toHTML](){var _this$fill3;const edge=this.edge.children.length?this.edge.children[0]:new Edge({}),edgeStyle=edge[_symbol_utils.$toStyle](),style=Object.create(null);"visible"===(null===(_this$fill3=this.fill)||void 0===_this$fill3?void 0:_this$fill3.presence)?Object.assign(style,this.fill[_symbol_utils.$toStyle]()):style.fill="transparent",style.strokeWidth=(0,_html_utils.measureToString)("visible"===edge.presence?edge.thickness:0),style.stroke=edgeStyle.color;const cornerStyle=(this.corner.children.length?this.corner.children[0]:new Corner({}))[_symbol_utils.$toStyle](),svg={name:"svg",children:[{name:"rect",attributes:{xmlns:SVG_NS,width:"100%",height:"100%",x:0,y:0,rx:cornerStyle.radius,ry:cornerStyle.radius,style:style}}],attributes:{xmlns:SVG_NS,style:{overflow:"visible"},width:"100%",height:"100%"}};return hasMargin(this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]())?_utils.HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[svg]}):(svg.attributes.style.position="absolute",_utils.HTMLResult.success(svg))}}class RefElement extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"ref"),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Script extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"script"),this.binding=attributes.binding||"",this.contentType=attributes.contentType||"",this.id=attributes.id||"",this.name=attributes.name||"",this.runAt=(0,_utils.getStringOption)(attributes.runAt,["client","both","server"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class SetProperty extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"setProperty"),this.connection=attributes.connection||"",this.ref=attributes.ref||"",this.target=attributes.target||""}}exports.SetProperty=SetProperty;class SignData extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"signData",!0),this.id=attributes.id||"",this.operation=(0,_utils.getStringOption)(attributes.operation,["sign","clear","verify"]),this.ref=attributes.ref||"",this.target=attributes.target||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.filter=null,this.manifest=null}}class Signature extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"signature",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["PDF1.3","PDF1.6"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.border=null,this.extras=null,this.filter=null,this.manifest=null,this.margin=null}}class Signing extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"signing",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.certificate=new _xfa_object.XFAObjectArray}}class Solid extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"solid",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null}[_symbol_utils.$toStyle](startColor){return startColor?startColor[_symbol_utils.$toStyle]():"#FFFFFF"}}class Speak extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"speak"),this.disable=(0,_utils.getInteger)({data:attributes.disable,defaultValue:0,validate:x=>1===x}),this.id=attributes.id||"",this.priority=(0,_utils.getStringOption)(attributes.priority,["custom","caption","name","toolTip"]),this.rid=attributes.rid||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Stipple extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"stipple",!0),this.id=attributes.id||"",this.rate=(0,_utils.getInteger)({data:attributes.rate,defaultValue:50,validate:x=>x>=0&&x<=100}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.color=null,this.extras=null}[_symbol_utils.$toStyle](bgColor){const alpha=this.rate/100;return _util.Util.makeHexColor(Math.round(bgColor.value.r*(1-alpha)+this.value.r*alpha),Math.round(bgColor.value.g*(1-alpha)+this.value.g*alpha),Math.round(bgColor.value.b*(1-alpha)+this.value.b*alpha))}}class Subform extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"subform",!0),this.access=(0,_utils.getStringOption)(attributes.access,["open","nonInteractive","protected","readOnly"]),this.allowMacro=(0,_utils.getInteger)({data:attributes.allowMacro,defaultValue:0,validate:x=>1===x}),this.anchorType=(0,_utils.getStringOption)(attributes.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]),this.colSpan=(0,_utils.getInteger)({data:attributes.colSpan,defaultValue:1,validate:n=>n>=1||-1===n}),this.columnWidths=(attributes.columnWidths||"").trim().split(/\s+/).map((x=>"-1"===x?-1:(0,_utils.getMeasurement)(x))),this.h=attributes.h?(0,_utils.getMeasurement)(attributes.h):"",this.hAlign=(0,_utils.getStringOption)(attributes.hAlign,["left","center","justify","justifyAll","radix","right"]),this.id=attributes.id||"",this.layout=(0,_utils.getStringOption)(attributes.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]),this.locale=attributes.locale||"",this.maxH=(0,_utils.getMeasurement)(attributes.maxH,"0pt"),this.maxW=(0,_utils.getMeasurement)(attributes.maxW,"0pt"),this.mergeMode=(0,_utils.getStringOption)(attributes.mergeMode,["consumeData","matchTemplate"]),this.minH=(0,_utils.getMeasurement)(attributes.minH,"0pt"),this.minW=(0,_utils.getMeasurement)(attributes.minW,"0pt"),this.name=attributes.name||"",this.presence=(0,_utils.getStringOption)(attributes.presence,["visible","hidden","inactive","invisible"]),this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.restoreState=(0,_utils.getStringOption)(attributes.restoreState,["manual","auto"]),this.scope=(0,_utils.getStringOption)(attributes.scope,["name","none"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.w=attributes.w?(0,_utils.getMeasurement)(attributes.w):"",this.x=(0,_utils.getMeasurement)(attributes.x,"0pt"),this.y=(0,_utils.getMeasurement)(attributes.y,"0pt"),this.assist=null,this.bind=null,this.bookend=null,this.border=null,this.break=null,this.calculate=null,this.desc=null,this.extras=null,this.keep=null,this.margin=null,this.occur=null,this.overflow=null,this.pageSet=null,this.para=null,this.traversal=null,this.validate=null,this.variables=null,this.area=new _xfa_object.XFAObjectArray,this.breakAfter=new _xfa_object.XFAObjectArray,this.breakBefore=new _xfa_object.XFAObjectArray,this.connect=new _xfa_object.XFAObjectArray,this.draw=new _xfa_object.XFAObjectArray,this.event=new _xfa_object.XFAObjectArray,this.exObject=new _xfa_object.XFAObjectArray,this.exclGroup=new _xfa_object.XFAObjectArray,this.field=new _xfa_object.XFAObjectArray,this.proto=new _xfa_object.XFAObjectArray,this.setProperty=new _xfa_object.XFAObjectArray,this.subform=new _xfa_object.XFAObjectArray,this.subformSet=new _xfa_object.XFAObjectArray}[_symbol_utils.$getSubformParent](){const parent=this[_symbol_utils.$getParent]();return parent instanceof SubformSet?parent[_symbol_utils.$getSubformParent]():parent}[_symbol_utils.$isBindable](){return!0}[_symbol_utils.$isThereMoreWidth](){return this.layout.endsWith("-tb")&&0===this[_symbol_utils.$extra].attempt&&this[_symbol_utils.$extra].numberInLine>0||this[_symbol_utils.$getParent]()[_symbol_utils.$isThereMoreWidth]()}*[_symbol_utils.$getContainedChildren](){yield*getContainedChildren(this)}[_symbol_utils.$flushHTML](){return(0,_layout.flushHTML)(this)}[_symbol_utils.$addHTML](html,bbox){(0,_layout.addHTML)(this,html,bbox)}[_symbol_utils.$getAvailableSpace](){return(0,_layout.getAvailableSpace)(this)}[_symbol_utils.$isSplittable](){var _parent$layout2;const parent=this[_symbol_utils.$getSubformParent]();return!!parent[_symbol_utils.$isSplittable]()&&(void 0!==this[_symbol_utils.$extra]._isSplittable?this[_symbol_utils.$extra]._isSplittable:"position"===this.layout||this.layout.includes("row")||this.keep&&"none"!==this.keep.intact?(this[_symbol_utils.$extra]._isSplittable=!1,!1):!(null!==(_parent$layout2=parent.layout)&&void 0!==_parent$layout2&&_parent$layout2.endsWith("-tb")&&0!==parent[_symbol_utils.$extra].numberInLine||(this[_symbol_utils.$extra]._isSplittable=!0,0)))}[_symbol_utils.$toHTML](availableSpace){var _this$_symbol_utils$$;if(setTabIndex(this),this.break){if("auto"!==this.break.after||""!==this.break.afterTarget){const node=new BreakAfter({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});node[_symbol_utils.$globalData]=this[_symbol_utils.$globalData],this[_symbol_utils.$appendChild](node),this.breakAfter.push(node)}if("auto"!==this.break.before||""!==this.break.beforeTarget){const node=new BreakBefore({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});node[_symbol_utils.$globalData]=this[_symbol_utils.$globalData],this[_symbol_utils.$appendChild](node),this.breakBefore.push(node)}if(""!==this.break.overflowTarget){const node=new Overflow({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});node[_symbol_utils.$globalData]=this[_symbol_utils.$globalData],this[_symbol_utils.$appendChild](node),this.overflow.push(node)}this[_symbol_utils.$removeChild](this.break),this.break=null}if("hidden"===this.presence||"inactive"===this.presence)return _utils.HTMLResult.EMPTY;if((this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&(0,_util.warn)("XFA - Several breakBefore or breakAfter in subforms: please file a bug."),this.breakBefore.children.length>=1){const breakBefore=this.breakBefore.children[0];if(handleBreak(breakBefore))return _utils.HTMLResult.breakNode(breakBefore)}if(null!==(_this$_symbol_utils$$=this[_symbol_utils.$extra])&&void 0!==_this$_symbol_utils$$&&_this$_symbol_utils$$.afterBreakAfter)return _utils.HTMLResult.EMPTY;(0,_html_utils.fixDimensions)(this);const children=[],attributes={id:this[_symbol_utils.$uid],class:[]};(0,_html_utils.setAccess)(this,attributes.class),this[_symbol_utils.$extra]||(this[_symbol_utils.$extra]=Object.create(null)),Object.assign(this[_symbol_utils.$extra],{children:children,line:null,attributes:attributes,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,availableSpace.width),height:Math.min(this.h||1/0,availableSpace.height)},width:0,height:0,prevHeight:0,currentWidth:0});const root=this[_symbol_utils.$getTemplateRoot](),savedNoLayoutFailure=root[_symbol_utils.$extra].noLayoutFailure,isSplittable=this[_symbol_utils.$isSplittable]();if(isSplittable||setFirstUnsplittable(this),!(0,_layout.checkDimensions)(this,availableSpace))return _utils.HTMLResult.FAILURE;const filter=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){const columnWidths=this[_symbol_utils.$getSubformParent]().columnWidths;Array.isArray(columnWidths)&&columnWidths.length>0&&(this[_symbol_utils.$extra].columnWidths=columnWidths,this[_symbol_utils.$extra].currentColumn=0)}const style=(0,_html_utils.toStyle)(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),classNames=["xfaSubform"],cl=(0,_html_utils.layoutClass)(this);if(cl&&classNames.push(cl),attributes.style=style,attributes.class=classNames,this.name&&(attributes.xfaName=this.name),this.overflow){const overflowExtra=this.overflow[_symbol_utils.$getExtra]();overflowExtra.addLeader&&(overflowExtra.addLeader=!1,handleOverflow(this,overflowExtra.leader,availableSpace))}this[_symbol_utils.$pushPara]();const isLrTb="lr-tb"===this.layout||"rl-tb"===this.layout,maxRun=isLrTb?2:1;for(;this[_symbol_utils.$extra].attempt=1){const breakAfter=this.breakAfter.children[0];if(handleBreak(breakAfter))return this[_symbol_utils.$extra].afterBreakAfter=result,_utils.HTMLResult.breakNode(breakAfter)}return delete this[_symbol_utils.$extra],result}}class SubformSet extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"subformSet",!0),this.id=attributes.id||"",this.name=attributes.name||"",this.relation=(0,_utils.getStringOption)(attributes.relation,["ordered","choice","unordered"]),this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.bookend=null,this.break=null,this.desc=null,this.extras=null,this.occur=null,this.overflow=null,this.breakAfter=new _xfa_object.XFAObjectArray,this.breakBefore=new _xfa_object.XFAObjectArray,this.subform=new _xfa_object.XFAObjectArray,this.subformSet=new _xfa_object.XFAObjectArray}*[_symbol_utils.$getContainedChildren](){yield*getContainedChildren(this)}[_symbol_utils.$getSubformParent](){let parent=this[_symbol_utils.$getParent]();for(;!(parent instanceof Subform);)parent=parent[_symbol_utils.$getParent]();return parent}[_symbol_utils.$isBindable](){return!0}}class SubjectDN extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"subjectDN"),this.delimiter=attributes.delimiter||",",this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=new Map(this[_symbol_utils.$content].split(this.delimiter).map((kv=>((kv=kv.split("=",2))[0]=kv[0].trim(),kv))))}}class SubjectDNs extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"subjectDNs",!0),this.id=attributes.id||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.subjectDN=new _xfa_object.XFAObjectArray}}class Submit extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"submit",!0),this.embedPDF=(0,_utils.getInteger)({data:attributes.embedPDF,defaultValue:0,validate:x=>1===x}),this.format=(0,_utils.getStringOption)(attributes.format,["xdp","formdata","pdf","urlencoded","xfd","xml"]),this.id=attributes.id||"",this.target=attributes.target||"",this.textEncoding=(0,_utils.getKeyword)({data:attributes.textEncoding?attributes.textEncoding.toLowerCase():"",defaultValue:"",validate:k=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(k)||k.match(/iso-8859-\d{2}/)}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.xdpContent=attributes.xdpContent||"",this.encrypt=null,this.encryptData=new _xfa_object.XFAObjectArray,this.signData=new _xfa_object.XFAObjectArray}}class Template extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"template",!0),this.baseProfile=(0,_utils.getStringOption)(attributes.baseProfile,["full","interactiveForms"]),this.extras=null,this.subform=new _xfa_object.XFAObjectArray}[_symbol_utils.$finalize](){0===this.subform.children.length&&(0,_util.warn)("XFA - No subforms in template node."),this.subform.children.length>=2&&(0,_util.warn)("XFA - Several subforms in template node: please file a bug."),this[_symbol_utils.$tabIndex]=5e3}[_symbol_utils.$isSplittable](){return!0}[_symbol_utils.$searchNode](expr,container){return expr.startsWith("#")?[this[_symbol_utils.$ids].get(expr.slice(1))]:(0,_som.searchNode)(this,container,expr,!0,!0)}*[_symbol_utils.$toPages](){var _root$break,_root$subform$childre;if(!this.subform.children.length)return _utils.HTMLResult.success({name:"div",children:[]});this[_symbol_utils.$extra]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank",paraStack:[]};const root=this.subform.children[0];root.pageSet[_symbol_utils.$cleanPage]();const pageAreas=root.pageSet.pageArea.children,mainHtml={name:"div",children:[]};let pageArea=null,breakBefore=null,breakBeforeTarget=null;if(root.breakBefore.children.length>=1?(breakBefore=root.breakBefore.children[0],breakBeforeTarget=breakBefore.target):root.subform.children.length>=1&&root.subform.children[0].breakBefore.children.length>=1?(breakBefore=root.subform.children[0].breakBefore.children[0],breakBeforeTarget=breakBefore.target):null!==(_root$break=root.break)&&void 0!==_root$break&&_root$break.beforeTarget?(breakBefore=root.break,breakBeforeTarget=breakBefore.beforeTarget):root.subform.children.length>=1&&null!==(_root$subform$childre=root.subform.children[0].break)&&void 0!==_root$subform$childre&&_root$subform$childre.beforeTarget&&(breakBefore=root.subform.children[0].break,breakBeforeTarget=breakBefore.beforeTarget),breakBefore){const target=this[_symbol_utils.$searchNode](breakBeforeTarget,breakBefore[_symbol_utils.$getParent]());target instanceof PageArea&&(pageArea=target,breakBefore[_symbol_utils.$extra]={})}pageArea||(pageArea=pageAreas[0]),pageArea[_symbol_utils.$extra]={numberOfUse:1};const pageAreaParent=pageArea[_symbol_utils.$getParent]();let targetPageArea;pageAreaParent[_symbol_utils.$extra]={numberOfUse:1,pageIndex:pageAreaParent.pageArea.children.indexOf(pageArea),pageSetIndex:0};let leader=null,trailer=null,hasSomething=!0,hasSomethingCounter=0,startIndex=0;for(;;){if(hasSomething)hasSomethingCounter=0;else if(mainHtml.children.pop(),3==++hasSomethingCounter)return(0,_util.warn)("XFA - Something goes wrong: please file a bug."),mainHtml;targetPageArea=null,this[_symbol_utils.$extra].currentPageArea=pageArea;const page=pageArea[_symbol_utils.$toHTML]().html;mainHtml.children.push(page),leader&&(this[_symbol_utils.$extra].noLayoutFailure=!0,page.children.push(leader[_symbol_utils.$toHTML](pageArea[_symbol_utils.$extra].space).html),leader=null),trailer&&(this[_symbol_utils.$extra].noLayoutFailure=!0,page.children.push(trailer[_symbol_utils.$toHTML](pageArea[_symbol_utils.$extra].space).html),trailer=null);const contentAreas=pageArea.contentArea.children,htmlContentAreas=page.children.filter((node=>node.attributes.class.includes("xfaContentarea")));hasSomething=!1,this[_symbol_utils.$extra].firstUnsplittable=null,this[_symbol_utils.$extra].noLayoutFailure=!1;const flush=index=>{const html=root[_symbol_utils.$flushHTML]();var _html$children;html&&(hasSomething||(hasSomething=(null===(_html$children=html.children)||void 0===_html$children?void 0:_html$children.length)>0),htmlContentAreas[index].children.push(html))};for(let i=startIndex,ii=contentAreas.length;i0),htmlContentAreas[i].children.push(html.html)):!hasSomething&&mainHtml.children.length>1&&mainHtml.children.pop(),mainHtml;if(html.isBreak()){const node=html.breakNode;if(flush(i),"auto"===node.targetType)continue;node.leader&&(leader=this[_symbol_utils.$searchNode](node.leader,node[_symbol_utils.$getParent]()),leader=leader?leader[0]:null),node.trailer&&(trailer=this[_symbol_utils.$searchNode](node.trailer,node[_symbol_utils.$getParent]()),trailer=trailer?trailer[0]:null),"pageArea"===node.targetType?(targetPageArea=node[_symbol_utils.$extra].target,i=1/0):node[_symbol_utils.$extra].target?(targetPageArea=node[_symbol_utils.$extra].target,startIndex=node[_symbol_utils.$extra].index+1,i=1/0):i=node[_symbol_utils.$extra].index}else if(this[_symbol_utils.$extra].overflowNode){const node=this[_symbol_utils.$extra].overflowNode;this[_symbol_utils.$extra].overflowNode=null;const overflowExtra=node[_symbol_utils.$getExtra](),target=overflowExtra.target;overflowExtra.addLeader=null!==overflowExtra.leader,overflowExtra.addTrailer=null!==overflowExtra.trailer,flush(i);const currentIndex=i;if(i=1/0,target instanceof PageArea)targetPageArea=target;else if(target instanceof ContentArea){const index=contentAreas.indexOf(target);-1!==index?index>currentIndex?i=index-1:startIndex=index:(targetPageArea=target[_symbol_utils.$getParent](),startIndex=targetPageArea.contentArea.children.indexOf(target))}}else flush(i)}this[_symbol_utils.$extra].pageNumber+=1,targetPageArea&&(targetPageArea[_symbol_utils.$isUsable]()?targetPageArea[_symbol_utils.$extra].numberOfUse+=1:targetPageArea=null),pageArea=targetPageArea||pageArea[_symbol_utils.$getNextPage](),yield null}}}exports.Template=Template;class Text extends _xfa_object.ContentObject{constructor(attributes){super(TEMPLATE_NS_ID,"text"),this.id=attributes.id||"",this.maxChars=(0,_utils.getInteger)({data:attributes.maxChars,defaultValue:0,validate:x=>x>=0}),this.name=attributes.name||"",this.rid=attributes.rid||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$acceptWhitespace](){return!0}[_symbol_utils.$onChild](child){return child[_symbol_utils.$namespaceId]===_namespaces.NamespaceIds.xhtml.id?(this[_symbol_utils.$content]=child,!0):((0,_util.warn)("XFA - Invalid content in Text: ".concat(child[_symbol_utils.$nodeName],".")),!1)}[_symbol_utils.$onText](str){this[_symbol_utils.$content]instanceof _xfa_object.XFAObject||super[_symbol_utils.$onText](str)}[_symbol_utils.$finalize](){"string"==typeof this[_symbol_utils.$content]&&(this[_symbol_utils.$content]=this[_symbol_utils.$content].replaceAll("\r\n","\n"))}[_symbol_utils.$getExtra](){return"string"==typeof this[_symbol_utils.$content]?this[_symbol_utils.$content].split(/[\u2029\u2028\n]/).reduce(((acc,line)=>(line&&acc.push(line),acc)),[]).join("\n"):this[_symbol_utils.$content][_symbol_utils.$text]()}[_symbol_utils.$toHTML](availableSpace){if("string"==typeof this[_symbol_utils.$content]){const html=valueToHtml(this[_symbol_utils.$content]).html;return this[_symbol_utils.$content].includes("\u2029")?(html.name="div",html.children=[],this[_symbol_utils.$content].split("\u2029").map((para=>para.split(/[\u2028\n]/).reduce(((acc,line)=>(acc.push({name:"span",value:line},{name:"br"}),acc)),[]))).forEach((lines=>{html.children.push({name:"p",children:lines})}))):/[\u2028\n]/.test(this[_symbol_utils.$content])&&(html.name="div",html.children=[],this[_symbol_utils.$content].split(/[\u2028\n]/).forEach((line=>{html.children.push({name:"span",value:line},{name:"br"})}))),_utils.HTMLResult.success(html)}return this[_symbol_utils.$content][_symbol_utils.$toHTML](availableSpace)}}exports.Text=Text;class TextEdit extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"textEdit",!0),this.allowRichText=(0,_utils.getInteger)({data:attributes.allowRichText,defaultValue:0,validate:x=>1===x}),this.hScrollPolicy=(0,_utils.getStringOption)(attributes.hScrollPolicy,["auto","off","on"]),this.id=attributes.id||"",this.multiLine=(0,_utils.getInteger)({data:attributes.multiLine,defaultValue:"",validate:x=>0===x||1===x}),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.vScrollPolicy=(0,_utils.getStringOption)(attributes.vScrollPolicy,["auto","off","on"]),this.border=null,this.comb=null,this.extras=null,this.margin=null}[_symbol_utils.$toHTML](availableSpace){const style=(0,_html_utils.toStyle)(this,"border","font","margin");let html;const field=this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]();var _field$_symbol_utils$5,_field$_symbol_utils$6;return""===this.multiLine&&(this.multiLine=field instanceof Draw?1:0),html=1===this.multiLine?{name:"textarea",attributes:{dataId:(null===(_field$_symbol_utils$5=field[_symbol_utils.$data])||void 0===_field$_symbol_utils$5?void 0:_field$_symbol_utils$5[_symbol_utils.$uid])||field[_symbol_utils.$uid],fieldId:field[_symbol_utils.$uid],class:["xfaTextfield"],style:style,"aria-label":ariaLabel(field),"aria-required":!1}}:{name:"input",attributes:{type:"text",dataId:(null===(_field$_symbol_utils$6=field[_symbol_utils.$data])||void 0===_field$_symbol_utils$6?void 0:_field$_symbol_utils$6[_symbol_utils.$uid])||field[_symbol_utils.$uid],fieldId:field[_symbol_utils.$uid],class:["xfaTextfield"],style:style,"aria-label":ariaLabel(field),"aria-required":!1}},isRequired(field)&&(html.attributes["aria-required"]=!0,html.attributes.required=!0),_utils.HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[html]})}}class Time extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"time"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}[_symbol_utils.$finalize](){const date=this[_symbol_utils.$content].trim();this[_symbol_utils.$content]=date?new Date(date):null}[_symbol_utils.$toHTML](availableSpace){return valueToHtml(this[_symbol_utils.$content]?this[_symbol_utils.$content].toString():"")}}class TimeStamp extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"timeStamp"),this.id=attributes.id||"",this.server=attributes.server||"",this.type=(0,_utils.getStringOption)(attributes.type,["optional","required"]),this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class ToolTip extends _xfa_object.StringObject{constructor(attributes){super(TEMPLATE_NS_ID,"toolTip"),this.id=attributes.id||"",this.rid=attributes.rid||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Traversal extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"traversal",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.traverse=new _xfa_object.XFAObjectArray}}class Traverse extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"traverse",!0),this.id=attributes.id||"",this.operation=(0,_utils.getStringOption)(attributes.operation,["next","back","down","first","left","right","up"]),this.ref=attributes.ref||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.script=null}get name(){return this.operation}[_symbol_utils.$isTransparent](){return!1}}class Ui extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"ui",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.picture=null,this.barcode=null,this.button=null,this.checkButton=null,this.choiceList=null,this.dateTimeEdit=null,this.defaultUi=null,this.imageEdit=null,this.numericEdit=null,this.passwordEdit=null,this.signature=null,this.textEdit=null}[_symbol_utils.$getExtra](){if(void 0===this[_symbol_utils.$extra]){for(const name of Object.getOwnPropertyNames(this)){if("extras"===name||"picture"===name)continue;const obj=this[name];if(obj instanceof _xfa_object.XFAObject)return this[_symbol_utils.$extra]=obj,obj}this[_symbol_utils.$extra]=null}return this[_symbol_utils.$extra]}[_symbol_utils.$toHTML](availableSpace){const obj=this[_symbol_utils.$getExtra]();return obj?obj[_symbol_utils.$toHTML](availableSpace):_utils.HTMLResult.EMPTY}}class Validate extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"validate",!0),this.formatTest=(0,_utils.getStringOption)(attributes.formatTest,["warning","disabled","error"]),this.id=attributes.id||"",this.nullTest=(0,_utils.getStringOption)(attributes.nullTest,["disabled","error","warning"]),this.scriptTest=(0,_utils.getStringOption)(attributes.scriptTest,["error","disabled","warning"]),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.extras=null,this.message=null,this.picture=null,this.script=null}}class Value extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"value",!0),this.id=attributes.id||"",this.override=(0,_utils.getInteger)({data:attributes.override,defaultValue:0,validate:x=>1===x}),this.relevant=(0,_utils.getRelevant)(attributes.relevant),this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.arc=null,this.boolean=null,this.date=null,this.dateTime=null,this.decimal=null,this.exData=null,this.float=null,this.image=null,this.integer=null,this.line=null,this.rectangle=null,this.text=null,this.time=null}[_symbol_utils.$setValue](value){const parent=this[_symbol_utils.$getParent]();var _parent$ui;if(parent instanceof Field&&null!==(_parent$ui=parent.ui)&&void 0!==_parent$ui&&_parent$ui.imageEdit)return this.image||(this.image=new Image({}),this[_symbol_utils.$appendChild](this.image)),void(this.image[_symbol_utils.$content]=value[_symbol_utils.$content]);const valueName=value[_symbol_utils.$nodeName];if(null===this[valueName]){for(const name of Object.getOwnPropertyNames(this)){const obj=this[name];obj instanceof _xfa_object.XFAObject&&(this[name]=null,this[_symbol_utils.$removeChild](obj))}this[value[_symbol_utils.$nodeName]]=value,this[_symbol_utils.$appendChild](value)}else this[valueName][_symbol_utils.$content]=value[_symbol_utils.$content]}[_symbol_utils.$text](){if(this.exData)return"string"==typeof this.exData[_symbol_utils.$content]?this.exData[_symbol_utils.$content].trim():this.exData[_symbol_utils.$content][_symbol_utils.$text]().trim();for(const name of Object.getOwnPropertyNames(this)){if("image"===name)continue;const obj=this[name];if(obj instanceof _xfa_object.XFAObject)return(obj[_symbol_utils.$content]||"").toString().trim()}return null}[_symbol_utils.$toHTML](availableSpace){for(const name of Object.getOwnPropertyNames(this)){const obj=this[name];if(obj instanceof _xfa_object.XFAObject)return obj[_symbol_utils.$toHTML](availableSpace)}return _utils.HTMLResult.EMPTY}}exports.Value=Value;class Variables extends _xfa_object.XFAObject{constructor(attributes){super(TEMPLATE_NS_ID,"variables",!0),this.id=attributes.id||"",this.use=attributes.use||"",this.usehref=attributes.usehref||"",this.boolean=new _xfa_object.XFAObjectArray,this.date=new _xfa_object.XFAObjectArray,this.dateTime=new _xfa_object.XFAObjectArray,this.decimal=new _xfa_object.XFAObjectArray,this.exData=new _xfa_object.XFAObjectArray,this.float=new _xfa_object.XFAObjectArray,this.image=new _xfa_object.XFAObjectArray,this.integer=new _xfa_object.XFAObjectArray,this.manifest=new _xfa_object.XFAObjectArray,this.script=new _xfa_object.XFAObjectArray,this.text=new _xfa_object.XFAObjectArray,this.time=new _xfa_object.XFAObjectArray}[_symbol_utils.$isTransparent](){return!0}}class TemplateNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(TemplateNamespace.hasOwnProperty(name)){const node=TemplateNamespace[name](attributes);return node[_symbol_utils.$setSetAttributes](attributes),node}}static appearanceFilter(attrs){return new AppearanceFilter(attrs)}static arc(attrs){return new Arc(attrs)}static area(attrs){return new Area(attrs)}static assist(attrs){return new Assist(attrs)}static barcode(attrs){return new Barcode(attrs)}static bind(attrs){return new Bind(attrs)}static bindItems(attrs){return new BindItems(attrs)}static bookend(attrs){return new Bookend(attrs)}static boolean(attrs){return new BooleanElement(attrs)}static border(attrs){return new Border(attrs)}static break(attrs){return new Break(attrs)}static breakAfter(attrs){return new BreakAfter(attrs)}static breakBefore(attrs){return new BreakBefore(attrs)}static button(attrs){return new Button(attrs)}static calculate(attrs){return new Calculate(attrs)}static caption(attrs){return new Caption(attrs)}static certificate(attrs){return new Certificate(attrs)}static certificates(attrs){return new Certificates(attrs)}static checkButton(attrs){return new CheckButton(attrs)}static choiceList(attrs){return new ChoiceList(attrs)}static color(attrs){return new Color(attrs)}static comb(attrs){return new Comb(attrs)}static connect(attrs){return new Connect(attrs)}static contentArea(attrs){return new ContentArea(attrs)}static corner(attrs){return new Corner(attrs)}static date(attrs){return new DateElement(attrs)}static dateTime(attrs){return new DateTime(attrs)}static dateTimeEdit(attrs){return new DateTimeEdit(attrs)}static decimal(attrs){return new Decimal(attrs)}static defaultUi(attrs){return new DefaultUi(attrs)}static desc(attrs){return new Desc(attrs)}static digestMethod(attrs){return new DigestMethod(attrs)}static digestMethods(attrs){return new DigestMethods(attrs)}static draw(attrs){return new Draw(attrs)}static edge(attrs){return new Edge(attrs)}static encoding(attrs){return new Encoding(attrs)}static encodings(attrs){return new Encodings(attrs)}static encrypt(attrs){return new Encrypt(attrs)}static encryptData(attrs){return new EncryptData(attrs)}static encryption(attrs){return new Encryption(attrs)}static encryptionMethod(attrs){return new EncryptionMethod(attrs)}static encryptionMethods(attrs){return new EncryptionMethods(attrs)}static event(attrs){return new Event(attrs)}static exData(attrs){return new ExData(attrs)}static exObject(attrs){return new ExObject(attrs)}static exclGroup(attrs){return new ExclGroup(attrs)}static execute(attrs){return new Execute(attrs)}static extras(attrs){return new Extras(attrs)}static field(attrs){return new Field(attrs)}static fill(attrs){return new Fill(attrs)}static filter(attrs){return new Filter(attrs)}static float(attrs){return new Float(attrs)}static font(attrs){return new Font(attrs)}static format(attrs){return new Format(attrs)}static handler(attrs){return new Handler(attrs)}static hyphenation(attrs){return new Hyphenation(attrs)}static image(attrs){return new Image(attrs)}static imageEdit(attrs){return new ImageEdit(attrs)}static integer(attrs){return new Integer(attrs)}static issuers(attrs){return new Issuers(attrs)}static items(attrs){return new Items(attrs)}static keep(attrs){return new Keep(attrs)}static keyUsage(attrs){return new KeyUsage(attrs)}static line(attrs){return new Line(attrs)}static linear(attrs){return new Linear(attrs)}static lockDocument(attrs){return new LockDocument(attrs)}static manifest(attrs){return new Manifest(attrs)}static margin(attrs){return new Margin(attrs)}static mdp(attrs){return new Mdp(attrs)}static medium(attrs){return new Medium(attrs)}static message(attrs){return new Message(attrs)}static numericEdit(attrs){return new NumericEdit(attrs)}static occur(attrs){return new Occur(attrs)}static oid(attrs){return new Oid(attrs)}static oids(attrs){return new Oids(attrs)}static overflow(attrs){return new Overflow(attrs)}static pageArea(attrs){return new PageArea(attrs)}static pageSet(attrs){return new PageSet(attrs)}static para(attrs){return new Para(attrs)}static passwordEdit(attrs){return new PasswordEdit(attrs)}static pattern(attrs){return new Pattern(attrs)}static picture(attrs){return new Picture(attrs)}static proto(attrs){return new Proto(attrs)}static radial(attrs){return new Radial(attrs)}static reason(attrs){return new Reason(attrs)}static reasons(attrs){return new Reasons(attrs)}static rectangle(attrs){return new Rectangle(attrs)}static ref(attrs){return new RefElement(attrs)}static script(attrs){return new Script(attrs)}static setProperty(attrs){return new SetProperty(attrs)}static signData(attrs){return new SignData(attrs)}static signature(attrs){return new Signature(attrs)}static signing(attrs){return new Signing(attrs)}static solid(attrs){return new Solid(attrs)}static speak(attrs){return new Speak(attrs)}static stipple(attrs){return new Stipple(attrs)}static subform(attrs){return new Subform(attrs)}static subformSet(attrs){return new SubformSet(attrs)}static subjectDN(attrs){return new SubjectDN(attrs)}static subjectDNs(attrs){return new SubjectDNs(attrs)}static submit(attrs){return new Submit(attrs)}static template(attrs){return new Template(attrs)}static text(attrs){return new Text(attrs)}static textEdit(attrs){return new TextEdit(attrs)}static time(attrs){return new Time(attrs)}static timeStamp(attrs){return new TimeStamp(attrs)}static toolTip(attrs){return new ToolTip(attrs)}static traversal(attrs){return new Traversal(attrs)}static traverse(attrs){return new Traverse(attrs)}static ui(attrs){return new Ui(attrs)}static validate(attrs){return new Validate(attrs)}static value(attrs){return new Value(attrs)}static variables(attrs){return new Variables(attrs)}}exports.TemplateNamespace=TemplateNamespace},(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.NamespaceIds=exports.$buildXFAObject=void 0;const $buildXFAObject=Symbol();exports.$buildXFAObject=$buildXFAObject,exports.NamespaceIds={config:{id:0,check:ns=>ns.startsWith("http://www.xfa.org/schema/xci/")},connectionSet:{id:1,check:ns=>ns.startsWith("http://www.xfa.org/schema/xfa-connection-set/")},datasets:{id:2,check:ns=>ns.startsWith("http://www.xfa.org/schema/xfa-data/")},form:{id:3,check:ns=>ns.startsWith("http://www.xfa.org/schema/xfa-form/")},localeSet:{id:4,check:ns=>ns.startsWith("http://www.xfa.org/schema/xfa-locale-set/")},pdf:{id:5,check:ns=>"http://ns.adobe.com/xdp/pdf/"===ns},signature:{id:6,check:ns=>"http://www.w3.org/2000/09/xmldsig#"===ns},sourceSet:{id:7,check:ns=>ns.startsWith("http://www.xfa.org/schema/xfa-source-set/")},stylesheet:{id:8,check:ns=>"http://www.w3.org/1999/XSL/Transform"===ns},template:{id:9,check:ns=>ns.startsWith("http://www.xfa.org/schema/xfa-template/")},xdc:{id:10,check:ns=>ns.startsWith("http://www.xfa.org/schema/xdc/")},xdp:{id:11,check:ns=>"http://ns.adobe.com/xdp/"===ns},xfdf:{id:12,check:ns=>"http://ns.adobe.com/xfdf/"===ns},xhtml:{id:13,check:ns=>"http://www.w3.org/1999/xhtml"===ns},xmpmeta:{id:14,check:ns=>"http://ns.adobe.com/xmpmeta/"===ns}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.addHTML=function(node,html,bbox){const extra=node[_symbol_utils.$extra],availableSpace=extra.availableSpace,[x,y,w,h]=bbox;switch(node.layout){case"position":extra.width=Math.max(extra.width,x+w),extra.height=Math.max(extra.height,y+h),extra.children.push(html);break;case"lr-tb":case"rl-tb":extra.line&&1!==extra.attempt||(extra.line=createLine(node,[]),extra.children.push(extra.line),extra.numberInLine=0),extra.numberInLine+=1,extra.line.children.push(html),0===extra.attempt?(extra.currentWidth+=w,extra.height=Math.max(extra.height,extra.prevHeight+h)):(extra.currentWidth=w,extra.prevHeight=extra.height,extra.height+=h,extra.attempt=0),extra.width=Math.max(extra.width,extra.currentWidth);break;case"rl-row":case"row":{extra.children.push(html),extra.width+=w,extra.height=Math.max(extra.height,h);const height=(0,_html_utils.measureToString)(extra.height);for(const child of extra.children)child.attributes.style.height=height;break}case"table":case"tb":extra.width=Math.min(availableSpace.width,Math.max(extra.width,w)),extra.height+=h,extra.children.push(html)}},exports.checkDimensions=function(node,space){var _parent$_symbol_utils;if(null===node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].firstUnsplittable)return!0;if(0===node.w||0===node.h)return!0;const parent=node[_symbol_utils.$getSubformParent](),attempt=(null===(_parent$_symbol_utils=parent[_symbol_utils.$extra])||void 0===_parent$_symbol_utils?void 0:_parent$_symbol_utils.attempt)||0,[,y,w,h]=function(node){let x,y,w=""===node.w?NaN:node.w,h=""===node.h?NaN:node.h,[centerX,centerY]=[0,0];switch(node.anchorType||""){case"bottomCenter":[centerX,centerY]=[w/2,h];break;case"bottomLeft":[centerX,centerY]=[0,h];break;case"bottomRight":[centerX,centerY]=[w,h];break;case"middleCenter":[centerX,centerY]=[w/2,h/2];break;case"middleLeft":[centerX,centerY]=[0,h/2];break;case"middleRight":[centerX,centerY]=[w,h/2];break;case"topCenter":[centerX,centerY]=[w/2,0];break;case"topRight":[centerX,centerY]=[w,0]}switch(node.rotate||0){case 0:[x,y]=[-centerX,-centerY];break;case 90:[x,y]=[-centerY,centerX],[w,h]=[h,-w];break;case 180:[x,y]=[centerX,centerY],[w,h]=[-w,-h];break;case 270:[x,y]=[centerY,-centerX],[w,h]=[-h,w]}return[node.x+x+Math.min(0,w),node.y+y+Math.min(0,h),Math.abs(w),Math.abs(h)]}(node);switch(parent.layout){case"lr-tb":case"rl-tb":return 0===attempt?node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure?""!==node.w?Math.round(w-space.width)<=2:space.width>2:!(""!==node.h&&Math.round(h-space.height)>2)&&(""!==node.w?Math.round(w-space.width)<=2||0===parent[_symbol_utils.$extra].numberInLine&&space.height>2:space.width>2):!!node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure||!(""!==node.h&&Math.round(h-space.height)>2)&&(""===node.w||Math.round(w-space.width)<=2||!parent[_symbol_utils.$isThereMoreWidth]())&&space.height>2;case"table":case"tb":return!!node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure||(""===node.h||node[_symbol_utils.$isSplittable]()?(""===node.w||Math.round(w-space.width)<=2||!parent[_symbol_utils.$isThereMoreWidth]())&&space.height>2:Math.round(h-space.height)<=2);case"position":if(node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure)return!0;if(""===node.h||Math.round(h+y-space.height)<=2)return!0;const area=node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].currentContentArea;return h+y>area.h;case"rl-row":case"row":return!!node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure||""===node.h||Math.round(h-space.height)<=2;default:return!0}},exports.flushHTML=function(node){if(!node[_symbol_utils.$extra])return null;const html={name:"div",attributes:node[_symbol_utils.$extra].attributes,children:node[_symbol_utils.$extra].children};if(node[_symbol_utils.$extra].failingNode){const htmlFromFailing=node[_symbol_utils.$extra].failingNode[_symbol_utils.$flushHTML]();htmlFromFailing&&(node.layout.endsWith("-tb")?html.children.push(createLine(node,[htmlFromFailing])):html.children.push(htmlFromFailing))}return 0===html.children.length?null:html},exports.getAvailableSpace=function(node){const availableSpace=node[_symbol_utils.$extra].availableSpace,marginV=node.margin?node.margin.topInset+node.margin.bottomInset:0,marginH=node.margin?node.margin.leftInset+node.margin.rightInset:0;switch(node.layout){case"lr-tb":case"rl-tb":return 0===node[_symbol_utils.$extra].attempt?{width:availableSpace.width-marginH-node[_symbol_utils.$extra].currentWidth,height:availableSpace.height-marginV-node[_symbol_utils.$extra].prevHeight}:{width:availableSpace.width-marginH,height:availableSpace.height-marginV-node[_symbol_utils.$extra].height};case"rl-row":case"row":return{width:node[_symbol_utils.$extra].columnWidths.slice(node[_symbol_utils.$extra].currentColumn).reduce(((a,x)=>a+x)),height:availableSpace.height-marginH};case"table":case"tb":return{width:availableSpace.width-marginH,height:availableSpace.height-marginV-node[_symbol_utils.$extra].height};default:return availableSpace}};var _symbol_utils=__w_pdfjs_require__(78),_html_utils=__w_pdfjs_require__(83);function createLine(node,children){return{name:"div",attributes:{class:["lr-tb"===node.layout?"xfaLr":"xfaRl"]},children:children}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.computeBbox=function(node,html,availableSpace){let bbox;if(""!==node.w&&""!==node.h)bbox=[node.x,node.y,node.w,node.h];else{if(!availableSpace)return null;let width=node.w;if(""===width){if(0===node.maxW){const parent=node[_symbol_utils.$getSubformParent]();width="position"===parent.layout&&""!==parent.w?0:node.minW}else width=Math.min(node.maxW,availableSpace.width);html.attributes.style.width=measureToString(width)}let height=node.h;if(""===height){if(0===node.maxH){const parent=node[_symbol_utils.$getSubformParent]();height="position"===parent.layout&&""!==parent.h?0:node.minH}else height=Math.min(node.maxH,availableSpace.height);html.attributes.style.height=measureToString(height)}bbox=[node.x,node.y,width,height]}return bbox},exports.createWrapper=function(node,html){const{attributes:attributes}=html,{style:style}=attributes,wrapper={name:"div",attributes:{class:["xfaWrapper"],style:Object.create(null)},children:[]};if(attributes.class.push("xfaWrapped"),node.border){const{widths:widths,insets:insets}=node.border[_symbol_utils.$extra];let width,height,top=insets[0],left=insets[3];const insetsH=insets[0]+insets[2],insetsW=insets[1]+insets[3];switch(node.border.hand){case"even":top-=widths[0]/2,left-=widths[3]/2,width="calc(100% + ".concat((widths[1]+widths[3])/2-insetsW,"px)"),height="calc(100% + ".concat((widths[0]+widths[2])/2-insetsH,"px)");break;case"left":top-=widths[0],left-=widths[3],width="calc(100% + ".concat(widths[1]+widths[3]-insetsW,"px)"),height="calc(100% + ".concat(widths[0]+widths[2]-insetsH,"px)");break;case"right":width=insetsW?"calc(100% - ".concat(insetsW,"px)"):"100%",height=insetsH?"calc(100% - ".concat(insetsH,"px)"):"100%"}const classNames=["xfaBorder"];isPrintOnly(node.border)&&classNames.push("xfaPrintOnly");const border={name:"div",attributes:{class:classNames,style:{top:"".concat(top,"px"),left:"".concat(left,"px"),width:width,height:height}},children:[]};for(const key of["border","borderWidth","borderColor","borderRadius","borderStyle"])void 0!==style[key]&&(border.attributes.style[key]=style[key],delete style[key]);wrapper.children.push(border,html)}else wrapper.children.push(html);for(const key of["background","backgroundClip","top","left","width","height","minWidth","minHeight","maxWidth","maxHeight","transform","transformOrigin","visibility"])void 0!==style[key]&&(wrapper.attributes.style[key]=style[key],delete style[key]);return wrapper.attributes.style.position="absolute"===style.position?"absolute":"relative",delete style.position,style.alignSelf&&(wrapper.attributes.style.alignSelf=style.alignSelf,delete style.alignSelf),wrapper},exports.fixDimensions=function(node){var _parent$layout4;const parent=node[_symbol_utils.$getSubformParent]();if(null!==(_parent$layout4=parent.layout)&&void 0!==_parent$layout4&&_parent$layout4.includes("row")){const extra=parent[_symbol_utils.$extra],colSpan=node.colSpan;let width;width=-1===colSpan?extra.columnWidths.slice(extra.currentColumn).reduce(((a,w)=>a+w),0):extra.columnWidths.slice(extra.currentColumn,extra.currentColumn+colSpan).reduce(((a,w)=>a+w),0),isNaN(width)||(node.w=width)}parent.layout&&"position"!==parent.layout&&(node.x=node.y=0),"table"===node.layout&&""===node.w&&Array.isArray(node.columnWidths)&&(node.w=node.columnWidths.reduce(((a,x)=>a+x),0))},exports.fixTextIndent=function(styles){const indent=(0,_utils.getMeasurement)(styles.textIndent,"0px");if(indent>=0)return;const name="padding"+("left"==("right"===styles.textAlign?"right":"left")?"Left":"Right"),padding=(0,_utils.getMeasurement)(styles[name],"0px");styles[name]="".concat(padding-indent,"px")},exports.fixURL=function(str){const absoluteUrl=(0,_util.createValidAbsoluteUrl)(str,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return absoluteUrl?absoluteUrl.href:null},exports.isPrintOnly=isPrintOnly,exports.layoutClass=function(node){switch(node.layout){case"position":default:return"xfaPosition";case"lr-tb":return"xfaLrTb";case"rl-row":return"xfaRlRow";case"rl-tb":return"xfaRlTb";case"row":return"xfaRow";case"table":return"xfaTable";case"tb":return"xfaTb"}},exports.layoutNode=function(node,availableSpace){let height=null,width=null,isBroken=!1;if((!node.w||!node.h)&&node.value){let marginH=0,marginV=0;node.margin&&(marginH=node.margin.leftInset+node.margin.rightInset,marginV=node.margin.topInset+node.margin.bottomInset);let lineHeight=null,margin=null;node.para&&(margin=Object.create(null),lineHeight=""===node.para.lineHeight?null:node.para.lineHeight,margin.top=""===node.para.spaceAbove?0:node.para.spaceAbove,margin.bottom=""===node.para.spaceBelow?0:node.para.spaceBelow,margin.left=""===node.para.marginLeft?0:node.para.marginLeft,margin.right=""===node.para.marginRight?0:node.para.marginRight);let font=node.font;if(!font){const root=node[_symbol_utils.$getTemplateRoot]();let parent=node[_symbol_utils.$getParent]();for(;parent&&parent!==root;){if(parent.font){font=parent.font;break}parent=parent[_symbol_utils.$getParent]()}}const maxWidth=(node.w||availableSpace.width)-marginH,fontFinder=node[_symbol_utils.$globalData].fontFinder;if(node.value.exData&&node.value.exData[_symbol_utils.$content]&&"text/html"===node.value.exData.contentType){const res=layoutText(node.value.exData[_symbol_utils.$content],font,margin,lineHeight,fontFinder,maxWidth);width=res.width,height=res.height,isBroken=res.isBroken}else{const text=node.value[_symbol_utils.$text]();if(text){const res=layoutText(text,font,margin,lineHeight,fontFinder,maxWidth);width=res.width,height=res.height,isBroken=res.isBroken}}null===width||node.w||(width+=marginH),null===height||node.h||(height+=marginV)}return{w:width,h:height,isBroken:isBroken}},exports.measureToString=measureToString,exports.setAccess=function(node,classNames){switch(node.access){case"nonInteractive":classNames.push("xfaNonInteractive");break;case"readOnly":classNames.push("xfaReadOnly");break;case"protected":classNames.push("xfaDisabled")}},exports.setFontFamily=function(xfaFont,node,fontFinder,style){if(!fontFinder)return void delete style.fontFamily;const name=(0,_utils.stripQuotes)(xfaFont.typeface);style.fontFamily='"'.concat(name,'"');const typeface=fontFinder.find(name);if(typeface){const{fontFamily:fontFamily}=typeface.regular.cssFontInfo;fontFamily!==name&&(style.fontFamily='"'.concat(fontFamily,'"'));const para=getCurrentPara(node);if(para&&""!==para.lineHeight)return;if(style.lineHeight)return;const pdfFont=(0,_fonts.selectFont)(xfaFont,typeface);pdfFont&&(style.lineHeight=Math.max(1.2,pdfFont.lineHeight))}},exports.setMinMaxDimensions=function(node,style){"position"===node[_symbol_utils.$getSubformParent]().layout&&(node.minW>0&&(style.minWidth=measureToString(node.minW)),node.maxW>0&&(style.maxWidth=measureToString(node.maxW)),node.minH>0&&(style.minHeight=measureToString(node.minH)),node.maxH>0&&(style.maxHeight=measureToString(node.maxH)))},exports.setPara=function(node,nodeStyle,value){var _value$attributes$cla;if(null!==(_value$attributes$cla=value.attributes.class)&&void 0!==_value$attributes$cla&&_value$attributes$cla.includes("xfaRich")){nodeStyle&&(""===node.h&&(nodeStyle.height="auto"),""===node.w&&(nodeStyle.width="auto"));const para=getCurrentPara(node);if(para){const valueStyle=value.attributes.style;switch(valueStyle.display="flex",valueStyle.flexDirection="column",para.vAlign){case"top":valueStyle.justifyContent="start";break;case"bottom":valueStyle.justifyContent="end";break;case"middle":valueStyle.justifyContent="center"}const paraStyle=para[_symbol_utils.$toStyle]();for(const[key,val]of Object.entries(paraStyle))key in valueStyle||(valueStyle[key]=val)}}},exports.toStyle=function(node){const style=Object.create(null);for(var _len=arguments.length,names=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)names[_key-1]=arguments[_key];for(const name of names){const value=node[name];if(null!==value)if(converters.hasOwnProperty(name))converters[name](node,style);else if(value instanceof _xfa_object.XFAObject){const newStyle=value[_symbol_utils.$toStyle]();newStyle?Object.assign(style,newStyle):(0,_util.warn)("(DEBUG) - XFA - style for ".concat(name," not implemented yet"))}}return style};var _symbol_utils=__w_pdfjs_require__(78),_util=__w_pdfjs_require__(2),_utils=__w_pdfjs_require__(84),_fonts=__w_pdfjs_require__(85),_text=__w_pdfjs_require__(86),_xfa_object=__w_pdfjs_require__(87);function measureToString(m){return"string"==typeof m?"0px":Number.isInteger(m)?"".concat(m,"px"):"".concat(m.toFixed(2),"px")}const converters={anchorType(node,style){const parent=node[_symbol_utils.$getSubformParent]();if(parent&&(!parent.layout||"position"===parent.layout))switch("transform"in style||(style.transform=""),node.anchorType){case"bottomCenter":style.transform+="translate(-50%, -100%)";break;case"bottomLeft":style.transform+="translate(0,-100%)";break;case"bottomRight":style.transform+="translate(-100%,-100%)";break;case"middleCenter":style.transform+="translate(-50%,-50%)";break;case"middleLeft":style.transform+="translate(0,-50%)";break;case"middleRight":style.transform+="translate(-100%,-50%)";break;case"topCenter":style.transform+="translate(-50%,0)";break;case"topRight":style.transform+="translate(-100%,0)"}},dimensions(node,style){var _parent$layout3;const parent=node[_symbol_utils.$getSubformParent]();let width=node.w;const height=node.h;if(null!==(_parent$layout3=parent.layout)&&void 0!==_parent$layout3&&_parent$layout3.includes("row")){const extra=parent[_symbol_utils.$extra],colSpan=node.colSpan;let w;-1===colSpan?(w=extra.columnWidths.slice(extra.currentColumn).reduce(((a,x)=>a+x),0),extra.currentColumn=0):(w=extra.columnWidths.slice(extra.currentColumn,extra.currentColumn+colSpan).reduce(((a,x)=>a+x),0),extra.currentColumn=(extra.currentColumn+node.colSpan)%extra.columnWidths.length),isNaN(w)||(width=node.w=w)}style.width=""!==width?measureToString(width):"auto",style.height=""!==height?measureToString(height):"auto"},position(node,style){const parent=node[_symbol_utils.$getSubformParent]();null!=parent&&parent.layout&&"position"!==parent.layout||(style.position="absolute",style.left=measureToString(node.x),style.top=measureToString(node.y))},rotate(node,style){node.rotate&&("transform"in style||(style.transform=""),style.transform+="rotate(-".concat(node.rotate,"deg)"),style.transformOrigin="top left")},presence(node,style){switch(node.presence){case"invisible":style.visibility="hidden";break;case"hidden":case"inactive":style.display="none"}},hAlign(node,style){if("para"===node[_symbol_utils.$nodeName])switch(node.hAlign){case"justifyAll":style.textAlign="justify-all";break;case"radix":style.textAlign="left";break;default:style.textAlign=node.hAlign}else switch(node.hAlign){case"left":style.alignSelf="start";break;case"center":style.alignSelf="center";break;case"right":style.alignSelf="end"}},margin(node,style){node.margin&&(style.margin=node.margin[_symbol_utils.$toStyle]().margin)}};function layoutText(text,xfaFont,margin,lineHeight,fontFinder,width){const measure=new _text.TextMeasure(xfaFont,margin,lineHeight,fontFinder);return"string"==typeof text?measure.addString(text):text[_symbol_utils.$pushGlyphs](measure),measure.compute(width)}function isPrintOnly(node){return node.relevant.length>0&&!node.relevant[0].excluded&&"print"===node.relevant[0].viewname}function getCurrentPara(node){const stack=node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].paraStack;return stack.length?stack.at(-1):null}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.HTMLResult=void 0,exports.getBBox=function(data){if(!data)return{x:-1,y:-1,width:-1,height:-1};const bbox=data.trim().split(/\s*,\s*/).map((m=>getMeasurement(m,"-1")));if(bbox.length<4||bbox[2]<0||bbox[3]<0)return{x:-1,y:-1,width:-1,height:-1};const[x,y,width,height]=bbox;return{x:x,y:y,width:width,height:height}},exports.getColor=function(data){let def=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0],[r,g,b]=def;if(!data)return{r:r,g:g,b:b};const color=data.trim().split(/\s*,\s*/).map((c=>Math.min(Math.max(0,parseInt(c.trim(),10)),255))).map((c=>isNaN(c)?0:c));return color.length<3||([r,g,b]=color),{r:r,g:g,b:b}},exports.getFloat=function(_ref82){let{data:data,defaultValue:defaultValue,validate:validate}=_ref82;if(!data)return defaultValue;data=data.trim();const n=parseFloat(data);return!isNaN(n)&&validate(n)?n:defaultValue},exports.getInteger=function(_ref81){let{data:data,defaultValue:defaultValue,validate:validate}=_ref81;if(!data)return defaultValue;data=data.trim();const n=parseInt(data,10);return!isNaN(n)&&validate(n)?n:defaultValue},exports.getKeyword=getKeyword,exports.getMeasurement=getMeasurement,exports.getRatio=function(data){if(!data)return{num:1,den:1};const ratio=data.trim().split(/\s*:\s*/).map((x=>parseFloat(x))).filter((x=>!isNaN(x)));if(1===ratio.length&&ratio.push(1),0===ratio.length)return{num:1,den:1};const[num,den]=ratio;return{num:num,den:den}},exports.getRelevant=function(data){return data?data.trim().split(/\s+/).map((e=>({excluded:"-"===e[0],viewname:e.substring(1)}))):[]},exports.getStringOption=function(data,options){return getKeyword({data:data,defaultValue:options[0],validate:k=>options.includes(k)})},exports.stripQuotes=function(str){return str.startsWith("'")||str.startsWith('"')?str.slice(1,-1):str};var _util=__w_pdfjs_require__(2);const dimConverters={pt:x=>x,cm:x=>x/2.54*72,mm:x=>x/25.4*72,in:x=>72*x,px:x=>x},measurementPattern=/([+-]?\d+\.?\d*)(.*)/;function getKeyword(_ref83){let{data:data,defaultValue:defaultValue,validate:validate}=_ref83;return data?(data=data.trim(),validate(data)?data:defaultValue):defaultValue}function getMeasurement(str){let def=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0";if(def||(def="0"),!str)return getMeasurement(def);const match=str.trim().match(measurementPattern);if(!match)return getMeasurement(def);const[,valueStr,unit]=match,value=parseFloat(valueStr);if(isNaN(value))return getMeasurement(def);if(0===value)return 0;const conv=dimConverters[unit];return conv?conv(value):value}class HTMLResult{static get FAILURE(){return(0,_util.shadow)(this,"FAILURE",new HTMLResult(!1,null,null,null))}static get EMPTY(){return(0,_util.shadow)(this,"EMPTY",new HTMLResult(!0,null,null,null))}constructor(success,html,bbox,breakNode){this.success=success,this.html=html,this.bbox=bbox,this.breakNode=breakNode}isBreak(){return!!this.breakNode}static breakNode(node){return new HTMLResult(!1,null,null,node)}static success(html){return new HTMLResult(!0,html,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,null)}}exports.HTMLResult=HTMLResult},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.FontFinder=void 0,exports.getMetrics=function(xfaFont){let real=arguments.length>1&&void 0!==arguments[1]&&arguments[1],pdfFont=null;if(xfaFont){const name=(0,_utils.stripQuotes)(xfaFont.typeface),typeface=xfaFont[_symbol_utils.$globalData].fontFinder.find(name);pdfFont=selectFont(xfaFont,typeface)}if(!pdfFont)return{lineHeight:12,lineGap:2,lineNoGap:10};const size=xfaFont.size||10,lineHeight=pdfFont.lineHeight?Math.max(real?0:1.2,pdfFont.lineHeight):1.2,lineGap=void 0===pdfFont.lineGap?.2:pdfFont.lineGap;return{lineHeight:lineHeight*size,lineGap:lineGap*size,lineNoGap:Math.max(1,lineHeight-lineGap)*size}},exports.selectFont=selectFont;var _symbol_utils=__w_pdfjs_require__(78),_utils=__w_pdfjs_require__(84),_util=__w_pdfjs_require__(2);function selectFont(xfaFont,typeface){return"italic"===xfaFont.posture?"bold"===xfaFont.weight?typeface.bolditalic:typeface.italic:"bold"===xfaFont.weight?typeface.bold:typeface.regular}exports.FontFinder=class{constructor(pdfFonts){this.fonts=new Map,this.cache=new Map,this.warned=new Set,this.defaultFont=null,this.add(pdfFonts)}add(pdfFonts){let reallyMissingFonts=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;for(const pdfFont of pdfFonts)this.addPdfFont(pdfFont);for(const pdfFont of this.fonts.values())pdfFont.regular||(pdfFont.regular=pdfFont.italic||pdfFont.bold||pdfFont.bolditalic);if(!reallyMissingFonts||0===reallyMissingFonts.size)return;const myriad=this.fonts.get("PdfJS-Fallback-PdfJS-XFA");for(const missing of reallyMissingFonts)this.fonts.set(missing,myriad)}addPdfFont(pdfFont){const cssFontInfo=pdfFont.cssFontInfo,name=cssFontInfo.fontFamily;let font=this.fonts.get(name);font||(font=Object.create(null),this.fonts.set(name,font),this.defaultFont||(this.defaultFont=font));let property="";const fontWeight=parseFloat(cssFontInfo.fontWeight);var _pdfFont$psName,_pdfFont$psName2,_pdfFont$psName3;0!==parseFloat(cssFontInfo.italicAngle)?property=fontWeight>=700?"bolditalic":"italic":fontWeight>=700&&(property="bold"),property||((pdfFont.name.includes("Bold")||null!==(_pdfFont$psName=pdfFont.psName)&&void 0!==_pdfFont$psName&&_pdfFont$psName.includes("Bold"))&&(property="bold"),(pdfFont.name.includes("Italic")||pdfFont.name.endsWith("It")||null!==(_pdfFont$psName2=pdfFont.psName)&&void 0!==_pdfFont$psName2&&_pdfFont$psName2.includes("Italic")||null!==(_pdfFont$psName3=pdfFont.psName)&&void 0!==_pdfFont$psName3&&_pdfFont$psName3.endsWith("It"))&&(property+="italic")),property||(property="regular"),font[property]=pdfFont}getDefault(){return this.defaultFont}find(fontName){let mustWarn=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],font=this.fonts.get(fontName)||this.cache.get(fontName);if(font)return font;const pattern=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let name=fontName.replaceAll(pattern,"");if(font=this.fonts.get(name),font)return this.cache.set(fontName,font),font;name=name.toLowerCase();const maybe=[];for(const[family,pdfFont]of this.fonts.entries())family.replaceAll(pattern,"").toLowerCase().startsWith(name)&&maybe.push(pdfFont);if(0===maybe.length)for(const[,pdfFont]of this.fonts.entries()){var _pdfFont$regular$name;null!==(_pdfFont$regular$name=pdfFont.regular.name)&&void 0!==_pdfFont$regular$name&&_pdfFont$regular$name.replaceAll(pattern,"").toLowerCase().startsWith(name)&&maybe.push(pdfFont)}if(0===maybe.length){name=name.replaceAll(/psmt|mt/gi,"");for(const[family,pdfFont]of this.fonts.entries())family.replaceAll(pattern,"").toLowerCase().startsWith(name)&&maybe.push(pdfFont)}if(0===maybe.length)for(const pdfFont of this.fonts.values()){var _pdfFont$regular$name2;null!==(_pdfFont$regular$name2=pdfFont.regular.name)&&void 0!==_pdfFont$regular$name2&&_pdfFont$regular$name2.replaceAll(pattern,"").toLowerCase().startsWith(name)&&maybe.push(pdfFont)}return maybe.length>=1?(1!==maybe.length&&mustWarn&&(0,_util.warn)("XFA - Too many choices to guess the correct font: ".concat(fontName)),this.cache.set(fontName,maybe[0]),maybe[0]):(mustWarn&&!this.warned.has(fontName)&&(this.warned.add(fontName),(0,_util.warn)("XFA - Cannot find the font: ".concat(fontName))),null)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.TextMeasure=void 0;var _fonts=__w_pdfjs_require__(85);class FontInfo{constructor(xfaFont,margin,lineHeight,fontFinder){if(this.lineHeight=lineHeight,this.paraMargin=margin||{top:0,bottom:0,left:0,right:0},!xfaFont)return void([this.pdfFont,this.xfaFont]=this.defaultFont(fontFinder));this.xfaFont={typeface:xfaFont.typeface,posture:xfaFont.posture,weight:xfaFont.weight,size:xfaFont.size,letterSpacing:xfaFont.letterSpacing};const typeface=fontFinder.find(xfaFont.typeface);typeface?(this.pdfFont=(0,_fonts.selectFont)(xfaFont,typeface),this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(fontFinder))):[this.pdfFont,this.xfaFont]=this.defaultFont(fontFinder)}defaultFont(fontFinder){const font=fontFinder.find("Helvetica",!1)||fontFinder.find("Myriad Pro",!1)||fontFinder.find("Arial",!1)||fontFinder.getDefault();if(null!=font&&font.regular){const pdfFont=font.regular;return[pdfFont,{typeface:pdfFont.cssFontInfo.fontFamily,posture:"normal",weight:"normal",size:10,letterSpacing:0}]}return[null,{typeface:"Courier",posture:"normal",weight:"normal",size:10,letterSpacing:0}]}}class FontSelector{constructor(defaultXfaFont,defaultParaMargin,defaultLineHeight,fontFinder){this.fontFinder=fontFinder,this.stack=[new FontInfo(defaultXfaFont,defaultParaMargin,defaultLineHeight,fontFinder)]}pushData(xfaFont,margin,lineHeight){const lastFont=this.stack.at(-1);for(const name of["typeface","posture","weight","size","letterSpacing"])xfaFont[name]||(xfaFont[name]=lastFont.xfaFont[name]);for(const name of["top","bottom","left","right"])isNaN(margin[name])&&(margin[name]=lastFont.paraMargin[name]);const fontInfo=new FontInfo(xfaFont,margin,lineHeight||lastFont.lineHeight,this.fontFinder);fontInfo.pdfFont||(fontInfo.pdfFont=lastFont.pdfFont),this.stack.push(fontInfo)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}}exports.TextMeasure=class{constructor(defaultXfaFont,defaultParaMargin,defaultLineHeight,fonts){this.glyphs=[],this.fontSelector=new FontSelector(defaultXfaFont,defaultParaMargin,defaultLineHeight,fonts),this.extraHeight=0}pushData(xfaFont,margin,lineHeight){this.fontSelector.pushData(xfaFont,margin,lineHeight)}popFont(xfaFont){return this.fontSelector.popFont()}addPara(){const lastFont=this.fontSelector.topFont();this.extraHeight+=lastFont.paraMargin.top+lastFont.paraMargin.bottom}addString(str){if(!str)return;const lastFont=this.fontSelector.topFont(),fontSize=lastFont.xfaFont.size;if(lastFont.pdfFont){const letterSpacing=lastFont.xfaFont.letterSpacing,pdfFont=lastFont.pdfFont,fontLineHeight=pdfFont.lineHeight||1.2,lineHeight=lastFont.lineHeight||Math.max(1.2,fontLineHeight)*fontSize,noGap=fontLineHeight-(void 0===pdfFont.lineGap?.2:pdfFont.lineGap),firstLineHeight=Math.max(1,noGap)*fontSize,scale=fontSize/1e3,fallbackWidth=pdfFont.defaultWidth||pdfFont.charsToGlyphs(" ")[0].width;for(const line of str.split(/[\u2029\n]/)){const encodedLine=pdfFont.encodeString(line).join(""),glyphs=pdfFont.charsToGlyphs(encodedLine);for(const glyph of glyphs){const width=glyph.width||fallbackWidth;this.glyphs.push([width*scale+letterSpacing,lineHeight,firstLineHeight,glyph.unicode,!1])}this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}else{for(const line of str.split(/[\u2029\n]/)){for(const char of line.split(""))this.glyphs.push([fontSize,1.2*fontSize,fontSize,char,!1]);this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}}compute(maxWidth){let lastSpacePos=-1,lastSpaceWidth=0,width=0,height=0,currentLineWidth=0,currentLineHeight=0,isBroken=!1,isFirstLine=!0;for(let i=0,ii=this.glyphs.length;imaxWidth?(width=Math.max(width,currentLineWidth),currentLineWidth=0,height+=currentLineHeight,currentLineHeight=glyphHeight,lastSpacePos=-1,lastSpaceWidth=0,isBroken=!0,isFirstLine=!1):(currentLineHeight=Math.max(glyphHeight,currentLineHeight),lastSpaceWidth=currentLineWidth,currentLineWidth+=glyphWidth,lastSpacePos=i):currentLineWidth+glyphWidth>maxWidth?(height+=currentLineHeight,currentLineHeight=glyphHeight,-1!==lastSpacePos?(i=lastSpacePos,width=Math.max(width,lastSpaceWidth),currentLineWidth=0,lastSpacePos=-1,lastSpaceWidth=0):(width=Math.max(width,currentLineWidth),currentLineWidth=glyphWidth),isBroken=!0,isFirstLine=!1):(currentLineWidth+=glyphWidth,currentLineHeight=Math.max(glyphHeight,currentLineHeight))}return width=Math.max(width,currentLineWidth),height+=currentLineHeight+this.extraHeight,{width:1.02*width,height:height,isBroken:isBroken}}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XmlObject=exports.XFAObjectArray=exports.XFAObject=exports.XFAAttribute=exports.StringObject=exports.OptionObject=exports.Option10=exports.Option01=exports.IntegerObject=exports.ContentObject=void 0;var _symbol_utils=__w_pdfjs_require__(78),_utils=__w_pdfjs_require__(84),_util=__w_pdfjs_require__(2),_core_utils=__w_pdfjs_require__(3),_namespaces=__w_pdfjs_require__(81),_som=__w_pdfjs_require__(88);const _applyPrototype=Symbol(),_attributes=Symbol(),_attributeNames=Symbol(),_children=Symbol("_children"),_cloneAttribute=Symbol(),_dataValue=Symbol(),_defaultValue=Symbol(),_filteredChildrenGenerator=Symbol(),_getPrototype=Symbol(),_getUnsetAttributes=Symbol(),_hasChildren=Symbol(),_max=Symbol(),_options=Symbol(),_parent=Symbol("parent"),_resolvePrototypesHelper=Symbol(),_setAttributes=Symbol(),_validator=Symbol();let uid=0;const NS_DATASETS=_namespaces.NamespaceIds.datasets.id;class XFAObject{constructor(nsId,name){let hasChildren=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this[_symbol_utils.$namespaceId]=nsId,this[_symbol_utils.$nodeName]=name,this[_hasChildren]=hasChildren,this[_parent]=null,this[_children]=[],this[_symbol_utils.$uid]="".concat(name).concat(uid++),this[_symbol_utils.$globalData]=null}get isXFAObject(){return!0}get isXFAObjectArray(){return!1}createNodes(path){let root=this,node=null;for(const{name:name,index:index}of path){for(let i=0,ii=isFinite(index)?index:0;i<=ii;i++){const nsId=root[_symbol_utils.$namespaceId]===NS_DATASETS?-1:root[_symbol_utils.$namespaceId];node=new XmlObject(nsId,name),root[_symbol_utils.$appendChild](node)}root=node}return node}[_symbol_utils.$onChild](child){if(!this[_hasChildren]||!this[_symbol_utils.$onChildCheck](child))return!1;const name=child[_symbol_utils.$nodeName],node=this[name];if(!(node instanceof XFAObjectArray))return null!==node&&this[_symbol_utils.$removeChild](node),this[name]=child,this[_symbol_utils.$appendChild](child),!0;if(node.push(child))return this[_symbol_utils.$appendChild](child),!0;let id="";return this.id?id=" (id: ".concat(this.id,")"):this.name&&(id=" (name: ".concat(this.name," ").concat(this.h.value,")")),(0,_util.warn)('XFA - node "'.concat(this[_symbol_utils.$nodeName],'"').concat(id,' has already enough "').concat(name,'"!')),!1}[_symbol_utils.$onChildCheck](child){return this.hasOwnProperty(child[_symbol_utils.$nodeName])&&child[_symbol_utils.$namespaceId]===this[_symbol_utils.$namespaceId]}[_symbol_utils.$isNsAgnostic](){return!1}[_symbol_utils.$acceptWhitespace](){return!1}[_symbol_utils.$isCDATAXml](){return!1}[_symbol_utils.$isBindable](){return!1}[_symbol_utils.$popPara](){this.para&&this[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].paraStack.pop()}[_symbol_utils.$pushPara](){this[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].paraStack.push(this.para)}[_symbol_utils.$setId](ids){this.id&&this[_symbol_utils.$namespaceId]===_namespaces.NamespaceIds.template.id&&ids.set(this.id,this)}[_symbol_utils.$getTemplateRoot](){return this[_symbol_utils.$globalData].template}[_symbol_utils.$isSplittable](){return!1}[_symbol_utils.$isThereMoreWidth](){return!1}[_symbol_utils.$appendChild](child){child[_parent]=this,this[_children].push(child),!child[_symbol_utils.$globalData]&&this[_symbol_utils.$globalData]&&(child[_symbol_utils.$globalData]=this[_symbol_utils.$globalData])}[_symbol_utils.$removeChild](child){const i=this[_children].indexOf(child);this[_children].splice(i,1)}[_symbol_utils.$hasSettableValue](){return this.hasOwnProperty("value")}[_symbol_utils.$setValue](_){}[_symbol_utils.$onText](_){}[_symbol_utils.$finalize](){}[_symbol_utils.$clean](builder){delete this[_hasChildren],this[_symbol_utils.$cleanup]&&(builder.clean(this[_symbol_utils.$cleanup]),delete this[_symbol_utils.$cleanup])}[_symbol_utils.$indexOf](child){return this[_children].indexOf(child)}[_symbol_utils.$insertAt](i,child){child[_parent]=this,this[_children].splice(i,0,child),!child[_symbol_utils.$globalData]&&this[_symbol_utils.$globalData]&&(child[_symbol_utils.$globalData]=this[_symbol_utils.$globalData])}[_symbol_utils.$isTransparent](){return!this.name}[_symbol_utils.$lastAttribute](){return""}[_symbol_utils.$text](){return 0===this[_children].length?this[_symbol_utils.$content]:this[_children].map((c=>c[_symbol_utils.$text]())).join("")}get[_attributeNames](){const proto=Object.getPrototypeOf(this);if(!proto._attributes){const attributes=proto._attributes=new Set;for(const name of Object.getOwnPropertyNames(this)){if(null===this[name]||this[name]instanceof XFAObject||this[name]instanceof XFAObjectArray)break;attributes.add(name)}}return(0,_util.shadow)(this,_attributeNames,proto._attributes)}[_symbol_utils.$isDescendent](parent){let node=this;for(;node;){if(node===parent)return!0;node=node[_symbol_utils.$getParent]()}return!1}[_symbol_utils.$getParent](){return this[_parent]}[_symbol_utils.$getSubformParent](){return this[_symbol_utils.$getParent]()}[_symbol_utils.$getChildren](){let name=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return name?this[name]:this[_children]}[_symbol_utils.$dump](){const dumped=Object.create(null);this[_symbol_utils.$content]&&(dumped.$content=this[_symbol_utils.$content]);for(const name of Object.getOwnPropertyNames(this)){const value=this[name];null!==value&&(value instanceof XFAObject?dumped[name]=value[_symbol_utils.$dump]():value instanceof XFAObjectArray?value.isEmpty()||(dumped[name]=value.dump()):dumped[name]=value)}return dumped}[_symbol_utils.$toStyle](){return null}[_symbol_utils.$toHTML](){return _utils.HTMLResult.EMPTY}*[_symbol_utils.$getContainedChildren](){for(const node of this[_symbol_utils.$getChildren]())yield node}*[_filteredChildrenGenerator](filter,include){for(const node of this[_symbol_utils.$getContainedChildren]())if(!filter||include===filter.has(node[_symbol_utils.$nodeName])){const availableSpace=this[_symbol_utils.$getAvailableSpace](),res=node[_symbol_utils.$toHTML](availableSpace);res.success||(this[_symbol_utils.$extra].failingNode=node),yield res}}[_symbol_utils.$flushHTML](){return null}[_symbol_utils.$addHTML](html,bbox){this[_symbol_utils.$extra].children.push(html)}[_symbol_utils.$getAvailableSpace](){}[_symbol_utils.$childrenToHTML](_ref84){let{filter:filter=null,include:include=!0}=_ref84;if(this[_symbol_utils.$extra].generator){const availableSpace=this[_symbol_utils.$getAvailableSpace](),res=this[_symbol_utils.$extra].failingNode[_symbol_utils.$toHTML](availableSpace);if(!res.success)return res;res.html&&this[_symbol_utils.$addHTML](res.html,res.bbox),delete this[_symbol_utils.$extra].failingNode}else this[_symbol_utils.$extra].generator=this[_filteredChildrenGenerator](filter,include);for(;;){const gen=this[_symbol_utils.$extra].generator.next();if(gen.done)break;const res=gen.value;if(!res.success)return res;res.html&&this[_symbol_utils.$addHTML](res.html,res.bbox)}return this[_symbol_utils.$extra].generator=null,_utils.HTMLResult.EMPTY}[_symbol_utils.$setSetAttributes](attributes){this[_setAttributes]=new Set(Object.keys(attributes))}[_getUnsetAttributes](protoAttributes){const allAttr=this[_attributeNames],setAttr=this[_setAttributes];return[...protoAttributes].filter((x=>allAttr.has(x)&&!setAttr.has(x)))}[_symbol_utils.$resolvePrototypes](ids){let ancestors=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const child of this[_children])child[_resolvePrototypesHelper](ids,ancestors)}[_resolvePrototypesHelper](ids,ancestors){const proto=this[_getPrototype](ids,ancestors);proto?this[_applyPrototype](proto,ids,ancestors):this[_symbol_utils.$resolvePrototypes](ids,ancestors)}[_getPrototype](ids,ancestors){const{use:use,usehref:usehref}=this;if(!use&&!usehref)return null;let proto=null,somExpression=null,id=null,ref=use;if(usehref?(ref=usehref,usehref.startsWith("#som(")&&usehref.endsWith(")")?somExpression=usehref.slice("#som(".length,-1):usehref.startsWith(".#som(")&&usehref.endsWith(")")?somExpression=usehref.slice(".#som(".length,-1):usehref.startsWith("#")?id=usehref.slice(1):usehref.startsWith(".#")&&(id=usehref.slice(2))):use.startsWith("#")?id=use.slice(1):somExpression=use,this.use=this.usehref="",id?proto=ids.get(id):(proto=(0,_som.searchNode)(ids.get(_symbol_utils.$root),this,somExpression,!0,!1),proto&&(proto=proto[0])),!proto)return(0,_util.warn)("XFA - Invalid prototype reference: ".concat(ref,".")),null;if(proto[_symbol_utils.$nodeName]!==this[_symbol_utils.$nodeName])return(0,_util.warn)("XFA - Incompatible prototype: ".concat(proto[_symbol_utils.$nodeName]," !== ").concat(this[_symbol_utils.$nodeName],".")),null;if(ancestors.has(proto))return(0,_util.warn)("XFA - Cycle detected in prototypes use."),null;ancestors.add(proto);const protoProto=proto[_getPrototype](ids,ancestors);return protoProto&&proto[_applyPrototype](protoProto,ids,ancestors),proto[_symbol_utils.$resolvePrototypes](ids,ancestors),ancestors.delete(proto),proto}[_applyPrototype](proto,ids,ancestors){if(ancestors.has(proto))(0,_util.warn)("XFA - Cycle detected in prototypes use.");else{!this[_symbol_utils.$content]&&proto[_symbol_utils.$content]&&(this[_symbol_utils.$content]=proto[_symbol_utils.$content]),new Set(ancestors).add(proto);for(const unsetAttrName of this[_getUnsetAttributes](proto[_setAttributes]))this[unsetAttrName]=proto[unsetAttrName],this[_setAttributes]&&this[_setAttributes].add(unsetAttrName);for(const name of Object.getOwnPropertyNames(this)){if(this[_attributeNames].has(name))continue;const value=this[name],protoValue=proto[name];if(value instanceof XFAObjectArray){for(const child of value[_children])child[_resolvePrototypesHelper](ids,ancestors);for(let i=value[_children].length,ii=protoValue[_children].length;iXFAObject[_cloneAttribute](x))):"object"==typeof obj&&null!==obj?Object.assign({},obj):obj}[_symbol_utils.$clone](){const clone=Object.create(Object.getPrototypeOf(this));for(const $symbol of Object.getOwnPropertySymbols(this))try{clone[$symbol]=this[$symbol]}catch{(0,_util.shadow)(clone,$symbol,this[$symbol])}clone[_symbol_utils.$uid]="".concat(clone[_symbol_utils.$nodeName]).concat(uid++),clone[_children]=[];for(const name of Object.getOwnPropertyNames(this)){if(this[_attributeNames].has(name)){clone[name]=XFAObject[_cloneAttribute](this[name]);continue}const value=this[name];clone[name]=value instanceof XFAObjectArray?new XFAObjectArray(value[_max]):null}for(const child of this[_children]){const name=child[_symbol_utils.$nodeName],clonedChild=child[_symbol_utils.$clone]();clone[_children].push(clonedChild),clonedChild[_parent]=clone,null===clone[name]?clone[name]=clonedChild:clone[name][_children].push(clonedChild)}return clone}[_symbol_utils.$getChildren](){let name=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return name?this[_children].filter((c=>c[_symbol_utils.$nodeName]===name)):this[_children]}[_symbol_utils.$getChildrenByClass](name){return this[name]}[_symbol_utils.$getChildrenByName](name,allTransparent){let first=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return Array.from(this[_symbol_utils.$getChildrenByNameIt](name,allTransparent,first))}*[_symbol_utils.$getChildrenByNameIt](name,allTransparent){let first=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if("parent"!==name){for(const child of this[_children])child[_symbol_utils.$nodeName]===name&&(yield child),child.name===name&&(yield child),(allTransparent||child[_symbol_utils.$isTransparent]())&&(yield*child[_symbol_utils.$getChildrenByNameIt](name,allTransparent,!1));first&&this[_attributeNames].has(name)&&(yield new XFAAttribute(this,name,this[name]))}else yield this[_parent]}}exports.XFAObject=XFAObject;class XFAObjectArray{constructor(){let max=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;this[_max]=max,this[_children]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(child){return this[_children].length<=this[_max]?(this[_children].push(child),!0):((0,_util.warn)('XFA - node "'.concat(child[_symbol_utils.$nodeName],'" accepts no more than ').concat(this[_max]," children")),!1)}isEmpty(){return 0===this[_children].length}dump(){return 1===this[_children].length?this[_children][0][_symbol_utils.$dump]():this[_children].map((x=>x[_symbol_utils.$dump]()))}[_symbol_utils.$clone](){const clone=new XFAObjectArray(this[_max]);return clone[_children]=this[_children].map((c=>c[_symbol_utils.$clone]())),clone}get children(){return this[_children]}clear(){this[_children].length=0}}exports.XFAObjectArray=XFAObjectArray;class XFAAttribute{constructor(node,name,value){this[_parent]=node,this[_symbol_utils.$nodeName]=name,this[_symbol_utils.$content]=value,this[_symbol_utils.$consumed]=!1,this[_symbol_utils.$uid]="attribute".concat(uid++)}[_symbol_utils.$getParent](){return this[_parent]}[_symbol_utils.$isDataValue](){return!0}[_symbol_utils.$getDataValue](){return this[_symbol_utils.$content].trim()}[_symbol_utils.$setValue](value){value=value.value||"",this[_symbol_utils.$content]=value.toString()}[_symbol_utils.$text](){return this[_symbol_utils.$content]}[_symbol_utils.$isDescendent](parent){return this[_parent]===parent||this[_parent][_symbol_utils.$isDescendent](parent)}}exports.XFAAttribute=XFAAttribute;class XmlObject extends XFAObject{constructor(nsId,name){let attributes=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(super(nsId,name),this[_symbol_utils.$content]="",this[_dataValue]=null,"#text"!==name){const map=new Map;this[_attributes]=map;for(const[attrName,value]of Object.entries(attributes))map.set(attrName,new XFAAttribute(this,attrName,value));if(attributes.hasOwnProperty(_symbol_utils.$nsAttributes)){const dataNode=attributes[_symbol_utils.$nsAttributes].xfa.dataNode;void 0!==dataNode&&("dataGroup"===dataNode?this[_dataValue]=!1:"dataValue"===dataNode&&(this[_dataValue]=!0))}}this[_symbol_utils.$consumed]=!1}[_symbol_utils.$toString](buf){const tagName=this[_symbol_utils.$nodeName];if("#text"===tagName)return void buf.push((0,_core_utils.encodeToXmlString)(this[_symbol_utils.$content]));const utf8TagName=(0,_util.utf8StringToString)(tagName),prefix=this[_symbol_utils.$namespaceId]===NS_DATASETS?"xfa:":"";buf.push("<".concat(prefix).concat(utf8TagName));for(const[name,value]of this[_attributes].entries()){const utf8Name=(0,_util.utf8StringToString)(name);buf.push(" ".concat(utf8Name,'="').concat((0,_core_utils.encodeToXmlString)(value[_symbol_utils.$content]),'"'))}if(null!==this[_dataValue]&&(this[_dataValue]?buf.push(' xfa:dataNode="dataValue"'):buf.push(' xfa:dataNode="dataGroup"')),this[_symbol_utils.$content]||0!==this[_children].length){if(buf.push(">"),this[_symbol_utils.$content])"string"==typeof this[_symbol_utils.$content]?buf.push((0,_core_utils.encodeToXmlString)(this[_symbol_utils.$content])):this[_symbol_utils.$content][_symbol_utils.$toString](buf);else for(const child of this[_children])child[_symbol_utils.$toString](buf);buf.push(""))}else buf.push("/>")}[_symbol_utils.$onChild](child){if(this[_symbol_utils.$content]){const node=new XmlObject(this[_symbol_utils.$namespaceId],"#text");this[_symbol_utils.$appendChild](node),node[_symbol_utils.$content]=this[_symbol_utils.$content],this[_symbol_utils.$content]=""}return this[_symbol_utils.$appendChild](child),!0}[_symbol_utils.$onText](str){this[_symbol_utils.$content]+=str}[_symbol_utils.$finalize](){if(this[_symbol_utils.$content]&&this[_children].length>0){const node=new XmlObject(this[_symbol_utils.$namespaceId],"#text");this[_symbol_utils.$appendChild](node),node[_symbol_utils.$content]=this[_symbol_utils.$content],delete this[_symbol_utils.$content]}}[_symbol_utils.$toHTML](){return"#text"===this[_symbol_utils.$nodeName]?_utils.HTMLResult.success({name:"#text",value:this[_symbol_utils.$content]}):_utils.HTMLResult.EMPTY}[_symbol_utils.$getChildren](){let name=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return name?this[_children].filter((c=>c[_symbol_utils.$nodeName]===name)):this[_children]}[_symbol_utils.$getAttributes](){return this[_attributes]}[_symbol_utils.$getChildrenByClass](name){const value=this[_attributes].get(name);return void 0!==value?value:this[_symbol_utils.$getChildren](name)}*[_symbol_utils.$getChildrenByNameIt](name,allTransparent){const value=this[_attributes].get(name);value&&(yield value);for(const child of this[_children])child[_symbol_utils.$nodeName]===name&&(yield child),allTransparent&&(yield*child[_symbol_utils.$getChildrenByNameIt](name,allTransparent))}*[_symbol_utils.$getAttributeIt](name,skipConsumed){const value=this[_attributes].get(name);!value||skipConsumed&&value[_symbol_utils.$consumed]||(yield value);for(const child of this[_children])yield*child[_symbol_utils.$getAttributeIt](name,skipConsumed)}*[_symbol_utils.$getRealChildrenByNameIt](name,allTransparent,skipConsumed){for(const child of this[_children])child[_symbol_utils.$nodeName]!==name||skipConsumed&&child[_symbol_utils.$consumed]||(yield child),allTransparent&&(yield*child[_symbol_utils.$getRealChildrenByNameIt](name,allTransparent,skipConsumed))}[_symbol_utils.$isDataValue](){return null===this[_dataValue]?0===this[_children].length||this[_children][0][_symbol_utils.$namespaceId]===_namespaces.NamespaceIds.xhtml.id:this[_dataValue]}[_symbol_utils.$getDataValue](){return null===this[_dataValue]?0===this[_children].length?this[_symbol_utils.$content].trim():this[_children][0][_symbol_utils.$namespaceId]===_namespaces.NamespaceIds.xhtml.id?this[_children][0][_symbol_utils.$text]().trim():null:this[_symbol_utils.$content].trim()}[_symbol_utils.$setValue](value){value=value.value||"",this[_symbol_utils.$content]=value.toString()}[_symbol_utils.$dump](){let hasNS=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const dumped=Object.create(null);hasNS&&(dumped.$ns=this[_symbol_utils.$namespaceId]),this[_symbol_utils.$content]&&(dumped.$content=this[_symbol_utils.$content]),dumped.$name=this[_symbol_utils.$nodeName],dumped.children=[];for(const child of this[_children])dumped.children.push(child[_symbol_utils.$dump](hasNS));dumped.attributes=Object.create(null);for(const[name,value]of this[_attributes])dumped.attributes[name]=value[_symbol_utils.$content];return dumped}}exports.XmlObject=XmlObject;class ContentObject extends XFAObject{constructor(nsId,name){super(nsId,name),this[_symbol_utils.$content]=""}[_symbol_utils.$onText](text){this[_symbol_utils.$content]+=text}[_symbol_utils.$finalize](){}}exports.ContentObject=ContentObject;class OptionObject extends ContentObject{constructor(nsId,name,options){super(nsId,name),this[_options]=options}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=(0,_utils.getKeyword)({data:this[_symbol_utils.$content],defaultValue:this[_options][0],validate:k=>this[_options].includes(k)})}[_symbol_utils.$clean](builder){super[_symbol_utils.$clean](builder),delete this[_options]}}exports.OptionObject=OptionObject;class StringObject extends ContentObject{[_symbol_utils.$finalize](){this[_symbol_utils.$content]=this[_symbol_utils.$content].trim()}}exports.StringObject=StringObject;class IntegerObject extends ContentObject{constructor(nsId,name,defaultValue,validator){super(nsId,name),this[_defaultValue]=defaultValue,this[_validator]=validator}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=(0,_utils.getInteger)({data:this[_symbol_utils.$content],defaultValue:this[_defaultValue],validate:this[_validator]})}[_symbol_utils.$clean](builder){super[_symbol_utils.$clean](builder),delete this[_defaultValue],delete this[_validator]}}exports.IntegerObject=IntegerObject,exports.Option01=class extends IntegerObject{constructor(nsId,name){super(nsId,name,0,(n=>1===n))}},exports.Option10=class extends IntegerObject{constructor(nsId,name){super(nsId,name,1,(n=>0===n))}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.createDataNode=function(root,container,expr){const parsed=parseExpression(expr);if(!parsed)return null;if(parsed.some((x=>x.operator===operators_dotDot)))return null;const fn=shortcuts.get(parsed[0].name);let i=0;fn?(root=fn(root,container),i=1):root=container||root;for(let ii=parsed.length;i3&&void 0!==arguments[3])||arguments[3],useCache=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];const parsed=parseExpression(expr,dotDotAllowed);if(!parsed)return null;const fn=shortcuts.get(parsed[0].name);let isQualified,i=0;fn?(isQualified=!0,root=[fn(root,container)],i=1):(isQualified=null===container,root=[container||root]);for(let ii=parsed.length;i0&&nodes.push(children)}if(0!==nodes.length||isQualified||0!==i)root=isFinite(index)?nodes.filter((node=>indexnode[index])):nodes.flat();else{const parent=container[_symbol_utils.$getParent]();if(!(container=parent))return null;i=-1,root=[container]}}return 0===root.length?null:root};var _symbol_utils=__w_pdfjs_require__(78),_util=__w_pdfjs_require__(2);const namePattern=/^[^.[]+/,indexPattern=/^[^\]]+/,operators_dot=0,operators_dotDot=1,operators_dotHash=2,operators_dotBracket=3,operators_dotParen=4,shortcuts=new Map([["$data",(root,current)=>root.datasets?root.datasets.data:root],["$record",(root,current)=>(root.datasets?root.datasets.data:root)[_symbol_utils.$getChildren]()[0]],["$template",(root,current)=>root.template],["$connectionSet",(root,current)=>root.connectionSet],["$form",(root,current)=>root.form],["$layout",(root,current)=>root.layout],["$host",(root,current)=>root.host],["$dataWindow",(root,current)=>root.dataWindow],["$event",(root,current)=>root.event],["!",(root,current)=>root.datasets],["$xfa",(root,current)=>root],["xfa",(root,current)=>root],["$",(root,current)=>current]]),somCache=new WeakMap;function parseIndex(index){return"*"===(index=index.trim())?1/0:parseInt(index,10)||0}function parseExpression(expr,dotDotAllowed){let noExpr=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],match=expr.match(namePattern);if(!match)return null;let[name]=match;const parsed=[{name:name,cacheName:"."+name,index:0,js:null,formCalc:null,operator:operators_dot}];let pos=name.length;for(;pos{Object.defineProperty(exports,"__esModule",{value:!0}),exports.DataHandler=void 0;var _symbol_utils=__w_pdfjs_require__(78);exports.DataHandler=class{constructor(root,data){this.data=data,this.dataset=root.datasets||null}serialize(storage){const stack=[[-1,this.data[_symbol_utils.$getChildren]()]];for(;stack.length>0;){const last=stack.at(-1),[i,children]=last;if(i+1===children.length){stack.pop();continue}const child=children[++last[0]],storageEntry=storage.get(child[_symbol_utils.$uid]);if(storageEntry)child[_symbol_utils.$setValue](storageEntry);else{const attributes=child[_symbol_utils.$getAttributes]();for(const value of attributes.values()){const entry=storage.get(value[_symbol_utils.$uid]);if(entry){value[_symbol_utils.$setValue](entry);break}}}const nodes=child[_symbol_utils.$getChildren]();nodes.length>0&&stack.push([-1,nodes])}const buf=[''];if(this.dataset)for(const child of this.dataset[_symbol_utils.$getChildren]())"data"!==child[_symbol_utils.$nodeName]&&child[_symbol_utils.$toString](buf);return this.data[_symbol_utils.$toString](buf),buf.push(""),buf.join("")}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XFAParser=void 0;var _symbol_utils=__w_pdfjs_require__(78),_xml_parser=__w_pdfjs_require__(71),_builder=__w_pdfjs_require__(91),_util=__w_pdfjs_require__(2);class XFAParser extends _xml_parser.XMLParserBase{constructor(){let rootNameSpace=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,richText=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super(),this._builder=new _builder.Builder(rootNameSpace),this._stack=[],this._globalData={usedTypefaces:new Set},this._ids=new Map,this._current=this._builder.buildRoot(this._ids),this._errorCode=_xml_parser.XMLParserErrorCode.NoError,this._whiteRegex=/^\s+$/,this._nbsps=/\xa0+/g,this._richText=richText}parse(data){if(this.parseXml(data),this._errorCode===_xml_parser.XMLParserErrorCode.NoError)return this._current[_symbol_utils.$finalize](),this._current.element}onText(text){text=text.replace(this._nbsps,(match=>match.slice(1)+" ")),this._richText||this._current[_symbol_utils.$acceptWhitespace]()?this._current[_symbol_utils.$onText](text,this._richText):this._whiteRegex.test(text)||this._current[_symbol_utils.$onText](text.trim())}onCdata(text){this._current[_symbol_utils.$onText](text)}_mkAttributes(attributes,tagName){let namespace=null,prefixes=null;const attributeObj=Object.create({});for(const{name:name,value:value}of attributes)if("xmlns"===name)namespace?(0,_util.warn)("XFA - multiple namespace definition in <".concat(tagName,">")):namespace=value;else if(name.startsWith("xmlns:")){const prefix=name.substring("xmlns:".length);prefixes||(prefixes=[]),prefixes.push({prefix:prefix,value:value})}else{const i=name.indexOf(":");if(-1===i)attributeObj[name]=value;else{var _nsAttrs;let nsAttrs=attributeObj[_symbol_utils.$nsAttributes];nsAttrs||(nsAttrs=attributeObj[_symbol_utils.$nsAttributes]=Object.create(null));const[ns,attrName]=[name.slice(0,i),name.slice(i+1)];((_nsAttrs=nsAttrs)[ns]||(_nsAttrs[ns]=Object.create(null)))[attrName]=value}}return[namespace,prefixes,attributeObj]}_getNameAndPrefix(name,nsAgnostic){const i=name.indexOf(":");return-1===i?[name,null]:[name.substring(i+1),nsAgnostic?"":name.substring(0,i)]}onBeginElement(tagName,attributes,isEmpty){const[namespace,prefixes,attributesObj]=this._mkAttributes(attributes,tagName),[name,nsPrefix]=this._getNameAndPrefix(tagName,this._builder.isNsAgnostic()),node=this._builder.build({nsPrefix:nsPrefix,name:name,attributes:attributesObj,namespace:namespace,prefixes:prefixes});if(node[_symbol_utils.$globalData]=this._globalData,isEmpty)return node[_symbol_utils.$finalize](),this._current[_symbol_utils.$onChild](node)&&node[_symbol_utils.$setId](this._ids),void node[_symbol_utils.$clean](this._builder);this._stack.push(this._current),this._current=node}onEndElement(name){const node=this._current;if(node[_symbol_utils.$isCDATAXml]()&&"string"==typeof node[_symbol_utils.$content]){const parser=new XFAParser;parser._globalData=this._globalData;const root=parser.parse(node[_symbol_utils.$content]);node[_symbol_utils.$content]=null,node[_symbol_utils.$onChild](root)}node[_symbol_utils.$finalize](),this._current=this._stack.pop(),this._current[_symbol_utils.$onChild](node)&&node[_symbol_utils.$setId](this._ids),node[_symbol_utils.$clean](this._builder)}onError(code){this._errorCode=code}}exports.XFAParser=XFAParser},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.Builder=void 0;var _namespaces=__w_pdfjs_require__(81),_symbol_utils=__w_pdfjs_require__(78),_setup=__w_pdfjs_require__(92),_template=__w_pdfjs_require__(80),_unknown=__w_pdfjs_require__(101),_util=__w_pdfjs_require__(2),_xfa_object=__w_pdfjs_require__(87);class Root extends _xfa_object.XFAObject{constructor(ids){super(-1,"root",Object.create(null)),this.element=null,this[_symbol_utils.$ids]=ids}[_symbol_utils.$onChild](child){return this.element=child,!0}[_symbol_utils.$finalize](){super[_symbol_utils.$finalize](),this.element.template instanceof _template.Template&&(this[_symbol_utils.$ids].set(_symbol_utils.$root,this.element),this.element.template[_symbol_utils.$resolvePrototypes](this[_symbol_utils.$ids]),this.element.template[_symbol_utils.$ids]=this[_symbol_utils.$ids])}}class Empty extends _xfa_object.XFAObject{constructor(){super(-1,"",Object.create(null))}[_symbol_utils.$onChild](_){return!1}}exports.Builder=class{constructor(){let rootNameSpace=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._namespaceStack=[],this._nsAgnosticLevel=0,this._namespacePrefixes=new Map,this._namespaces=new Map,this._nextNsId=Math.max(...Object.values(_namespaces.NamespaceIds).map((_ref85=>{let{id:id}=_ref85;return id}))),this._currentNamespace=rootNameSpace||new _unknown.UnknownNamespace(++this._nextNsId)}buildRoot(ids){return new Root(ids)}build(_ref86){let{nsPrefix:nsPrefix,name:name,attributes:attributes,namespace:namespace,prefixes:prefixes}=_ref86;const hasNamespaceDef=null!==namespace;if(hasNamespaceDef&&(this._namespaceStack.push(this._currentNamespace),this._currentNamespace=this._searchNamespace(namespace)),prefixes&&this._addNamespacePrefix(prefixes),attributes.hasOwnProperty(_symbol_utils.$nsAttributes)){const dataTemplate=_setup.NamespaceSetUp.datasets,nsAttrs=attributes[_symbol_utils.$nsAttributes];let xfaAttrs=null;for(const[ns,attrs]of Object.entries(nsAttrs))if(this._getNamespaceToUse(ns)===dataTemplate){xfaAttrs={xfa:attrs};break}xfaAttrs?attributes[_symbol_utils.$nsAttributes]=xfaAttrs:delete attributes[_symbol_utils.$nsAttributes]}const namespaceToUse=this._getNamespaceToUse(nsPrefix),node=(null==namespaceToUse?void 0:namespaceToUse[_namespaces.$buildXFAObject](name,attributes))||new Empty;return node[_symbol_utils.$isNsAgnostic]()&&this._nsAgnosticLevel++,(hasNamespaceDef||prefixes||node[_symbol_utils.$isNsAgnostic]())&&(node[_symbol_utils.$cleanup]={hasNamespace:hasNamespaceDef,prefixes:prefixes,nsAgnostic:node[_symbol_utils.$isNsAgnostic]()}),node}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(nsName){let ns=this._namespaces.get(nsName);if(ns)return ns;for(const[name,{check:check}]of Object.entries(_namespaces.NamespaceIds))if(check(nsName)){if(ns=_setup.NamespaceSetUp[name],ns)return this._namespaces.set(nsName,ns),ns;break}return ns=new _unknown.UnknownNamespace(++this._nextNsId),this._namespaces.set(nsName,ns),ns}_addNamespacePrefix(prefixes){for(const{prefix:prefix,value:value}of prefixes){const namespace=this._searchNamespace(value);let prefixStack=this._namespacePrefixes.get(prefix);prefixStack||(prefixStack=[],this._namespacePrefixes.set(prefix,prefixStack)),prefixStack.push(namespace)}}_getNamespaceToUse(prefix){if(!prefix)return this._currentNamespace;const prefixStack=this._namespacePrefixes.get(prefix);return(null==prefixStack?void 0:prefixStack.length)>0?prefixStack.at(-1):((0,_util.warn)("Unknown namespace prefix: ".concat(prefix,".")),null)}clean(data){const{hasNamespace:hasNamespace,prefixes:prefixes,nsAgnostic:nsAgnostic}=data;hasNamespace&&(this._currentNamespace=this._namespaceStack.pop()),prefixes&&prefixes.forEach((_ref87=>{let{prefix:prefix}=_ref87;this._namespacePrefixes.get(prefix).pop()})),nsAgnostic&&this._nsAgnosticLevel--}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.NamespaceSetUp=void 0;var _config=__w_pdfjs_require__(93),_connection_set=__w_pdfjs_require__(94),_datasets=__w_pdfjs_require__(95),_locale_set=__w_pdfjs_require__(96),_signature=__w_pdfjs_require__(97),_stylesheet=__w_pdfjs_require__(98),_template=__w_pdfjs_require__(80),_xdp=__w_pdfjs_require__(99),_xhtml=__w_pdfjs_require__(100);const NamespaceSetUp={config:_config.ConfigNamespace,connection:_connection_set.ConnectionSetNamespace,datasets:_datasets.DatasetsNamespace,localeSet:_locale_set.LocaleSetNamespace,signature:_signature.SignatureNamespace,stylesheet:_stylesheet.StylesheetNamespace,template:_template.TemplateNamespace,xdp:_xdp.XdpNamespace,xhtml:_xhtml.XhtmlNamespace};exports.NamespaceSetUp=NamespaceSetUp},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConfigNamespace=void 0;var _namespaces=__w_pdfjs_require__(81),_symbol_utils=__w_pdfjs_require__(78),_xfa_object=__w_pdfjs_require__(87),_utils=__w_pdfjs_require__(84),_util=__w_pdfjs_require__(2);const CONFIG_NS_ID=_namespaces.NamespaceIds.config.id;class Acrobat extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"acrobat",!0),this.acrobat7=null,this.autoSave=null,this.common=null,this.validate=null,this.validateApprovalSignatures=null,this.submitUrl=new _xfa_object.XFAObjectArray}}class Acrobat7 extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"acrobat7",!0),this.dynamicRender=null}}class ADBE_JSConsole extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"ADBE_JSConsole",["delegate","Enable","Disable"])}}class ADBE_JSDebugger extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"ADBE_JSDebugger",["delegate","Enable","Disable"])}}class AddSilentPrint extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"addSilentPrint")}}class AddViewerPreferences extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"addViewerPreferences")}}class AdjustData extends _xfa_object.Option10{constructor(attributes){super(CONFIG_NS_ID,"adjustData")}}class AdobeExtensionLevel extends _xfa_object.IntegerObject{constructor(attributes){super(CONFIG_NS_ID,"adobeExtensionLevel",0,(n=>n>=1&&n<=8))}}class Agent extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"agent",!0),this.name=attributes.name?attributes.name.trim():"",this.common=new _xfa_object.XFAObjectArray}}class AlwaysEmbed extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"alwaysEmbed")}}class Amd extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"amd")}}class Area extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"area"),this.level=(0,_utils.getInteger)({data:attributes.level,defaultValue:0,validate:n=>n>=1&&n<=3}),this.name=(0,_utils.getStringOption)(attributes.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}}class Attributes extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"attributes",["preserve","delegate","ignore"])}}class AutoSave extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"autoSave",["disabled","enabled"])}}class Base extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"base")}}class BatchOutput extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"batchOutput"),this.format=(0,_utils.getStringOption)(attributes.format,["none","concat","zip","zipCompress"])}}class BehaviorOverride extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"behaviorOverride")}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=new Map(this[_symbol_utils.$content].trim().split(/\s+/).filter((x=>x.includes(":"))).map((x=>x.split(":",2))))}}class Cache extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"cache",!0),this.templateCache=null}}class Change extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"change")}}class Common extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"common",!0),this.data=null,this.locale=null,this.localeSet=null,this.messaging=null,this.suppressBanner=null,this.template=null,this.validationMessaging=null,this.versionControl=null,this.log=new _xfa_object.XFAObjectArray}}class Compress extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"compress"),this.scope=(0,_utils.getStringOption)(attributes.scope,["imageOnly","document"])}}class CompressLogicalStructure extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"compressLogicalStructure")}}class CompressObjectStream extends _xfa_object.Option10{constructor(attributes){super(CONFIG_NS_ID,"compressObjectStream")}}class Compression extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"compression",!0),this.compressLogicalStructure=null,this.compressObjectStream=null,this.level=null,this.type=null}}class Config extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"config",!0),this.acrobat=null,this.present=null,this.trace=null,this.agent=new _xfa_object.XFAObjectArray}}class Conformance extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"conformance",["A","B"])}}class ContentCopy extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"contentCopy")}}class Copies extends _xfa_object.IntegerObject{constructor(attributes){super(CONFIG_NS_ID,"copies",1,(n=>n>=1))}}class Creator extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"creator")}}class CurrentPage extends _xfa_object.IntegerObject{constructor(attributes){super(CONFIG_NS_ID,"currentPage",0,(n=>n>=0))}}class Data extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"data",!0),this.adjustData=null,this.attributes=null,this.incrementalLoad=null,this.outputXSL=null,this.range=null,this.record=null,this.startNode=null,this.uri=null,this.window=null,this.xsl=null,this.excludeNS=new _xfa_object.XFAObjectArray,this.transform=new _xfa_object.XFAObjectArray}}class Debug extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"debug",!0),this.uri=null}}class DefaultTypeface extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"defaultTypeface"),this.writingScript=(0,_utils.getStringOption)(attributes.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}}class Destination extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"destination",["pdf","pcl","ps","webClient","zpl"])}}class DocumentAssembly extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"documentAssembly")}}class Driver extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"driver",!0),this.name=attributes.name?attributes.name.trim():"",this.fontInfo=null,this.xdc=null}}class DuplexOption extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}}class DynamicRender extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"dynamicRender",["forbidden","required"])}}class Embed extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"embed")}}class Encrypt extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"encrypt")}}class Encryption extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"encryption",!0),this.encrypt=null,this.encryptionLevel=null,this.permissions=null}}class EncryptionLevel extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"encryptionLevel",["40bit","128bit"])}}class Enforce extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"enforce")}}class Equate extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"equate"),this.force=(0,_utils.getInteger)({data:attributes.force,defaultValue:1,validate:n=>0===n}),this.from=attributes.from||"",this.to=attributes.to||""}}class EquateRange extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"equateRange"),this.from=attributes.from||"",this.to=attributes.to||"",this._unicodeRange=attributes.unicodeRange||""}get unicodeRange(){const ranges=[],unicodeRegex=/U\+([0-9a-fA-F]+)/,unicodeRange=this._unicodeRange;for(let range of unicodeRange.split(",").map((x=>x.trim())).filter((x=>!!x)))range=range.split("-",2).map((x=>{const found=x.match(unicodeRegex);return found?parseInt(found[1],16):0})),1===range.length&&range.push(range[0]),ranges.push(range);return(0,_util.shadow)(this,"unicodeRange",ranges)}}class Exclude extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"exclude")}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=this[_symbol_utils.$content].trim().split(/\s+/).filter((x=>x&&["calculate","close","enter","exit","initialize","ready","validate"].includes(x)))}}class ExcludeNS extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"excludeNS")}}class FlipLabel extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"flipLabel",["usePrinterSetting","on","off"])}}class FontInfo extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"fontInfo",!0),this.embed=null,this.map=null,this.subsetBelow=null,this.alwaysEmbed=new _xfa_object.XFAObjectArray,this.defaultTypeface=new _xfa_object.XFAObjectArray,this.neverEmbed=new _xfa_object.XFAObjectArray}}class FormFieldFilling extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"formFieldFilling")}}class GroupParent extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"groupParent")}}class IfEmpty extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}}class IncludeXDPContent extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"includeXDPContent")}}class IncrementalLoad extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"incrementalLoad",["none","forwardOnly"])}}class IncrementalMerge extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"incrementalMerge")}}class Interactive extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"interactive")}}class Jog extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"jog",["usePrinterSetting","none","pageSet"])}}class LabelPrinter extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"labelPrinter",!0),this.name=(0,_utils.getStringOption)(attributes.name,["zpl","dpl","ipl","tcpl"]),this.batchOutput=null,this.flipLabel=null,this.fontInfo=null,this.xdc=null}}class Layout extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"layout",["paginate","panel"])}}class Level extends _xfa_object.IntegerObject{constructor(attributes){super(CONFIG_NS_ID,"level",0,(n=>n>0))}}class Linearized extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"linearized")}}class Locale extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"locale")}}class LocaleSet extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"localeSet")}}class Log extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"log",!0),this.mode=null,this.threshold=null,this.to=null,this.uri=null}}class MapElement extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"map",!0),this.equate=new _xfa_object.XFAObjectArray,this.equateRange=new _xfa_object.XFAObjectArray}}class MediumInfo extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"mediumInfo",!0),this.map=null}}class Message extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"message",!0),this.msgId=null,this.severity=null}}class Messaging extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"messaging",!0),this.message=new _xfa_object.XFAObjectArray}}class Mode extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"mode",["append","overwrite"])}}class ModifyAnnots extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"modifyAnnots")}}class MsgId extends _xfa_object.IntegerObject{constructor(attributes){super(CONFIG_NS_ID,"msgId",1,(n=>n>=1))}}class NameAttr extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"nameAttr")}}class NeverEmbed extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"neverEmbed")}}class NumberOfCopies extends _xfa_object.IntegerObject{constructor(attributes){super(CONFIG_NS_ID,"numberOfCopies",null,(n=>n>=2&&n<=5))}}class OpenAction extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"openAction",!0),this.destination=null}}class Output extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"output",!0),this.to=null,this.type=null,this.uri=null}}class OutputBin extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"outputBin")}}class OutputXSL extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"outputXSL",!0),this.uri=null}}class Overprint extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"overprint",["none","both","draw","field"])}}class Packets extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"packets")}[_symbol_utils.$finalize](){"*"!==this[_symbol_utils.$content]&&(this[_symbol_utils.$content]=this[_symbol_utils.$content].trim().split(/\s+/).filter((x=>["config","datasets","template","xfdf","xslt"].includes(x))))}}class PageOffset extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"pageOffset"),this.x=(0,_utils.getInteger)({data:attributes.x,defaultValue:"useXDCSetting",validate:n=>!0}),this.y=(0,_utils.getInteger)({data:attributes.y,defaultValue:"useXDCSetting",validate:n=>!0})}}class PageRange extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"pageRange")}[_symbol_utils.$finalize](){const numbers=this[_symbol_utils.$content].trim().split(/\s+/).map((x=>parseInt(x,10))),ranges=[];for(let i=0,ii=numbers.length;i!1))}}class Pcl extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"pcl",!0),this.name=attributes.name||"",this.batchOutput=null,this.fontInfo=null,this.jog=null,this.mediumInfo=null,this.outputBin=null,this.pageOffset=null,this.staple=null,this.xdc=null}}class Pdf extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"pdf",!0),this.name=attributes.name||"",this.adobeExtensionLevel=null,this.batchOutput=null,this.compression=null,this.creator=null,this.encryption=null,this.fontInfo=null,this.interactive=null,this.linearized=null,this.openAction=null,this.pdfa=null,this.producer=null,this.renderPolicy=null,this.scriptModel=null,this.silentPrint=null,this.submitFormat=null,this.tagged=null,this.version=null,this.viewerPreferences=null,this.xdc=null}}class Pdfa extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"pdfa",!0),this.amd=null,this.conformance=null,this.includeXDPContent=null,this.part=null}}class Permissions extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"permissions",!0),this.accessibleContent=null,this.change=null,this.contentCopy=null,this.documentAssembly=null,this.formFieldFilling=null,this.modifyAnnots=null,this.plaintextMetadata=null,this.print=null,this.printHighQuality=null}}class PickTrayByPDFSize extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"pickTrayByPDFSize")}}class Picture extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"picture")}}class PlaintextMetadata extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"plaintextMetadata")}}class Presence extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}}class Present extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"present",!0),this.behaviorOverride=null,this.cache=null,this.common=null,this.copies=null,this.destination=null,this.incrementalMerge=null,this.layout=null,this.output=null,this.overprint=null,this.pagination=null,this.paginationOverride=null,this.script=null,this.validate=null,this.xdp=null,this.driver=new _xfa_object.XFAObjectArray,this.labelPrinter=new _xfa_object.XFAObjectArray,this.pcl=new _xfa_object.XFAObjectArray,this.pdf=new _xfa_object.XFAObjectArray,this.ps=new _xfa_object.XFAObjectArray,this.submitUrl=new _xfa_object.XFAObjectArray,this.webClient=new _xfa_object.XFAObjectArray,this.zpl=new _xfa_object.XFAObjectArray}}class Print extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"print")}}class PrintHighQuality extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"printHighQuality")}}class PrintScaling extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"printScaling",["appdefault","noScaling"])}}class PrinterName extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"printerName")}}class Producer extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"producer")}}class Ps extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"ps",!0),this.name=attributes.name||"",this.batchOutput=null,this.fontInfo=null,this.jog=null,this.mediumInfo=null,this.outputBin=null,this.staple=null,this.xdc=null}}class Range extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"range")}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=this[_symbol_utils.$content].trim().split(/\s*,\s*/,2).map((range=>range.split("-").map((x=>parseInt(x.trim(),10))))).filter((range=>range.every((x=>!isNaN(x))))).map((range=>(1===range.length&&range.push(range[0]),range)))}}class Record extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"record")}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=this[_symbol_utils.$content].trim();const n=parseInt(this[_symbol_utils.$content],10);!isNaN(n)&&n>=0&&(this[_symbol_utils.$content]=n)}}class Relevant extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"relevant")}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=this[_symbol_utils.$content].trim().split(/\s+/)}}class Rename extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"rename")}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=this[_symbol_utils.$content].trim(),(this[_symbol_utils.$content].toLowerCase().startsWith("xml")||new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*","u").test(this[_symbol_utils.$content]))&&(0,_util.warn)("XFA - Rename: invalid XFA name")}}class RenderPolicy extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"renderPolicy",["server","client"])}}class RunScripts extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"runScripts",["both","client","none","server"])}}class Script extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"script",!0),this.currentPage=null,this.exclude=null,this.runScripts=null}}class ScriptModel extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"scriptModel",["XFA","none"])}}class Severity extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"severity",["ignore","error","information","trace","warning"])}}class SilentPrint extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"silentPrint",!0),this.addSilentPrint=null,this.printerName=null}}class Staple extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"staple"),this.mode=(0,_utils.getStringOption)(attributes.mode,["usePrinterSetting","on","off"])}}class StartNode extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"startNode")}}class StartPage extends _xfa_object.IntegerObject{constructor(attributes){super(CONFIG_NS_ID,"startPage",0,(n=>!0))}}class SubmitFormat extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"submitFormat",["html","delegate","fdf","xml","pdf"])}}class SubmitUrl extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"submitUrl")}}class SubsetBelow extends _xfa_object.IntegerObject{constructor(attributes){super(CONFIG_NS_ID,"subsetBelow",100,(n=>n>=0&&n<=100))}}class SuppressBanner extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"suppressBanner")}}class Tagged extends _xfa_object.Option01{constructor(attributes){super(CONFIG_NS_ID,"tagged")}}class Template extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"template",!0),this.base=null,this.relevant=null,this.startPage=null,this.uri=null,this.xsl=null}}class Threshold extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"threshold",["trace","error","information","warning"])}}class To extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"to",["null","memory","stderr","stdout","system","uri"])}}class TemplateCache extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"templateCache"),this.maxEntries=(0,_utils.getInteger)({data:attributes.maxEntries,defaultValue:5,validate:n=>n>=0})}}class Trace extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"trace",!0),this.area=new _xfa_object.XFAObjectArray}}class Transform extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"transform",!0),this.groupParent=null,this.ifEmpty=null,this.nameAttr=null,this.picture=null,this.presence=null,this.rename=null,this.whitespace=null}}class Type extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}}class Uri extends _xfa_object.StringObject{constructor(attributes){super(CONFIG_NS_ID,"uri")}}class Validate extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"validate",["preSubmit","prePrint","preExecute","preSave"])}}class ValidateApprovalSignatures extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"validateApprovalSignatures")}[_symbol_utils.$finalize](){this[_symbol_utils.$content]=this[_symbol_utils.$content].trim().split(/\s+/).filter((x=>["docReady","postSign"].includes(x)))}}class ValidationMessaging extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}}class Version extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}}class VersionControl extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"VersionControl"),this.outputBelow=(0,_utils.getStringOption)(attributes.outputBelow,["warn","error","update"]),this.sourceAbove=(0,_utils.getStringOption)(attributes.sourceAbove,["warn","error"]),this.sourceBelow=(0,_utils.getStringOption)(attributes.sourceBelow,["update","maintain"])}}class ViewerPreferences extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"viewerPreferences",!0),this.ADBE_JSConsole=null,this.ADBE_JSDebugger=null,this.addViewerPreferences=null,this.duplexOption=null,this.enforce=null,this.numberOfCopies=null,this.pageRange=null,this.pickTrayByPDFSize=null,this.printScaling=null}}class WebClient extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"webClient",!0),this.name=attributes.name?attributes.name.trim():"",this.fontInfo=null,this.xdc=null}}class Whitespace extends _xfa_object.OptionObject{constructor(attributes){super(CONFIG_NS_ID,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}}class Window extends _xfa_object.ContentObject{constructor(attributes){super(CONFIG_NS_ID,"window")}[_symbol_utils.$finalize](){const pair=this[_symbol_utils.$content].trim().split(/\s*,\s*/,2).map((x=>parseInt(x,10)));pair.some((x=>isNaN(x)))?this[_symbol_utils.$content]=[0,0]:(1===pair.length&&pair.push(pair[0]),this[_symbol_utils.$content]=pair)}}class Xdc extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"xdc",!0),this.uri=new _xfa_object.XFAObjectArray,this.xsl=new _xfa_object.XFAObjectArray}}class Xdp extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"xdp",!0),this.packets=null}}class Xsl extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"xsl",!0),this.debug=null,this.uri=null}}class Zpl extends _xfa_object.XFAObject{constructor(attributes){super(CONFIG_NS_ID,"zpl",!0),this.name=attributes.name?attributes.name.trim():"",this.batchOutput=null,this.flipLabel=null,this.fontInfo=null,this.xdc=null}}class ConfigNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(ConfigNamespace.hasOwnProperty(name))return ConfigNamespace[name](attributes)}static acrobat(attrs){return new Acrobat(attrs)}static acrobat7(attrs){return new Acrobat7(attrs)}static ADBE_JSConsole(attrs){return new ADBE_JSConsole(attrs)}static ADBE_JSDebugger(attrs){return new ADBE_JSDebugger(attrs)}static addSilentPrint(attrs){return new AddSilentPrint(attrs)}static addViewerPreferences(attrs){return new AddViewerPreferences(attrs)}static adjustData(attrs){return new AdjustData(attrs)}static adobeExtensionLevel(attrs){return new AdobeExtensionLevel(attrs)}static agent(attrs){return new Agent(attrs)}static alwaysEmbed(attrs){return new AlwaysEmbed(attrs)}static amd(attrs){return new Amd(attrs)}static area(attrs){return new Area(attrs)}static attributes(attrs){return new Attributes(attrs)}static autoSave(attrs){return new AutoSave(attrs)}static base(attrs){return new Base(attrs)}static batchOutput(attrs){return new BatchOutput(attrs)}static behaviorOverride(attrs){return new BehaviorOverride(attrs)}static cache(attrs){return new Cache(attrs)}static change(attrs){return new Change(attrs)}static common(attrs){return new Common(attrs)}static compress(attrs){return new Compress(attrs)}static compressLogicalStructure(attrs){return new CompressLogicalStructure(attrs)}static compressObjectStream(attrs){return new CompressObjectStream(attrs)}static compression(attrs){return new Compression(attrs)}static config(attrs){return new Config(attrs)}static conformance(attrs){return new Conformance(attrs)}static contentCopy(attrs){return new ContentCopy(attrs)}static copies(attrs){return new Copies(attrs)}static creator(attrs){return new Creator(attrs)}static currentPage(attrs){return new CurrentPage(attrs)}static data(attrs){return new Data(attrs)}static debug(attrs){return new Debug(attrs)}static defaultTypeface(attrs){return new DefaultTypeface(attrs)}static destination(attrs){return new Destination(attrs)}static documentAssembly(attrs){return new DocumentAssembly(attrs)}static driver(attrs){return new Driver(attrs)}static duplexOption(attrs){return new DuplexOption(attrs)}static dynamicRender(attrs){return new DynamicRender(attrs)}static embed(attrs){return new Embed(attrs)}static encrypt(attrs){return new Encrypt(attrs)}static encryption(attrs){return new Encryption(attrs)}static encryptionLevel(attrs){return new EncryptionLevel(attrs)}static enforce(attrs){return new Enforce(attrs)}static equate(attrs){return new Equate(attrs)}static equateRange(attrs){return new EquateRange(attrs)}static exclude(attrs){return new Exclude(attrs)}static excludeNS(attrs){return new ExcludeNS(attrs)}static flipLabel(attrs){return new FlipLabel(attrs)}static fontInfo(attrs){return new FontInfo(attrs)}static formFieldFilling(attrs){return new FormFieldFilling(attrs)}static groupParent(attrs){return new GroupParent(attrs)}static ifEmpty(attrs){return new IfEmpty(attrs)}static includeXDPContent(attrs){return new IncludeXDPContent(attrs)}static incrementalLoad(attrs){return new IncrementalLoad(attrs)}static incrementalMerge(attrs){return new IncrementalMerge(attrs)}static interactive(attrs){return new Interactive(attrs)}static jog(attrs){return new Jog(attrs)}static labelPrinter(attrs){return new LabelPrinter(attrs)}static layout(attrs){return new Layout(attrs)}static level(attrs){return new Level(attrs)}static linearized(attrs){return new Linearized(attrs)}static locale(attrs){return new Locale(attrs)}static localeSet(attrs){return new LocaleSet(attrs)}static log(attrs){return new Log(attrs)}static map(attrs){return new MapElement(attrs)}static mediumInfo(attrs){return new MediumInfo(attrs)}static message(attrs){return new Message(attrs)}static messaging(attrs){return new Messaging(attrs)}static mode(attrs){return new Mode(attrs)}static modifyAnnots(attrs){return new ModifyAnnots(attrs)}static msgId(attrs){return new MsgId(attrs)}static nameAttr(attrs){return new NameAttr(attrs)}static neverEmbed(attrs){return new NeverEmbed(attrs)}static numberOfCopies(attrs){return new NumberOfCopies(attrs)}static openAction(attrs){return new OpenAction(attrs)}static output(attrs){return new Output(attrs)}static outputBin(attrs){return new OutputBin(attrs)}static outputXSL(attrs){return new OutputXSL(attrs)}static overprint(attrs){return new Overprint(attrs)}static packets(attrs){return new Packets(attrs)}static pageOffset(attrs){return new PageOffset(attrs)}static pageRange(attrs){return new PageRange(attrs)}static pagination(attrs){return new Pagination(attrs)}static paginationOverride(attrs){return new PaginationOverride(attrs)}static part(attrs){return new Part(attrs)}static pcl(attrs){return new Pcl(attrs)}static pdf(attrs){return new Pdf(attrs)}static pdfa(attrs){return new Pdfa(attrs)}static permissions(attrs){return new Permissions(attrs)}static pickTrayByPDFSize(attrs){return new PickTrayByPDFSize(attrs)}static picture(attrs){return new Picture(attrs)}static plaintextMetadata(attrs){return new PlaintextMetadata(attrs)}static presence(attrs){return new Presence(attrs)}static present(attrs){return new Present(attrs)}static print(attrs){return new Print(attrs)}static printHighQuality(attrs){return new PrintHighQuality(attrs)}static printScaling(attrs){return new PrintScaling(attrs)}static printerName(attrs){return new PrinterName(attrs)}static producer(attrs){return new Producer(attrs)}static ps(attrs){return new Ps(attrs)}static range(attrs){return new Range(attrs)}static record(attrs){return new Record(attrs)}static relevant(attrs){return new Relevant(attrs)}static rename(attrs){return new Rename(attrs)}static renderPolicy(attrs){return new RenderPolicy(attrs)}static runScripts(attrs){return new RunScripts(attrs)}static script(attrs){return new Script(attrs)}static scriptModel(attrs){return new ScriptModel(attrs)}static severity(attrs){return new Severity(attrs)}static silentPrint(attrs){return new SilentPrint(attrs)}static staple(attrs){return new Staple(attrs)}static startNode(attrs){return new StartNode(attrs)}static startPage(attrs){return new StartPage(attrs)}static submitFormat(attrs){return new SubmitFormat(attrs)}static submitUrl(attrs){return new SubmitUrl(attrs)}static subsetBelow(attrs){return new SubsetBelow(attrs)}static suppressBanner(attrs){return new SuppressBanner(attrs)}static tagged(attrs){return new Tagged(attrs)}static template(attrs){return new Template(attrs)}static templateCache(attrs){return new TemplateCache(attrs)}static threshold(attrs){return new Threshold(attrs)}static to(attrs){return new To(attrs)}static trace(attrs){return new Trace(attrs)}static transform(attrs){return new Transform(attrs)}static type(attrs){return new Type(attrs)}static uri(attrs){return new Uri(attrs)}static validate(attrs){return new Validate(attrs)}static validateApprovalSignatures(attrs){return new ValidateApprovalSignatures(attrs)}static validationMessaging(attrs){return new ValidationMessaging(attrs)}static version(attrs){return new Version(attrs)}static versionControl(attrs){return new VersionControl(attrs)}static viewerPreferences(attrs){return new ViewerPreferences(attrs)}static webClient(attrs){return new WebClient(attrs)}static whitespace(attrs){return new Whitespace(attrs)}static window(attrs){return new Window(attrs)}static xdc(attrs){return new Xdc(attrs)}static xdp(attrs){return new Xdp(attrs)}static xsl(attrs){return new Xsl(attrs)}static zpl(attrs){return new Zpl(attrs)}}exports.ConfigNamespace=ConfigNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConnectionSetNamespace=void 0;var _namespaces=__w_pdfjs_require__(81),_xfa_object=__w_pdfjs_require__(87);const CONNECTION_SET_NS_ID=_namespaces.NamespaceIds.connectionSet.id;class ConnectionSet extends _xfa_object.XFAObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"connectionSet",!0),this.wsdlConnection=new _xfa_object.XFAObjectArray,this.xmlConnection=new _xfa_object.XFAObjectArray,this.xsdConnection=new _xfa_object.XFAObjectArray}}class EffectiveInputPolicy extends _xfa_object.XFAObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"effectiveInputPolicy"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class EffectiveOutputPolicy extends _xfa_object.XFAObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"effectiveOutputPolicy"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Operation extends _xfa_object.StringObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"operation"),this.id=attributes.id||"",this.input=attributes.input||"",this.name=attributes.name||"",this.output=attributes.output||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class RootElement extends _xfa_object.StringObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"rootElement"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class SoapAction extends _xfa_object.StringObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"soapAction"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class SoapAddress extends _xfa_object.StringObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"soapAddress"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class Uri extends _xfa_object.StringObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"uri"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class WsdlAddress extends _xfa_object.StringObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"wsdlAddress"),this.id=attributes.id||"",this.name=attributes.name||"",this.use=attributes.use||"",this.usehref=attributes.usehref||""}}class WsdlConnection extends _xfa_object.XFAObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"wsdlConnection",!0),this.dataDescription=attributes.dataDescription||"",this.name=attributes.name||"",this.effectiveInputPolicy=null,this.effectiveOutputPolicy=null,this.operation=null,this.soapAction=null,this.soapAddress=null,this.wsdlAddress=null}}class XmlConnection extends _xfa_object.XFAObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"xmlConnection",!0),this.dataDescription=attributes.dataDescription||"",this.name=attributes.name||"",this.uri=null}}class XsdConnection extends _xfa_object.XFAObject{constructor(attributes){super(CONNECTION_SET_NS_ID,"xsdConnection",!0),this.dataDescription=attributes.dataDescription||"",this.name=attributes.name||"",this.rootElement=null,this.uri=null}}class ConnectionSetNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(ConnectionSetNamespace.hasOwnProperty(name))return ConnectionSetNamespace[name](attributes)}static connectionSet(attrs){return new ConnectionSet(attrs)}static effectiveInputPolicy(attrs){return new EffectiveInputPolicy(attrs)}static effectiveOutputPolicy(attrs){return new EffectiveOutputPolicy(attrs)}static operation(attrs){return new Operation(attrs)}static rootElement(attrs){return new RootElement(attrs)}static soapAction(attrs){return new SoapAction(attrs)}static soapAddress(attrs){return new SoapAddress(attrs)}static uri(attrs){return new Uri(attrs)}static wsdlAddress(attrs){return new WsdlAddress(attrs)}static wsdlConnection(attrs){return new WsdlConnection(attrs)}static xmlConnection(attrs){return new XmlConnection(attrs)}static xsdConnection(attrs){return new XsdConnection(attrs)}}exports.ConnectionSetNamespace=ConnectionSetNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.DatasetsNamespace=void 0;var _symbol_utils=__w_pdfjs_require__(78),_namespaces=__w_pdfjs_require__(81),_xfa_object=__w_pdfjs_require__(87);const DATASETS_NS_ID=_namespaces.NamespaceIds.datasets.id;class Data extends _xfa_object.XmlObject{constructor(attributes){super(DATASETS_NS_ID,"data",attributes)}[_symbol_utils.$isNsAgnostic](){return!0}}class Datasets extends _xfa_object.XFAObject{constructor(attributes){super(DATASETS_NS_ID,"datasets",!0),this.data=null,this.Signature=null}[_symbol_utils.$onChild](child){const name=child[_symbol_utils.$nodeName];("data"===name&&child[_symbol_utils.$namespaceId]===DATASETS_NS_ID||"Signature"===name&&child[_symbol_utils.$namespaceId]===_namespaces.NamespaceIds.signature.id)&&(this[name]=child),this[_symbol_utils.$appendChild](child)}}class DatasetsNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(DatasetsNamespace.hasOwnProperty(name))return DatasetsNamespace[name](attributes)}static datasets(attributes){return new Datasets(attributes)}static data(attributes){return new Data(attributes)}}exports.DatasetsNamespace=DatasetsNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.LocaleSetNamespace=void 0;var _namespaces=__w_pdfjs_require__(81),_xfa_object=__w_pdfjs_require__(87),_utils=__w_pdfjs_require__(84);const LOCALE_SET_NS_ID=_namespaces.NamespaceIds.localeSet.id;class CalendarSymbols extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"calendarSymbols",!0),this.name="gregorian",this.dayNames=new _xfa_object.XFAObjectArray(2),this.eraNames=null,this.meridiemNames=null,this.monthNames=new _xfa_object.XFAObjectArray(2)}}class CurrencySymbol extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"currencySymbol"),this.name=(0,_utils.getStringOption)(attributes.name,["symbol","isoname","decimal"])}}class CurrencySymbols extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"currencySymbols",!0),this.currencySymbol=new _xfa_object.XFAObjectArray(3)}}class DatePattern extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"datePattern"),this.name=(0,_utils.getStringOption)(attributes.name,["full","long","med","short"])}}class DatePatterns extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"datePatterns",!0),this.datePattern=new _xfa_object.XFAObjectArray(4)}}class DateTimeSymbols extends _xfa_object.ContentObject{constructor(attributes){super(LOCALE_SET_NS_ID,"dateTimeSymbols")}}class Day extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"day")}}class DayNames extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"dayNames",!0),this.abbr=(0,_utils.getInteger)({data:attributes.abbr,defaultValue:0,validate:x=>1===x}),this.day=new _xfa_object.XFAObjectArray(7)}}class Era extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"era")}}class EraNames extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"eraNames",!0),this.era=new _xfa_object.XFAObjectArray(2)}}class Locale extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"locale",!0),this.desc=attributes.desc||"",this.name="isoname",this.calendarSymbols=null,this.currencySymbols=null,this.datePatterns=null,this.dateTimeSymbols=null,this.numberPatterns=null,this.numberSymbols=null,this.timePatterns=null,this.typeFaces=null}}class LocaleSet extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"localeSet",!0),this.locale=new _xfa_object.XFAObjectArray}}class Meridiem extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"meridiem")}}class MeridiemNames extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"meridiemNames",!0),this.meridiem=new _xfa_object.XFAObjectArray(2)}}class Month extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"month")}}class MonthNames extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"monthNames",!0),this.abbr=(0,_utils.getInteger)({data:attributes.abbr,defaultValue:0,validate:x=>1===x}),this.month=new _xfa_object.XFAObjectArray(12)}}class NumberPattern extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"numberPattern"),this.name=(0,_utils.getStringOption)(attributes.name,["full","long","med","short"])}}class NumberPatterns extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"numberPatterns",!0),this.numberPattern=new _xfa_object.XFAObjectArray(4)}}class NumberSymbol extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"numberSymbol"),this.name=(0,_utils.getStringOption)(attributes.name,["decimal","grouping","percent","minus","zero"])}}class NumberSymbols extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"numberSymbols",!0),this.numberSymbol=new _xfa_object.XFAObjectArray(5)}}class TimePattern extends _xfa_object.StringObject{constructor(attributes){super(LOCALE_SET_NS_ID,"timePattern"),this.name=(0,_utils.getStringOption)(attributes.name,["full","long","med","short"])}}class TimePatterns extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"timePatterns",!0),this.timePattern=new _xfa_object.XFAObjectArray(4)}}class TypeFace extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"typeFace",!0),this.name=""|attributes.name}}class TypeFaces extends _xfa_object.XFAObject{constructor(attributes){super(LOCALE_SET_NS_ID,"typeFaces",!0),this.typeFace=new _xfa_object.XFAObjectArray}}class LocaleSetNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(LocaleSetNamespace.hasOwnProperty(name))return LocaleSetNamespace[name](attributes)}static calendarSymbols(attrs){return new CalendarSymbols(attrs)}static currencySymbol(attrs){return new CurrencySymbol(attrs)}static currencySymbols(attrs){return new CurrencySymbols(attrs)}static datePattern(attrs){return new DatePattern(attrs)}static datePatterns(attrs){return new DatePatterns(attrs)}static dateTimeSymbols(attrs){return new DateTimeSymbols(attrs)}static day(attrs){return new Day(attrs)}static dayNames(attrs){return new DayNames(attrs)}static era(attrs){return new Era(attrs)}static eraNames(attrs){return new EraNames(attrs)}static locale(attrs){return new Locale(attrs)}static localeSet(attrs){return new LocaleSet(attrs)}static meridiem(attrs){return new Meridiem(attrs)}static meridiemNames(attrs){return new MeridiemNames(attrs)}static month(attrs){return new Month(attrs)}static monthNames(attrs){return new MonthNames(attrs)}static numberPattern(attrs){return new NumberPattern(attrs)}static numberPatterns(attrs){return new NumberPatterns(attrs)}static numberSymbol(attrs){return new NumberSymbol(attrs)}static numberSymbols(attrs){return new NumberSymbols(attrs)}static timePattern(attrs){return new TimePattern(attrs)}static timePatterns(attrs){return new TimePatterns(attrs)}static typeFace(attrs){return new TypeFace(attrs)}static typeFaces(attrs){return new TypeFaces(attrs)}}exports.LocaleSetNamespace=LocaleSetNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.SignatureNamespace=void 0;var _namespaces=__w_pdfjs_require__(81),_xfa_object=__w_pdfjs_require__(87);const SIGNATURE_NS_ID=_namespaces.NamespaceIds.signature.id;class Signature extends _xfa_object.XFAObject{constructor(attributes){super(SIGNATURE_NS_ID,"signature",!0)}}class SignatureNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(SignatureNamespace.hasOwnProperty(name))return SignatureNamespace[name](attributes)}static signature(attributes){return new Signature(attributes)}}exports.SignatureNamespace=SignatureNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.StylesheetNamespace=void 0;var _namespaces=__w_pdfjs_require__(81),_xfa_object=__w_pdfjs_require__(87);const STYLESHEET_NS_ID=_namespaces.NamespaceIds.stylesheet.id;class Stylesheet extends _xfa_object.XFAObject{constructor(attributes){super(STYLESHEET_NS_ID,"stylesheet",!0)}}class StylesheetNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(StylesheetNamespace.hasOwnProperty(name))return StylesheetNamespace[name](attributes)}static stylesheet(attributes){return new Stylesheet(attributes)}}exports.StylesheetNamespace=StylesheetNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XdpNamespace=void 0;var _namespaces=__w_pdfjs_require__(81),_symbol_utils=__w_pdfjs_require__(78),_xfa_object=__w_pdfjs_require__(87);const XDP_NS_ID=_namespaces.NamespaceIds.xdp.id;class Xdp extends _xfa_object.XFAObject{constructor(attributes){super(XDP_NS_ID,"xdp",!0),this.uuid=attributes.uuid||"",this.timeStamp=attributes.timeStamp||"",this.config=null,this.connectionSet=null,this.datasets=null,this.localeSet=null,this.stylesheet=new _xfa_object.XFAObjectArray,this.template=null}[_symbol_utils.$onChildCheck](child){const ns=_namespaces.NamespaceIds[child[_symbol_utils.$nodeName]];return ns&&child[_symbol_utils.$namespaceId]===ns.id}}class XdpNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(XdpNamespace.hasOwnProperty(name))return XdpNamespace[name](attributes)}static xdp(attributes){return new Xdp(attributes)}}exports.XdpNamespace=XdpNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XhtmlNamespace=void 0;var _symbol_utils=__w_pdfjs_require__(78),_namespaces=__w_pdfjs_require__(81),_html_utils=__w_pdfjs_require__(83),_utils=__w_pdfjs_require__(84),_xfa_object=__w_pdfjs_require__(87);const XHTML_NS_ID=_namespaces.NamespaceIds.xhtml.id,$richText=Symbol(),VALID_STYLES=new Set(["color","font","font-family","font-size","font-stretch","font-style","font-weight","margin","margin-bottom","margin-left","margin-right","margin-top","letter-spacing","line-height","orphans","page-break-after","page-break-before","page-break-inside","tab-interval","tab-stop","text-align","text-decoration","text-indent","vertical-align","widows","kerning-mode","xfa-font-horizontal-scale","xfa-font-vertical-scale","xfa-spacerun","xfa-tab-stops"]),StyleMapping=new Map([["page-break-after","breakAfter"],["page-break-before","breakBefore"],["page-break-inside","breakInside"],["kerning-mode",value=>"none"===value?"none":"normal"],["xfa-font-horizontal-scale",value=>"scaleX(".concat(Math.max(0,Math.min(parseInt(value)/100)).toFixed(2),")")],["xfa-font-vertical-scale",value=>"scaleY(".concat(Math.max(0,Math.min(parseInt(value)/100)).toFixed(2),")")],["xfa-spacerun",""],["xfa-tab-stops",""],["font-size",(value,original)=>(value=original.fontSize=(0,_utils.getMeasurement)(value),(0,_html_utils.measureToString)(.99*value))],["letter-spacing",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))],["line-height",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))],["margin",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))],["margin-bottom",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))],["margin-left",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))],["margin-right",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))],["margin-top",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))],["text-indent",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))],["font-family",value=>value],["vertical-align",value=>(0,_html_utils.measureToString)((0,_utils.getMeasurement)(value))]]),spacesRegExp=/\s+/g,crlfRegExp=/[\r\n]+/g,crlfForRichTextRegExp=/\r\n?/g;function mapStyle(styleStr,node,richText){const style=Object.create(null);if(!styleStr)return style;const original=Object.create(null);for(const[key,value]of styleStr.split(";").map((s=>s.split(":",2)))){const mapping=StyleMapping.get(key);if(""===mapping)continue;let newValue=value;mapping&&(newValue="string"==typeof mapping?mapping:mapping(value,original)),key.endsWith("scale")?style.transform=style.transform?"".concat(style[key]," ").concat(newValue):newValue:style[key.replaceAll(/-([a-zA-Z])/g,((_,x)=>x.toUpperCase()))]=newValue}if(style.fontFamily&&(0,_html_utils.setFontFamily)({typeface:style.fontFamily,weight:style.fontWeight||"normal",posture:style.fontStyle||"normal",size:original.fontSize||0},node,node[_symbol_utils.$globalData].fontFinder,style),richText&&style.verticalAlign&&"0px"!==style.verticalAlign&&style.fontSize){const SUB_SUPER_SCRIPT_FACTOR=.583,VERTICAL_FACTOR=.333,fontSize=(0,_utils.getMeasurement)(style.fontSize);style.fontSize=(0,_html_utils.measureToString)(fontSize*SUB_SUPER_SCRIPT_FACTOR),style.verticalAlign=(0,_html_utils.measureToString)(Math.sign((0,_utils.getMeasurement)(style.verticalAlign))*fontSize*VERTICAL_FACTOR)}return richText&&style.fontSize&&(style.fontSize="calc(".concat(style.fontSize," * var(--scale-factor))")),(0,_html_utils.fixTextIndent)(style),style}const NoWhites=new Set(["body","html"]);class XhtmlObject extends _xfa_object.XmlObject{constructor(attributes,name){super(XHTML_NS_ID,name),this[$richText]=!1,this.style=attributes.style||""}[_symbol_utils.$clean](builder){var node;super[_symbol_utils.$clean](builder),this.style=(node=this).style?node.style.trim().split(/\s*;\s*/).filter((s=>!!s)).map((s=>s.split(/\s*:\s*/,2))).filter((_ref88=>{let[key,value]=_ref88;return"font-family"===key&&node[_symbol_utils.$globalData].usedTypefaces.add(value),VALID_STYLES.has(key)})).map((kv=>kv.join(":"))).join(";"):""}[_symbol_utils.$acceptWhitespace](){return!NoWhites.has(this[_symbol_utils.$nodeName])}[_symbol_utils.$onText](str){arguments.length>1&&void 0!==arguments[1]&&arguments[1]?this[$richText]=!0:(str=str.replaceAll(crlfRegExp,""),this.style.includes("xfa-spacerun:yes")||(str=str.replaceAll(spacesRegExp," "))),str&&(this[_symbol_utils.$content]+=str)}[_symbol_utils.$pushGlyphs](measure){let mustPop=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const xfaFont=Object.create(null),margin={top:NaN,bottom:NaN,left:NaN,right:NaN};let lineHeight=null;for(const[key,value]of this.style.split(";").map((s=>s.split(":",2))))switch(key){case"font-family":xfaFont.typeface=(0,_utils.stripQuotes)(value);break;case"font-size":xfaFont.size=(0,_utils.getMeasurement)(value);break;case"font-weight":xfaFont.weight=value;break;case"font-style":xfaFont.posture=value;break;case"letter-spacing":xfaFont.letterSpacing=(0,_utils.getMeasurement)(value);break;case"margin":const values=value.split(/ \t/).map((x=>(0,_utils.getMeasurement)(x)));switch(values.length){case 1:margin.top=margin.bottom=margin.left=margin.right=values[0];break;case 2:margin.top=margin.bottom=values[0],margin.left=margin.right=values[1];break;case 3:margin.top=values[0],margin.bottom=values[2],margin.left=margin.right=values[1];break;case 4:margin.top=values[0],margin.left=values[1],margin.bottom=values[2],margin.right=values[3]}break;case"margin-top":margin.top=(0,_utils.getMeasurement)(value);break;case"margin-bottom":margin.bottom=(0,_utils.getMeasurement)(value);break;case"margin-left":margin.left=(0,_utils.getMeasurement)(value);break;case"margin-right":margin.right=(0,_utils.getMeasurement)(value);break;case"line-height":lineHeight=(0,_utils.getMeasurement)(value)}if(measure.pushData(xfaFont,margin,lineHeight),this[_symbol_utils.$content])measure.addString(this[_symbol_utils.$content]);else for(const child of this[_symbol_utils.$getChildren]())"#text"!==child[_symbol_utils.$nodeName]?child[_symbol_utils.$pushGlyphs](measure):measure.addString(child[_symbol_utils.$content]);mustPop&&measure.popFont()}[_symbol_utils.$toHTML](availableSpace){const children=[];if(this[_symbol_utils.$extra]={children:children},this[_symbol_utils.$childrenToHTML]({}),0===children.length&&!this[_symbol_utils.$content])return _utils.HTMLResult.EMPTY;let value;return value=this[$richText]?this[_symbol_utils.$content]?this[_symbol_utils.$content].replaceAll(crlfForRichTextRegExp,"\n"):void 0:this[_symbol_utils.$content]||void 0,_utils.HTMLResult.success({name:this[_symbol_utils.$nodeName],attributes:{href:this.href,style:mapStyle(this.style,this,this[$richText])},children:children,value:value})}}class A extends XhtmlObject{constructor(attributes){super(attributes,"a"),this.href=(0,_html_utils.fixURL)(attributes.href)||""}}class B extends XhtmlObject{constructor(attributes){super(attributes,"b")}[_symbol_utils.$pushGlyphs](measure){measure.pushFont({weight:"bold"}),super[_symbol_utils.$pushGlyphs](measure),measure.popFont()}}class Body extends XhtmlObject{constructor(attributes){super(attributes,"body")}[_symbol_utils.$toHTML](availableSpace){const res=super[_symbol_utils.$toHTML](availableSpace),{html:html}=res;return html?(html.name="div",html.attributes.class=["xfaRich"],res):_utils.HTMLResult.EMPTY}}class Br extends XhtmlObject{constructor(attributes){super(attributes,"br")}[_symbol_utils.$text](){return"\n"}[_symbol_utils.$pushGlyphs](measure){measure.addString("\n")}[_symbol_utils.$toHTML](availableSpace){return _utils.HTMLResult.success({name:"br"})}}class Html extends XhtmlObject{constructor(attributes){super(attributes,"html")}[_symbol_utils.$toHTML](availableSpace){const children=[];if(this[_symbol_utils.$extra]={children:children},this[_symbol_utils.$childrenToHTML]({}),0===children.length)return _utils.HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},value:this[_symbol_utils.$content]||""});if(1===children.length){var _child$attributes;const child=children[0];if(null!==(_child$attributes=child.attributes)&&void 0!==_child$attributes&&_child$attributes.class.includes("xfaRich"))return _utils.HTMLResult.success(child)}return _utils.HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},children:children})}}class I extends XhtmlObject{constructor(attributes){super(attributes,"i")}[_symbol_utils.$pushGlyphs](measure){measure.pushFont({posture:"italic"}),super[_symbol_utils.$pushGlyphs](measure),measure.popFont()}}class Li extends XhtmlObject{constructor(attributes){super(attributes,"li")}}class Ol extends XhtmlObject{constructor(attributes){super(attributes,"ol")}}class P extends XhtmlObject{constructor(attributes){super(attributes,"p")}[_symbol_utils.$pushGlyphs](measure){super[_symbol_utils.$pushGlyphs](measure,!1),measure.addString("\n"),measure.addPara(),measure.popFont()}[_symbol_utils.$text](){return this[_symbol_utils.$getParent]()[_symbol_utils.$getChildren]().at(-1)===this?super[_symbol_utils.$text]():super[_symbol_utils.$text]()+"\n"}}class Span extends XhtmlObject{constructor(attributes){super(attributes,"span")}}class Sub extends XhtmlObject{constructor(attributes){super(attributes,"sub")}}class Sup extends XhtmlObject{constructor(attributes){super(attributes,"sup")}}class Ul extends XhtmlObject{constructor(attributes){super(attributes,"ul")}}class XhtmlNamespace{static[_namespaces.$buildXFAObject](name,attributes){if(XhtmlNamespace.hasOwnProperty(name))return XhtmlNamespace[name](attributes)}static a(attributes){return new A(attributes)}static b(attributes){return new B(attributes)}static body(attributes){return new Body(attributes)}static br(attributes){return new Br(attributes)}static html(attributes){return new Html(attributes)}static i(attributes){return new I(attributes)}static li(attributes){return new Li(attributes)}static ol(attributes){return new Ol(attributes)}static p(attributes){return new P(attributes)}static span(attributes){return new Span(attributes)}static sub(attributes){return new Sub(attributes)}static sup(attributes){return new Sup(attributes)}static ul(attributes){return new Ul(attributes)}}exports.XhtmlNamespace=XhtmlNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.UnknownNamespace=void 0;var _namespaces=__w_pdfjs_require__(81),_xfa_object=__w_pdfjs_require__(87);class UnknownNamespace{constructor(nsId){this.namespaceId=nsId}[_namespaces.$buildXFAObject](name,attributes){return new _xfa_object.XmlObject(this.namespaceId,name,attributes)}}exports.UnknownNamespace=UnknownNamespace},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.DatasetReader=void 0;var _util=__w_pdfjs_require__(2),_core_utils=__w_pdfjs_require__(3),_xml_parser=__w_pdfjs_require__(71);function decodeString(str){try{return(0,_util.stringToUTF8String)(str)}catch(ex){return(0,_util.warn)('UTF-8 decoding failed: "'.concat(ex,'".')),str}}class DatasetXMLParser extends _xml_parser.SimpleXMLParser{constructor(options){super(options),this.node=null}onEndElement(name){const node=super.onEndElement(name);if(node&&"xfa:datasets"===name)throw this.node=node,new Error("Aborting DatasetXMLParser.")}}exports.DatasetReader=class{constructor(data){if(data.datasets)this.node=new _xml_parser.SimpleXMLParser({hasAttributes:!0}).parseFromString(data.datasets).documentElement;else{const parser=new DatasetXMLParser({hasAttributes:!0});try{parser.parseFromString(data["xdp:xdp"])}catch{}this.node=parser.node}}getValue(path){if(!this.node||!path)return"";const node=this.node.searchNode((0,_core_utils.parseXFAPath)(path),0);if(!node)return"";const first=node.firstChild;return"value"===(null==first?void 0:first.nodeName)?node.children.map((child=>decodeString(child.textContent))):decodeString(node.textContent)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.XRef=void 0;var _util=__w_pdfjs_require__(2),_primitives=__w_pdfjs_require__(4),_parser=__w_pdfjs_require__(16),_core_utils=__w_pdfjs_require__(3),_base_stream=__w_pdfjs_require__(5),_crypto=__w_pdfjs_require__(74),_firstXRefStmPos=new WeakMap;exports.XRef=class{constructor(stream,pdfManager){_classPrivateFieldInitSpec(this,_firstXRefStmPos,{writable:!0,value:null}),this.stream=stream,this.pdfManager=pdfManager,this.entries=[],this._xrefStms=new Set,this._cacheMap=new Map,this._pendingRefs=new _primitives.RefSet,this._newPersistentRefNum=null,this._newTemporaryRefNum=null}getNewPersistentRef(obj){null===this._newPersistentRefNum&&(this._newPersistentRefNum=this.entries.length||1);const num=this._newPersistentRefNum++;return this._cacheMap.set(num,obj),_primitives.Ref.get(num,0)}getNewTemporaryRef(){return null===this._newTemporaryRefNum&&(this._newTemporaryRefNum=this.entries.length||1),_primitives.Ref.get(this._newTemporaryRefNum++,0)}resetNewTemporaryRef(){this._newTemporaryRefNum=null}setStartXRef(startXRef){this.startXRefQueue=[startXRef]}parse(){let trailerDict,encrypt,root,recoveryMode=arguments.length>0&&void 0!==arguments[0]&&arguments[0];recoveryMode?((0,_util.warn)("Indexing all PDF objects"),trailerDict=this.indexObjects()):trailerDict=this.readXRef(),trailerDict.assignXref(this),this.trailer=trailerDict;try{encrypt=trailerDict.get("Encrypt")}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)('XRef.parse - Invalid "Encrypt" reference: "'.concat(ex,'".'))}if(encrypt instanceof _primitives.Dict){const ids=trailerDict.get("ID"),fileId=null!=ids&&ids.length?ids[0]:"";encrypt.suppressEncryption=!0,this.encrypt=new _crypto.CipherTransformFactory(encrypt,fileId,this.pdfManager.password)}try{root=trailerDict.get("Root")}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)('XRef.parse - Invalid "Root" reference: "'.concat(ex,'".'))}if(root instanceof _primitives.Dict)try{if(root.get("Pages")instanceof _primitives.Dict)return void(this.root=root)}catch(ex){if(ex instanceof _core_utils.MissingDataException)throw ex;(0,_util.warn)('XRef.parse - Invalid "Pages" reference: "'.concat(ex,'".'))}if(!recoveryMode)throw new _core_utils.XRefParseException;throw new _util.InvalidPDFException("Invalid Root reference.")}processXRefTable(parser){"tableState"in this||(this.tableState={entryNum:0,streamPos:parser.lexer.stream.pos,parserBuf1:parser.buf1,parserBuf2:parser.buf2});const obj=this.readXRefTable(parser);if(!(0,_primitives.isCmd)(obj,"trailer"))throw new _util.FormatError("Invalid XRef table: could not find trailer dictionary");let dict=parser.getObj();if(dict instanceof _primitives.Dict||!dict.dict||(dict=dict.dict),!(dict instanceof _primitives.Dict))throw new _util.FormatError("Invalid XRef table: could not parse trailer dictionary");return delete this.tableState,dict}readXRefTable(parser){const stream=parser.lexer.stream,tableState=this.tableState;let obj;for(stream.pos=tableState.streamPos,parser.buf1=tableState.parserBuf1,parser.buf2=tableState.parserBuf2;;){if(!("firstEntryNum"in tableState)||!("entryCount"in tableState)){if((0,_primitives.isCmd)(obj=parser.getObj(),"trailer"))break;tableState.firstEntryNum=obj,tableState.entryCount=parser.getObj()}let first=tableState.firstEntryNum;const count=tableState.entryCount;if(!Number.isInteger(first)||!Number.isInteger(count))throw new _util.FormatError("Invalid XRef table: wrong types in subsection header");for(let i=tableState.entryNum;i0;){const[first,n]=entryRanges;if(!Number.isInteger(first)||!Number.isInteger(n))throw new _util.FormatError("Invalid XRef range fields: ".concat(first,", ").concat(n));if(!Number.isInteger(typeFieldWidth)||!Number.isInteger(offsetFieldWidth)||!Number.isInteger(generationFieldWidth))throw new _util.FormatError("Invalid XRef entry fields length: ".concat(first,", ").concat(n));for(let i=streamState.entryNum;i=data.length);)token+=String.fromCharCode(ch),ch=data[offset];return token}function skipUntil(data,offset,what){const length=what.length,dataLength=data.length;let skipped=0;for(;offset=length)break;offset++,skipped++}return skipped}const gEndobjRegExp=/\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g,gStartxrefRegExp=/\b(startxref|\d+\s+\d+\s+obj)\b/g,objRegExp=/^(\d+)\s+(\d+)\s+obj\b/,trailerBytes=new Uint8Array([116,114,97,105,108,101,114]),startxrefBytes=new Uint8Array([115,116,97,114,116,120,114,101,102]),xrefBytes=new Uint8Array([47,88,82,101,102]);this.entries.length=0,this._cacheMap.clear();const stream=this.stream;stream.pos=0;const buffer=stream.getBytes(),bufferStr=(0,_util.bytesToString)(buffer),length=buffer.length;let position=stream.start;const trailers=[],xrefStms=[];for(;position=length)break;ch=buffer[position]}while(10!==ch&&13!==ch);continue}const token=readToken(buffer,position);let m;if(token.startsWith("xref")&&(4===token.length||/\s/.test(token[4])))position+=skipUntil(buffer,position,trailerBytes),trailers.push(position),position+=skipUntil(buffer,position,startxrefBytes);else if(m=objRegExp.exec(token)){const num=0|m[1],gen=0|m[2],startPos=position+token.length;let contentLength,updateEntries=!1;if(this.entries[num]){if(this.entries[num].gen===gen)try{new _parser.Parser({lexer:new _parser.Lexer(stream.makeSubStream(startPos))}).getObj(),updateEntries=!0}catch(ex){ex instanceof _core_utils.ParserEOFException?(0,_util.warn)("indexObjects -- checking object (".concat(token,'): "').concat(ex,'".')):updateEntries=!0}}else updateEntries=!0;updateEntries&&(this.entries[num]={offset:position-stream.start,gen:gen,uncompressed:!0}),gEndobjRegExp.lastIndex=startPos;const match=gEndobjRegExp.exec(bufferStr);match?(contentLength=gEndobjRegExp.lastIndex+1-position,"endobj"!==match[1]&&((0,_util.warn)('indexObjects: Found "'.concat(match[1],'" inside of another "obj", ')+'caused by missing "endobj" -- trying to recover.'),contentLength-=match[1].length+1)):contentLength=length-position;const content=buffer.subarray(position,position+contentLength),xrefTagOffset=skipUntil(content,0,xrefBytes);xrefTagOffset0&&void 0!==arguments[0]&&arguments[0];const stream=this.stream,startXRefParsedCache=new Set;for(;this.startXRefQueue.length;){try{const startXRef=this.startXRefQueue[0];if(startXRefParsedCache.has(startXRef)){(0,_util.warn)("readXRef - skipping XRef table since it was already parsed."),this.startXRefQueue.shift();continue}startXRefParsedCache.add(startXRef),stream.pos=startXRef+stream.start;const parser=new _parser.Parser({lexer:new _parser.Lexer(stream),xref:this,allowStreams:!0});let dict,obj=parser.getObj();if((0,_primitives.isCmd)(obj,"xref")){var _classPrivateFieldGet2;dict=this.processXRefTable(parser),this.topDict||(this.topDict=dict),obj=dict.get("XRefStm"),Number.isInteger(obj)&&!this._xrefStms.has(obj)&&(this._xrefStms.add(obj),this.startXRefQueue.push(obj),null!==(_classPrivateFieldGet2=_classPrivateFieldGet(this,_firstXRefStmPos))&&void 0!==_classPrivateFieldGet2||_classPrivateFieldSet(this,_firstXRefStmPos,obj))}else{if(!Number.isInteger(obj))throw new _util.FormatError("Invalid XRef stream header");if(!(Number.isInteger(parser.getObj())&&(0,_primitives.isCmd)(parser.getObj(),"obj")&&(obj=parser.getObj())instanceof _base_stream.BaseStream))throw new _util.FormatError("Invalid XRef stream");if(dict=this.processXRefStream(obj),this.topDict||(this.topDict=dict),!dict)throw new _util.FormatError("Failed to read XRef stream")}obj=dict.get("Prev"),Number.isInteger(obj)?this.startXRefQueue.push(obj):obj instanceof _primitives.Ref&&this.startXRefQueue.push(obj.num)}catch(e){if(e instanceof _core_utils.MissingDataException)throw e;(0,_util.info)("(while reading XRef): "+e)}this.startXRefQueue.shift()}if(this.topDict)return this.topDict;if(!recoveryMode)throw new _core_utils.XRefParseException}get lastXRefStreamPos(){var _classPrivateFieldGet3;return null!==(_classPrivateFieldGet3=_classPrivateFieldGet(this,_firstXRefStmPos))&&void 0!==_classPrivateFieldGet3?_classPrivateFieldGet3:this._xrefStms.size>0?Math.max(...this._xrefStms):null}getEntry(i){const xrefEntry=this.entries[i];return xrefEntry&&!xrefEntry.free&&xrefEntry.offset?xrefEntry:null}fetchIfRef(obj){let suppressEncryption=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return obj instanceof _primitives.Ref?this.fetch(obj,suppressEncryption):obj}fetch(ref){let suppressEncryption=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!(ref instanceof _primitives.Ref))throw new Error("ref object is not a reference");const num=ref.num,cacheEntry=this._cacheMap.get(num);if(void 0!==cacheEntry)return cacheEntry instanceof _primitives.Dict&&!cacheEntry.objId&&(cacheEntry.objId=ref.toString()),cacheEntry;let xrefEntry=this.getEntry(num);if(null===xrefEntry)return this._cacheMap.set(num,xrefEntry),xrefEntry;if(this._pendingRefs.has(ref))return this._pendingRefs.remove(ref),(0,_util.warn)("Ignoring circular reference: ".concat(ref,".")),_primitives.CIRCULAR_REF;this._pendingRefs.put(ref);try{xrefEntry=xrefEntry.uncompressed?this.fetchUncompressed(ref,xrefEntry,suppressEncryption):this.fetchCompressed(ref,xrefEntry,suppressEncryption),this._pendingRefs.remove(ref)}catch(ex){throw this._pendingRefs.remove(ref),ex}return xrefEntry instanceof _primitives.Dict?xrefEntry.objId=ref.toString():xrefEntry instanceof _base_stream.BaseStream&&(xrefEntry.dict.objId=ref.toString()),xrefEntry}fetchUncompressed(ref,xrefEntry){let suppressEncryption=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const gen=ref.gen;let num=ref.num;if(xrefEntry.gen!==gen){const msg="Inconsistent generation in XRef: ".concat(ref);if(this._generationFallback&&xrefEntry.gen{Object.defineProperty(exports,"__esModule",{value:!0}),exports.MessageHandler=void 0;var _util=__w_pdfjs_require__(2);const CallbackKind_DATA=1,CallbackKind_ERROR=2,StreamKind_CANCEL=1,StreamKind_CANCEL_COMPLETE=2,StreamKind_CLOSE=3,StreamKind_ENQUEUE=4,StreamKind_ERROR=5,StreamKind_PULL=6,StreamKind_PULL_COMPLETE=7,StreamKind_START_COMPLETE=8;function wrapReason(reason){switch(reason instanceof Error||"object"==typeof reason&&null!==reason||(0,_util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),reason.name){case"AbortException":return new _util.AbortException(reason.message);case"MissingPDFException":return new _util.MissingPDFException(reason.message);case"PasswordException":return new _util.PasswordException(reason.message,reason.code);case"UnexpectedResponseException":return new _util.UnexpectedResponseException(reason.message,reason.status);case"UnknownErrorException":return new _util.UnknownErrorException(reason.message,reason.details);default:return new _util.UnknownErrorException(reason.message,reason.toString())}}var _createStreamSink=new WeakSet,_processStreamMessage=new WeakSet,_deleteStreamController=new WeakSet;function _createStreamSink2(data){const streamId=data.streamId,sourceName=this.sourceName,targetName=data.sourceName,comObj=this.comObj,self=this,action=this.actionHandler[data.action],streamSink={enqueue(chunk){let size=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,transfers=arguments.length>2?arguments[2]:void 0;if(this.isCancelled)return;const lastDesiredSize=this.desiredSize;this.desiredSize-=size,lastDesiredSize>0&&this.desiredSize<=0&&(this.sinkCapability=new _util.PromiseCapability,this.ready=this.sinkCapability.promise),comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_ENQUEUE,streamId:streamId,chunk:chunk},transfers)},close(){this.isCancelled||(this.isCancelled=!0,comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_CLOSE,streamId:streamId}),delete self.streamSinks[streamId])},error(reason){(0,_util.assert)(reason instanceof Error,"error must have a valid reason"),this.isCancelled||(this.isCancelled=!0,comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_ERROR,streamId:streamId,reason:wrapReason(reason)}))},sinkCapability:new _util.PromiseCapability,onPull:null,onCancel:null,isCancelled:!1,desiredSize:data.desiredSize,ready:null};streamSink.sinkCapability.resolve(),streamSink.ready=streamSink.sinkCapability.promise,this.streamSinks[streamId]=streamSink,new Promise((function(resolve){resolve(action(data.data,streamSink))})).then((function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_START_COMPLETE,streamId:streamId,success:!0})}),(function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_START_COMPLETE,streamId:streamId,reason:wrapReason(reason)})}))}function _processStreamMessage2(data){const streamId=data.streamId,sourceName=this.sourceName,targetName=data.sourceName,comObj=this.comObj,streamController=this.streamControllers[streamId],streamSink=this.streamSinks[streamId];switch(data.stream){case StreamKind_START_COMPLETE:data.success?streamController.startCall.resolve():streamController.startCall.reject(wrapReason(data.reason));break;case StreamKind_PULL_COMPLETE:data.success?streamController.pullCall.resolve():streamController.pullCall.reject(wrapReason(data.reason));break;case StreamKind_PULL:if(!streamSink){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_PULL_COMPLETE,streamId:streamId,success:!0});break}streamSink.desiredSize<=0&&data.desiredSize>0&&streamSink.sinkCapability.resolve(),streamSink.desiredSize=data.desiredSize,new Promise((function(resolve){var _streamSink$onPull;resolve(null===(_streamSink$onPull=streamSink.onPull)||void 0===_streamSink$onPull?void 0:_streamSink$onPull.call(streamSink))})).then((function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_PULL_COMPLETE,streamId:streamId,success:!0})}),(function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_PULL_COMPLETE,streamId:streamId,reason:wrapReason(reason)})}));break;case StreamKind_ENQUEUE:if((0,_util.assert)(streamController,"enqueue should have stream controller"),streamController.isClosed)break;streamController.controller.enqueue(data.chunk);break;case StreamKind_CLOSE:if((0,_util.assert)(streamController,"close should have stream controller"),streamController.isClosed)break;streamController.isClosed=!0,streamController.controller.close(),_classPrivateMethodGet(this,_deleteStreamController,_deleteStreamController2).call(this,streamController,streamId);break;case StreamKind_ERROR:(0,_util.assert)(streamController,"error should have stream controller"),streamController.controller.error(wrapReason(data.reason)),_classPrivateMethodGet(this,_deleteStreamController,_deleteStreamController2).call(this,streamController,streamId);break;case StreamKind_CANCEL_COMPLETE:data.success?streamController.cancelCall.resolve():streamController.cancelCall.reject(wrapReason(data.reason)),_classPrivateMethodGet(this,_deleteStreamController,_deleteStreamController2).call(this,streamController,streamId);break;case StreamKind_CANCEL:if(!streamSink)break;new Promise((function(resolve){var _streamSink$onCancel;resolve(null===(_streamSink$onCancel=streamSink.onCancel)||void 0===_streamSink$onCancel?void 0:_streamSink$onCancel.call(streamSink,wrapReason(data.reason)))})).then((function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_CANCEL_COMPLETE,streamId:streamId,success:!0})}),(function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_CANCEL_COMPLETE,streamId:streamId,reason:wrapReason(reason)})})),streamSink.sinkCapability.reject(wrapReason(data.reason)),streamSink.isCancelled=!0,delete this.streamSinks[streamId];break;default:throw new Error("Unexpected stream case")}}async function _deleteStreamController2(streamController,streamId){var _streamController$sta,_streamController$pul,_streamController$can;await Promise.allSettled([null===(_streamController$sta=streamController.startCall)||void 0===_streamController$sta?void 0:_streamController$sta.promise,null===(_streamController$pul=streamController.pullCall)||void 0===_streamController$pul?void 0:_streamController$pul.promise,null===(_streamController$can=streamController.cancelCall)||void 0===_streamController$can?void 0:_streamController$can.promise]),delete this.streamControllers[streamId]}exports.MessageHandler=class{constructor(_sourceName,_targetName,_comObj){_classPrivateMethodInitSpec(this,_deleteStreamController),_classPrivateMethodInitSpec(this,_processStreamMessage),_classPrivateMethodInitSpec(this,_createStreamSink),this.sourceName=_sourceName,this.targetName=_targetName,this.comObj=_comObj,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=event=>{const data=event.data;if(data.targetName!==this.sourceName)return;if(data.stream)return void _classPrivateMethodGet(this,_processStreamMessage,_processStreamMessage2).call(this,data);if(data.callback){const callbackId=data.callbackId,capability=this.callbackCapabilities[callbackId];if(!capability)throw new Error("Cannot resolve callback ".concat(callbackId));if(delete this.callbackCapabilities[callbackId],data.callback===CallbackKind_DATA)capability.resolve(data.data);else{if(data.callback!==CallbackKind_ERROR)throw new Error("Unexpected callback case");capability.reject(wrapReason(data.reason))}return}const action=this.actionHandler[data.action];if(!action)throw new Error("Unknown action from worker: ".concat(data.action));if(data.callbackId){const cbSourceName=this.sourceName,cbTargetName=data.sourceName;new Promise((function(resolve){resolve(action(data.data))})).then((function(result){_comObj.postMessage({sourceName:cbSourceName,targetName:cbTargetName,callback:CallbackKind_DATA,callbackId:data.callbackId,data:result})}),(function(reason){_comObj.postMessage({sourceName:cbSourceName,targetName:cbTargetName,callback:CallbackKind_ERROR,callbackId:data.callbackId,reason:wrapReason(reason)})}))}else data.streamId?_classPrivateMethodGet(this,_createStreamSink,_createStreamSink2).call(this,data):action(data.data)},_comObj.addEventListener("message",this._onComObjOnMessage)}on(actionName,handler){const ah=this.actionHandler;if(ah[actionName])throw new Error('There is already an actionName called "'.concat(actionName,'"'));ah[actionName]=handler}send(actionName,data,transfers){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:actionName,data:data},transfers)}sendWithPromise(actionName,data,transfers){const callbackId=this.callbackId++,capability=new _util.PromiseCapability;this.callbackCapabilities[callbackId]=capability;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:actionName,callbackId:callbackId,data:data},transfers)}catch(ex){capability.reject(ex)}return capability.promise}sendWithStream(actionName,data,queueingStrategy,transfers){const streamId=this.streamId++,sourceName=this.sourceName,targetName=this.targetName,comObj=this.comObj;return new ReadableStream({start:controller=>{const startCapability=new _util.PromiseCapability;return this.streamControllers[streamId]={controller:controller,startCall:startCapability,pullCall:null,cancelCall:null,isClosed:!1},comObj.postMessage({sourceName:sourceName,targetName:targetName,action:actionName,streamId:streamId,data:data,desiredSize:controller.desiredSize},transfers),startCapability.promise},pull:controller=>{const pullCapability=new _util.PromiseCapability;return this.streamControllers[streamId].pullCall=pullCapability,comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_PULL,streamId:streamId,desiredSize:controller.desiredSize}),pullCapability.promise},cancel:reason=>{(0,_util.assert)(reason instanceof Error,"cancel must have a valid reason");const cancelCapability=new _util.PromiseCapability;return this.streamControllers[streamId].cancelCall=cancelCapability,this.streamControllers[streamId].isClosed=!0,comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind_CANCEL,streamId:streamId,reason:wrapReason(reason)}),cancelCapability.promise}},queueingStrategy)}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.PDFWorkerStream=void 0;var _util=__w_pdfjs_require__(2);exports.PDFWorkerStream=class{constructor(msgHandler){this._msgHandler=msgHandler,this._contentLength=null,this._fullRequestReader=null,this._rangeRequestReaders=[]}getFullReader(){return(0,_util.assert)(!this._fullRequestReader,"PDFWorkerStream.getFullReader can only be called once."),this._fullRequestReader=new PDFWorkerStreamReader(this._msgHandler),this._fullRequestReader}getRangeReader(begin,end){const reader=new PDFWorkerStreamRangeReader(begin,end,this._msgHandler);return this._rangeRequestReaders.push(reader),reader}cancelAllRequests(reason){var _this$_fullRequestRea;null===(_this$_fullRequestRea=this._fullRequestReader)||void 0===_this$_fullRequestRea||_this$_fullRequestRea.cancel(reason);for(const reader of this._rangeRequestReaders.slice(0))reader.cancel(reason)}};class PDFWorkerStreamReader{constructor(msgHandler){this._msgHandler=msgHandler,this.onProgress=null,this._contentLength=null,this._isRangeSupported=!1,this._isStreamingSupported=!1;const readableStream=this._msgHandler.sendWithStream("GetReader");this._reader=readableStream.getReader(),this._headersReady=this._msgHandler.sendWithPromise("ReaderHeadersReady").then((data=>{this._isStreamingSupported=data.isStreamingSupported,this._isRangeSupported=data.isRangeSupported,this._contentLength=data.contentLength}))}get headersReady(){return this._headersReady}get contentLength(){return this._contentLength}get isStreamingSupported(){return this._isStreamingSupported}get isRangeSupported(){return this._isRangeSupported}async read(){const{value:value,done:done}=await this._reader.read();return done?{value:void 0,done:!0}:{value:value.buffer,done:!1}}cancel(reason){this._reader.cancel(reason)}}class PDFWorkerStreamRangeReader{constructor(begin,end,msgHandler){this._msgHandler=msgHandler,this.onProgress=null;const readableStream=this._msgHandler.sendWithStream("GetRangeReader",{begin:begin,end:end});this._reader=readableStream.getReader()}get isStreamingSupported(){return!1}async read(){const{value:value,done:done}=await this._reader.read();return done?{value:void 0,done:!0}:{value:value.buffer,done:!1}}cancel(reason){this._reader.cancel(reason)}}}],__webpack_module_cache__={};function __w_pdfjs_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module,module.exports,__w_pdfjs_require__),module.exports}var __webpack_exports__={};return(()=>{var exports=__webpack_exports__;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"WorkerMessageHandler",{enumerable:!0,get:function(){return _worker.WorkerMessageHandler}});var _worker=__w_pdfjs_require__(1)})(),__webpack_exports__})(),"object"==typeof exports&&"object"==typeof module?module.exports=root.pdfjsWorker=factory():"function"==typeof define&&define.amd?define("mod_datalynx/pdf.worker",[],(()=>root.pdfjsWorker=factory())):"object"==typeof exports?exports["pdfjs-dist/build/pdf.worker"]=root.pdfjsWorker=factory():root["pdfjs-dist/build/pdf.worker"]=root.pdfjsWorker=factory(); - -//# sourceMappingURL=pdf.worker.min.js.map \ No newline at end of file diff --git a/amd/build/pdf.worker.min.js.map b/amd/build/pdf.worker.min.js.map deleted file mode 100644 index 650902e8..00000000 --- a/amd/build/pdf.worker.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"pdf.worker.min.js","sources":["../src/pdf.worker.js"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = root.pdfjsWorker = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf.worker\", [], () => { return (root.pdfjsWorker = factory()); });\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.WorkerTask = exports.WorkerMessageHandler = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _primitives = __w_pdfjs_require__(4);\nvar _pdf_manager = __w_pdfjs_require__(6);\nvar _annotation = __w_pdfjs_require__(10);\nvar _cleanup_helper = __w_pdfjs_require__(68);\nvar _writer = __w_pdfjs_require__(73);\nvar _message_handler = __w_pdfjs_require__(104);\nvar _worker_stream = __w_pdfjs_require__(105);\nvar _struct_tree = __w_pdfjs_require__(72);\nclass WorkerTask {\n constructor(name) {\n this.name = name;\n this.terminated = false;\n this._capability = new _util.PromiseCapability();\n }\n get finished() {\n return this._capability.promise;\n }\n finish() {\n this._capability.resolve();\n }\n terminate() {\n this.terminated = true;\n }\n ensureNotTerminated() {\n if (this.terminated) {\n throw new Error(\"Worker task was terminated\");\n }\n }\n}\nexports.WorkerTask = WorkerTask;\nclass WorkerMessageHandler {\n static setup(handler, port) {\n let testMessageProcessed = false;\n handler.on(\"test\", function (data) {\n if (testMessageProcessed) {\n return;\n }\n testMessageProcessed = true;\n handler.send(\"test\", data instanceof Uint8Array);\n });\n handler.on(\"configure\", function (data) {\n (0, _util.setVerbosityLevel)(data.verbosity);\n });\n handler.on(\"GetDocRequest\", function (data) {\n return WorkerMessageHandler.createDocumentHandler(data, port);\n });\n }\n static createDocumentHandler(docParams, port) {\n let pdfManager;\n let terminated = false;\n let cancelXHRs = null;\n const WorkerTasks = new Set();\n const verbosity = (0, _util.getVerbosityLevel)();\n const {\n docId,\n apiVersion\n } = docParams;\n const workerVersion = '3.11.174';\n if (apiVersion !== workerVersion) {\n throw new Error(`The API version \"${apiVersion}\" does not match ` + `the Worker version \"${workerVersion}\".`);\n }\n const enumerableProperties = [];\n for (const property in []) {\n enumerableProperties.push(property);\n }\n if (enumerableProperties.length) {\n throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \" + enumerableProperties.join(\", \") + \"; thus breaking e.g. `for...in` iteration of `Array`s.\");\n }\n const workerHandlerName = docId + \"_worker\";\n let handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n function ensureNotTerminated() {\n if (terminated) {\n throw new Error(\"Worker was terminated\");\n }\n }\n function startWorkerTask(task) {\n WorkerTasks.add(task);\n }\n function finishWorkerTask(task) {\n task.finish();\n WorkerTasks.delete(task);\n }\n async function loadDocument(recoveryMode) {\n await pdfManager.ensureDoc(\"checkHeader\");\n await pdfManager.ensureDoc(\"parseStartXRef\");\n await pdfManager.ensureDoc(\"parse\", [recoveryMode]);\n await pdfManager.ensureDoc(\"checkFirstPage\", [recoveryMode]);\n await pdfManager.ensureDoc(\"checkLastPage\", [recoveryMode]);\n const isPureXfa = await pdfManager.ensureDoc(\"isPureXfa\");\n if (isPureXfa) {\n const task = new WorkerTask(\"loadXfaFonts\");\n startWorkerTask(task);\n await Promise.all([pdfManager.loadXfaFonts(handler, task).catch(reason => {}).then(() => finishWorkerTask(task)), pdfManager.loadXfaImages()]);\n }\n const [numPages, fingerprints] = await Promise.all([pdfManager.ensureDoc(\"numPages\"), pdfManager.ensureDoc(\"fingerprints\")]);\n const htmlForXfa = isPureXfa ? await pdfManager.ensureDoc(\"htmlForXfa\") : null;\n return {\n numPages,\n fingerprints,\n htmlForXfa\n };\n }\n function getPdfManager({\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions\n }) {\n const pdfManagerArgs = {\n source: null,\n disableAutoFetch,\n docBaseUrl,\n docId,\n enableXfa,\n evaluatorOptions,\n handler,\n length,\n password,\n rangeChunkSize\n };\n const pdfManagerCapability = new _util.PromiseCapability();\n let newPdfManager;\n if (data) {\n try {\n pdfManagerArgs.source = data;\n newPdfManager = new _pdf_manager.LocalPdfManager(pdfManagerArgs);\n pdfManagerCapability.resolve(newPdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n return pdfManagerCapability.promise;\n }\n let pdfStream,\n cachedChunks = [];\n try {\n pdfStream = new _worker_stream.PDFWorkerStream(handler);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n return pdfManagerCapability.promise;\n }\n const fullRequest = pdfStream.getFullReader();\n fullRequest.headersReady.then(function () {\n if (!fullRequest.isRangeSupported) {\n return;\n }\n pdfManagerArgs.source = pdfStream;\n pdfManagerArgs.length = fullRequest.contentLength;\n pdfManagerArgs.disableAutoFetch ||= fullRequest.isStreamingSupported;\n newPdfManager = new _pdf_manager.NetworkPdfManager(pdfManagerArgs);\n for (const chunk of cachedChunks) {\n newPdfManager.sendProgressiveData(chunk);\n }\n cachedChunks = [];\n pdfManagerCapability.resolve(newPdfManager);\n cancelXHRs = null;\n }).catch(function (reason) {\n pdfManagerCapability.reject(reason);\n cancelXHRs = null;\n });\n let loaded = 0;\n const flushChunks = function () {\n const pdfFile = (0, _core_utils.arrayBuffersToBytes)(cachedChunks);\n if (length && pdfFile.length !== length) {\n (0, _util.warn)(\"reported HTTP length is different from actual\");\n }\n try {\n pdfManagerArgs.source = pdfFile;\n newPdfManager = new _pdf_manager.LocalPdfManager(pdfManagerArgs);\n pdfManagerCapability.resolve(newPdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n cachedChunks = [];\n };\n new Promise(function (resolve, reject) {\n const readChunk = function ({\n value,\n done\n }) {\n try {\n ensureNotTerminated();\n if (done) {\n if (!newPdfManager) {\n flushChunks();\n }\n cancelXHRs = null;\n return;\n }\n loaded += value.byteLength;\n if (!fullRequest.isStreamingSupported) {\n handler.send(\"DocProgress\", {\n loaded,\n total: Math.max(loaded, fullRequest.contentLength || 0)\n });\n }\n if (newPdfManager) {\n newPdfManager.sendProgressiveData(value);\n } else {\n cachedChunks.push(value);\n }\n fullRequest.read().then(readChunk, reject);\n } catch (e) {\n reject(e);\n }\n };\n fullRequest.read().then(readChunk, reject);\n }).catch(function (e) {\n pdfManagerCapability.reject(e);\n cancelXHRs = null;\n });\n cancelXHRs = function (reason) {\n pdfStream.cancelAllRequests(reason);\n };\n return pdfManagerCapability.promise;\n }\n function setupDoc(data) {\n function onSuccess(doc) {\n ensureNotTerminated();\n handler.send(\"GetDoc\", {\n pdfInfo: doc\n });\n }\n function onFailure(ex) {\n ensureNotTerminated();\n if (ex instanceof _util.PasswordException) {\n const task = new WorkerTask(`PasswordException: response ${ex.code}`);\n startWorkerTask(task);\n handler.sendWithPromise(\"PasswordRequest\", ex).then(function ({\n password\n }) {\n finishWorkerTask(task);\n pdfManager.updatePassword(password);\n pdfManagerReady();\n }).catch(function () {\n finishWorkerTask(task);\n handler.send(\"DocException\", ex);\n });\n } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {\n handler.send(\"DocException\", ex);\n } else {\n handler.send(\"DocException\", new _util.UnknownErrorException(ex.message, ex.toString()));\n }\n }\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function (reason) {\n ensureNotTerminated();\n if (!(reason instanceof _core_utils.XRefParseException)) {\n onFailure(reason);\n return;\n }\n pdfManager.requestLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n });\n }\n ensureNotTerminated();\n getPdfManager(data).then(function (newPdfManager) {\n if (terminated) {\n newPdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n throw new Error(\"Worker was terminated\");\n }\n pdfManager = newPdfManager;\n pdfManager.requestLoadedStream(true).then(stream => {\n handler.send(\"DataLoaded\", {\n length: stream.bytes.byteLength\n });\n });\n }).then(pdfManagerReady, onFailure);\n }\n handler.on(\"GetPage\", function (data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return Promise.all([pdfManager.ensure(page, \"rotate\"), pdfManager.ensure(page, \"ref\"), pdfManager.ensure(page, \"userUnit\"), pdfManager.ensure(page, \"view\")]).then(function ([rotate, ref, userUnit, view]) {\n return {\n rotate,\n ref,\n userUnit,\n view\n };\n });\n });\n });\n handler.on(\"GetPageIndex\", function (data) {\n const pageRef = _primitives.Ref.get(data.num, data.gen);\n return pdfManager.ensureCatalog(\"getPageIndex\", [pageRef]);\n });\n handler.on(\"GetDestinations\", function (data) {\n return pdfManager.ensureCatalog(\"destinations\");\n });\n handler.on(\"GetDestination\", function (data) {\n return pdfManager.ensureCatalog(\"getDestination\", [data.id]);\n });\n handler.on(\"GetPageLabels\", function (data) {\n return pdfManager.ensureCatalog(\"pageLabels\");\n });\n handler.on(\"GetPageLayout\", function (data) {\n return pdfManager.ensureCatalog(\"pageLayout\");\n });\n handler.on(\"GetPageMode\", function (data) {\n return pdfManager.ensureCatalog(\"pageMode\");\n });\n handler.on(\"GetViewerPreferences\", function (data) {\n return pdfManager.ensureCatalog(\"viewerPreferences\");\n });\n handler.on(\"GetOpenAction\", function (data) {\n return pdfManager.ensureCatalog(\"openAction\");\n });\n handler.on(\"GetAttachments\", function (data) {\n return pdfManager.ensureCatalog(\"attachments\");\n });\n handler.on(\"GetDocJSActions\", function (data) {\n return pdfManager.ensureCatalog(\"jsActions\");\n });\n handler.on(\"GetPageJSActions\", function ({\n pageIndex\n }) {\n return pdfManager.getPage(pageIndex).then(function (page) {\n return pdfManager.ensure(page, \"jsActions\");\n });\n });\n handler.on(\"GetOutline\", function (data) {\n return pdfManager.ensureCatalog(\"documentOutline\");\n });\n handler.on(\"GetOptionalContentConfig\", function (data) {\n return pdfManager.ensureCatalog(\"optionalContentConfig\");\n });\n handler.on(\"GetPermissions\", function (data) {\n return pdfManager.ensureCatalog(\"permissions\");\n });\n handler.on(\"GetMetadata\", function (data) {\n return Promise.all([pdfManager.ensureDoc(\"documentInfo\"), pdfManager.ensureCatalog(\"metadata\")]);\n });\n handler.on(\"GetMarkInfo\", function (data) {\n return pdfManager.ensureCatalog(\"markInfo\");\n });\n handler.on(\"GetData\", function (data) {\n return pdfManager.requestLoadedStream().then(function (stream) {\n return stream.bytes;\n });\n });\n handler.on(\"GetAnnotations\", function ({\n pageIndex,\n intent\n }) {\n return pdfManager.getPage(pageIndex).then(function (page) {\n const task = new WorkerTask(`GetAnnotations: page ${pageIndex}`);\n startWorkerTask(task);\n return page.getAnnotationsData(handler, task, intent).then(data => {\n finishWorkerTask(task);\n return data;\n }, reason => {\n finishWorkerTask(task);\n throw reason;\n });\n });\n });\n handler.on(\"GetFieldObjects\", function (data) {\n return pdfManager.ensureDoc(\"fieldObjects\");\n });\n handler.on(\"HasJSActions\", function (data) {\n return pdfManager.ensureDoc(\"hasJSActions\");\n });\n handler.on(\"GetCalculationOrderIds\", function (data) {\n return pdfManager.ensureDoc(\"calculationOrderIds\");\n });\n handler.on(\"SaveDocument\", async function ({\n isPureXfa,\n numPages,\n annotationStorage,\n filename\n }) {\n const globalPromises = [pdfManager.requestLoadedStream(), pdfManager.ensureCatalog(\"acroForm\"), pdfManager.ensureCatalog(\"acroFormRef\"), pdfManager.ensureDoc(\"startXRef\"), pdfManager.ensureDoc(\"xref\"), pdfManager.ensureDoc(\"linearization\"), pdfManager.ensureCatalog(\"structTreeRoot\")];\n const promises = [];\n const newAnnotationsByPage = !isPureXfa ? (0, _core_utils.getNewAnnotationsMap)(annotationStorage) : null;\n const [stream, acroForm, acroFormRef, startXRef, xref, linearization, _structTreeRoot] = await Promise.all(globalPromises);\n const catalogRef = xref.trailer.getRaw(\"Root\") || null;\n let structTreeRoot;\n if (newAnnotationsByPage) {\n if (!_structTreeRoot) {\n if (await _struct_tree.StructTreeRoot.canCreateStructureTree({\n catalogRef,\n pdfManager,\n newAnnotationsByPage\n })) {\n structTreeRoot = null;\n }\n } else if (await _structTreeRoot.canUpdateStructTree({\n pdfManager,\n newAnnotationsByPage\n })) {\n structTreeRoot = _structTreeRoot;\n }\n const imagePromises = _annotation.AnnotationFactory.generateImages(annotationStorage.values(), xref, pdfManager.evaluatorOptions.isOffscreenCanvasSupported);\n const newAnnotationPromises = structTreeRoot === undefined ? promises : [];\n for (const [pageIndex, annotations] of newAnnotationsByPage) {\n newAnnotationPromises.push(pdfManager.getPage(pageIndex).then(page => {\n const task = new WorkerTask(`Save (editor): page ${pageIndex}`);\n return page.saveNewAnnotations(handler, task, annotations, imagePromises).finally(function () {\n finishWorkerTask(task);\n });\n }));\n }\n if (structTreeRoot === null) {\n promises.push(Promise.all(newAnnotationPromises).then(async newRefs => {\n await _struct_tree.StructTreeRoot.createStructureTree({\n newAnnotationsByPage,\n xref,\n catalogRef,\n pdfManager,\n newRefs\n });\n return newRefs;\n }));\n } else if (structTreeRoot) {\n promises.push(Promise.all(newAnnotationPromises).then(async newRefs => {\n await structTreeRoot.updateStructureTree({\n newAnnotationsByPage,\n pdfManager,\n newRefs\n });\n return newRefs;\n }));\n }\n }\n if (isPureXfa) {\n promises.push(pdfManager.serializeXfaData(annotationStorage));\n } else {\n for (let pageIndex = 0; pageIndex < numPages; pageIndex++) {\n promises.push(pdfManager.getPage(pageIndex).then(function (page) {\n const task = new WorkerTask(`Save: page ${pageIndex}`);\n return page.save(handler, task, annotationStorage).finally(function () {\n finishWorkerTask(task);\n });\n }));\n }\n }\n const refs = await Promise.all(promises);\n let newRefs = [];\n let xfaData = null;\n if (isPureXfa) {\n xfaData = refs[0];\n if (!xfaData) {\n return stream.bytes;\n }\n } else {\n newRefs = refs.flat(2);\n if (newRefs.length === 0) {\n return stream.bytes;\n }\n }\n const needAppearances = acroFormRef && acroForm instanceof _primitives.Dict && newRefs.some(ref => ref.needAppearances);\n const xfa = acroForm instanceof _primitives.Dict && acroForm.get(\"XFA\") || null;\n let xfaDatasetsRef = null;\n let hasXfaDatasetsEntry = false;\n if (Array.isArray(xfa)) {\n for (let i = 0, ii = xfa.length; i < ii; i += 2) {\n if (xfa[i] === \"datasets\") {\n xfaDatasetsRef = xfa[i + 1];\n hasXfaDatasetsEntry = true;\n }\n }\n if (xfaDatasetsRef === null) {\n xfaDatasetsRef = xref.getNewTemporaryRef();\n }\n } else if (xfa) {\n (0, _util.warn)(\"Unsupported XFA type.\");\n }\n let newXrefInfo = Object.create(null);\n if (xref.trailer) {\n const infoObj = Object.create(null);\n const xrefInfo = xref.trailer.get(\"Info\") || null;\n if (xrefInfo instanceof _primitives.Dict) {\n xrefInfo.forEach((key, value) => {\n if (typeof value === \"string\") {\n infoObj[key] = (0, _util.stringToPDFString)(value);\n }\n });\n }\n newXrefInfo = {\n rootRef: catalogRef,\n encryptRef: xref.trailer.getRaw(\"Encrypt\") || null,\n newRef: xref.getNewTemporaryRef(),\n infoRef: xref.trailer.getRaw(\"Info\") || null,\n info: infoObj,\n fileIds: xref.trailer.get(\"ID\") || null,\n startXRef: linearization ? startXRef : xref.lastXRefStreamPos ?? startXRef,\n filename\n };\n }\n return (0, _writer.incrementalUpdate)({\n originalData: stream.bytes,\n xrefInfo: newXrefInfo,\n newRefs,\n xref,\n hasXfa: !!xfa,\n xfaDatasetsRef,\n hasXfaDatasetsEntry,\n needAppearances,\n acroFormRef,\n acroForm,\n xfaData\n }).finally(() => {\n xref.resetNewTemporaryRef();\n });\n });\n handler.on(\"GetOperatorList\", function (data, sink) {\n const pageIndex = data.pageIndex;\n pdfManager.getPage(pageIndex).then(function (page) {\n const task = new WorkerTask(`GetOperatorList: page ${pageIndex}`);\n startWorkerTask(task);\n const start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.getOperatorList({\n handler,\n sink,\n task,\n intent: data.intent,\n cacheKey: data.cacheKey,\n annotationStorage: data.annotationStorage\n }).then(function (operatorListInfo) {\n finishWorkerTask(task);\n if (start) {\n (0, _util.info)(`page=${pageIndex + 1} - getOperatorList: time=` + `${Date.now() - start}ms, len=${operatorListInfo.length}`);\n }\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n if (task.terminated) {\n return;\n }\n sink.error(reason);\n });\n });\n });\n handler.on(\"GetTextContent\", function (data, sink) {\n const {\n pageIndex,\n includeMarkedContent,\n disableNormalization\n } = data;\n pdfManager.getPage(pageIndex).then(function (page) {\n const task = new WorkerTask(\"GetTextContent: page \" + pageIndex);\n startWorkerTask(task);\n const start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.extractTextContent({\n handler,\n task,\n sink,\n includeMarkedContent,\n disableNormalization\n }).then(function () {\n finishWorkerTask(task);\n if (start) {\n (0, _util.info)(`page=${pageIndex + 1} - getTextContent: time=` + `${Date.now() - start}ms`);\n }\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n if (task.terminated) {\n return;\n }\n sink.error(reason);\n });\n });\n });\n handler.on(\"GetStructTree\", function (data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return pdfManager.ensure(page, \"getStructTree\");\n });\n });\n handler.on(\"FontFallback\", function (data) {\n return pdfManager.fontFallback(data.id, handler);\n });\n handler.on(\"Cleanup\", function (data) {\n return pdfManager.cleanup(true);\n });\n handler.on(\"Terminate\", function (data) {\n terminated = true;\n const waitOn = [];\n if (pdfManager) {\n pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n const cleanupPromise = pdfManager.cleanup();\n waitOn.push(cleanupPromise);\n pdfManager = null;\n } else {\n (0, _cleanup_helper.clearGlobalCaches)();\n }\n if (cancelXHRs) {\n cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));\n }\n for (const task of WorkerTasks) {\n waitOn.push(task.finished);\n task.terminate();\n }\n return Promise.all(waitOn).then(function () {\n handler.destroy();\n handler = null;\n });\n });\n handler.on(\"Ready\", function (data) {\n setupDoc(docParams);\n docParams = null;\n });\n return workerHandlerName;\n }\n static initializeFromPort(port) {\n const handler = new _message_handler.MessageHandler(\"worker\", \"main\", port);\n WorkerMessageHandler.setup(handler, port);\n handler.send(\"ready\", null);\n }\n}\nexports.WorkerMessageHandler = WorkerMessageHandler;\nfunction isMessagePort(maybePort) {\n return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n}\nif (typeof window === \"undefined\" && !_util.isNodeJS && typeof self !== \"undefined\" && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationReplyType = exports.AnnotationPrefix = exports.AnnotationMode = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.getModificationDate = getModificationDate;\nexports.getUuid = getUuid;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isNodeJS = void 0;\nexports.normalizeUnicode = normalizeUnicode;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6;\nexports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE;\nconst LINE_FACTOR = 1.35;\nexports.LINE_FACTOR = LINE_FACTOR;\nconst LINE_DESCENT_FACTOR = 0.35;\nexports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\nexports.BASELINE_FACTOR = BASELINE_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nexports.AnnotationEditorPrefix = AnnotationEditorPrefix;\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15\n};\nexports.AnnotationEditorType = AnnotationEditorType;\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23\n};\nexports.AnnotationEditorParamsType = AnnotationEditorParamsType;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {}\n return null;\n}\nfunction shadow(obj, prop, value, nonSerializable = false) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false\n });\n return value;\n}\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\nexports.BaseException = BaseException;\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\nexports.PasswordException = PasswordException;\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\nexports.InvalidPDFException = InvalidPDFException;\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\nexports.MissingPDFException = MissingPDFException;\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\nexports.UnexpectedResponseException = UnexpectedResponseException;\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\nexports.FormatError = FormatError;\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\nexports.AbortException = AbortException;\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch {\n return false;\n }\n}\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n static get platform() {\n if (typeof navigator === \"undefined\") {\n return shadow(this, \"platform\", {\n isWin: false,\n isMac: false\n });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\")\n });\n }\n static get isCSSRoundSupported() {\n return shadow(this, \"isCSSRoundSupported\", globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\"));\n }\n}\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n if (yLow > yHigh) {\n return null;\n }\n return [xLow, yLow, xHigh, yHigh];\n }\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n}\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\nclass PromiseCapability {\n #settled = false;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n this.reject = reason => {\n this.#settled = true;\n reject(reason);\n };\n });\n }\n get settled() {\n return this.#settled;\n }\n}\nexports.PromiseCapability = PromiseCapability;\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n NormalizeRegex = /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\nfunction getUuid() {\n if (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (typeof crypto !== \"undefined\" && typeof crypto?.getRandomValues === \"function\") {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nexports.AnnotationPrefix = AnnotationPrefix;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XRefParseException = exports.XRefEntryException = exports.ParserEOFException = exports.PDF_VERSION_REGEXP = exports.MissingDataException = void 0;\nexports.arrayBuffersToBytes = arrayBuffersToBytes;\nexports.collectActions = collectActions;\nexports.encodeToXmlString = encodeToXmlString;\nexports.escapePDFName = escapePDFName;\nexports.escapeString = escapeString;\nexports.getInheritableProperty = getInheritableProperty;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getNewAnnotationsMap = getNewAnnotationsMap;\nexports.getRotationMatrix = getRotationMatrix;\nexports.isAscii = isAscii;\nexports.isWhiteSpace = isWhiteSpace;\nexports.log2 = log2;\nexports.numberToString = numberToString;\nexports.parseXFAPath = parseXFAPath;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.recoverJsURL = recoverJsURL;\nexports.stringToUTF16HexString = stringToUTF16HexString;\nexports.stringToUTF16String = stringToUTF16String;\nexports.toRomanNumerals = toRomanNumerals;\nexports.validateCSSFont = validateCSSFont;\nexports.validateFontName = validateFontName;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _base_stream = __w_pdfjs_require__(5);\nconst PDF_VERSION_REGEXP = /^[1-9]\\.\\d$/;\nexports.PDF_VERSION_REGEXP = PDF_VERSION_REGEXP;\nfunction getLookupTableFactory(initializer) {\n let lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n return lookup;\n };\n}\nclass MissingDataException extends _util.BaseException {\n constructor(begin, end) {\n super(`Missing data [${begin}, ${end})`, \"MissingDataException\");\n this.begin = begin;\n this.end = end;\n }\n}\nexports.MissingDataException = MissingDataException;\nclass ParserEOFException extends _util.BaseException {\n constructor(msg) {\n super(msg, \"ParserEOFException\");\n }\n}\nexports.ParserEOFException = ParserEOFException;\nclass XRefEntryException extends _util.BaseException {\n constructor(msg) {\n super(msg, \"XRefEntryException\");\n }\n}\nexports.XRefEntryException = XRefEntryException;\nclass XRefParseException extends _util.BaseException {\n constructor(msg) {\n super(msg, \"XRefParseException\");\n }\n}\nexports.XRefParseException = XRefParseException;\nfunction arrayBuffersToBytes(arr) {\n const length = arr.length;\n if (length === 0) {\n return new Uint8Array(0);\n }\n if (length === 1) {\n return new Uint8Array(arr[0]);\n }\n let dataLength = 0;\n for (let i = 0; i < length; i++) {\n dataLength += arr[i].byteLength;\n }\n const data = new Uint8Array(dataLength);\n let pos = 0;\n for (let i = 0; i < length; i++) {\n const item = new Uint8Array(arr[i]);\n data.set(item, pos);\n pos += item.byteLength;\n }\n return data;\n}\nfunction getInheritableProperty({\n dict,\n key,\n getArray = false,\n stopWhenFound = true\n}) {\n let values;\n const visited = new _primitives.RefSet();\n while (dict instanceof _primitives.Dict && !(dict.objId && visited.has(dict.objId))) {\n if (dict.objId) {\n visited.put(dict.objId);\n }\n const value = getArray ? dict.getArray(key) : dict.get(key);\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n (values ||= []).push(value);\n }\n dict = dict.get(\"Parent\");\n }\n return values;\n}\nconst ROMAN_NUMBER_MAP = [\"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\", \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\", \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"];\nfunction toRomanNumerals(number, lowerCase = false) {\n (0, _util.assert)(Number.isInteger(number) && number > 0, \"The number should be a positive integer.\");\n const romanBuf = [];\n let pos;\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push(\"M\");\n }\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n const romanStr = romanBuf.join(\"\");\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n return Math.ceil(Math.log2(x));\n}\nfunction readInt8(data, offset) {\n return data[offset] << 24 >> 24;\n}\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\nfunction isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\nfunction parseXFAPath(path) {\n const positionPattern = /(.+)\\[(\\d+)\\]$/;\n return path.split(\".\").map(component => {\n const m = component.match(positionPattern);\n if (m) {\n return {\n name: m[1],\n pos: parseInt(m[2], 10)\n };\n }\n return {\n name: component,\n pos: 0\n };\n });\n}\nfunction escapePDFName(str) {\n const buffer = [];\n let start = 0;\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n if (char < 0x21 || char > 0x7e || char === 0x23 || char === 0x28 || char === 0x29 || char === 0x3c || char === 0x3e || char === 0x5b || char === 0x5d || char === 0x7b || char === 0x7d || char === 0x2f || char === 0x25) {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n buffer.push(`#${char.toString(16)}`);\n start = i + 1;\n }\n }\n if (buffer.length === 0) {\n return str;\n }\n if (start < str.length) {\n buffer.push(str.substring(start, str.length));\n }\n return buffer.join(\"\");\n}\nfunction escapeString(str) {\n return str.replaceAll(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\nfunction _collectJS(entry, xref, list, parents) {\n if (!entry) {\n return;\n }\n let parent = null;\n if (entry instanceof _primitives.Ref) {\n if (parents.has(entry)) {\n return;\n }\n parent = entry;\n parents.put(parent);\n entry = xref.fetch(entry);\n }\n if (Array.isArray(entry)) {\n for (const element of entry) {\n _collectJS(element, xref, list, parents);\n }\n } else if (entry instanceof _primitives.Dict) {\n if ((0, _primitives.isName)(entry.get(\"S\"), \"JavaScript\")) {\n const js = entry.get(\"JS\");\n let code;\n if (js instanceof _base_stream.BaseStream) {\n code = js.getString();\n } else if (typeof js === \"string\") {\n code = js;\n }\n code &&= (0, _util.stringToPDFString)(code).replaceAll(\"\\x00\", \"\");\n if (code) {\n list.push(code);\n }\n }\n _collectJS(entry.getRaw(\"Next\"), xref, list, parents);\n }\n if (parent) {\n parents.remove(parent);\n }\n}\nfunction collectActions(xref, dict, eventType) {\n const actions = Object.create(null);\n const additionalActionsDicts = getInheritableProperty({\n dict,\n key: \"AA\",\n stopWhenFound: false\n });\n if (additionalActionsDicts) {\n for (let i = additionalActionsDicts.length - 1; i >= 0; i--) {\n const additionalActions = additionalActionsDicts[i];\n if (!(additionalActions instanceof _primitives.Dict)) {\n continue;\n }\n for (const key of additionalActions.getKeys()) {\n const action = eventType[key];\n if (!action) {\n continue;\n }\n const actionDict = additionalActions.getRaw(key);\n const parents = new _primitives.RefSet();\n const list = [];\n _collectJS(actionDict, xref, list, parents);\n if (list.length > 0) {\n actions[action] = list;\n }\n }\n }\n }\n if (dict.has(\"A\")) {\n const actionDict = dict.get(\"A\");\n const parents = new _primitives.RefSet();\n const list = [];\n _collectJS(actionDict, xref, list, parents);\n if (list.length > 0) {\n actions.Action = list;\n }\n }\n return (0, _util.objectSize)(actions) > 0 ? actions : null;\n}\nconst XMLEntities = {\n 0x3c: \"<\",\n 0x3e: \">\",\n 0x26: \"&\",\n 0x22: \""\",\n 0x27: \"'\"\n};\nfunction encodeToXmlString(str) {\n const buffer = [];\n let start = 0;\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.codePointAt(i);\n if (0x20 <= char && char <= 0x7e) {\n const entity = XMLEntities[char];\n if (entity) {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n buffer.push(entity);\n start = i + 1;\n }\n } else {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n buffer.push(`&#x${char.toString(16).toUpperCase()};`);\n if (char > 0xd7ff && (char < 0xe000 || char > 0xfffd)) {\n i++;\n }\n start = i + 1;\n }\n }\n if (buffer.length === 0) {\n return str;\n }\n if (start < str.length) {\n buffer.push(str.substring(start, str.length));\n }\n return buffer.join(\"\");\n}\nfunction validateFontName(fontFamily, mustWarn = false) {\n const m = /^(\"|').*(\"|')$/.exec(fontFamily);\n if (m && m[1] === m[2]) {\n const re = new RegExp(`[^\\\\\\\\]${m[1]}`);\n if (re.test(fontFamily.slice(1, -1))) {\n if (mustWarn) {\n (0, _util.warn)(`FontFamily contains unescaped ${m[1]}: ${fontFamily}.`);\n }\n return false;\n }\n } else {\n for (const ident of fontFamily.split(/[ \\t]+/)) {\n if (/^(\\d|(-(\\d|-)))/.test(ident) || !/^[\\w-\\\\]+$/.test(ident)) {\n if (mustWarn) {\n (0, _util.warn)(`FontFamily contains invalid : ${fontFamily}.`);\n }\n return false;\n }\n }\n }\n return true;\n}\nfunction validateCSSFont(cssFontInfo) {\n const DEFAULT_CSS_FONT_OBLIQUE = \"14\";\n const DEFAULT_CSS_FONT_WEIGHT = \"400\";\n const CSS_FONT_WEIGHT_VALUES = new Set([\"100\", \"200\", \"300\", \"400\", \"500\", \"600\", \"700\", \"800\", \"900\", \"1000\", \"normal\", \"bold\", \"bolder\", \"lighter\"]);\n const {\n fontFamily,\n fontWeight,\n italicAngle\n } = cssFontInfo;\n if (!validateFontName(fontFamily, true)) {\n return false;\n }\n const weight = fontWeight ? fontWeight.toString() : \"\";\n cssFontInfo.fontWeight = CSS_FONT_WEIGHT_VALUES.has(weight) ? weight : DEFAULT_CSS_FONT_WEIGHT;\n const angle = parseFloat(italicAngle);\n cssFontInfo.italicAngle = isNaN(angle) || angle < -90 || angle > 90 ? DEFAULT_CSS_FONT_OBLIQUE : italicAngle.toString();\n return true;\n}\nfunction recoverJsURL(str) {\n const URL_OPEN_METHODS = [\"app.launchURL\", \"window.open\", \"xfa.host.gotoURL\"];\n const regex = new RegExp(\"^\\\\s*(\" + URL_OPEN_METHODS.join(\"|\").replaceAll(\".\", \"\\\\.\") + \")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\", \"i\");\n const jsUrl = regex.exec(str);\n if (jsUrl?.[2]) {\n const url = jsUrl[2];\n let newWindow = false;\n if (jsUrl[3] === \"true\" && jsUrl[1] === \"app.launchURL\") {\n newWindow = true;\n }\n return {\n url,\n newWindow\n };\n }\n return null;\n}\nfunction numberToString(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const roundedValue = Math.round(value * 100);\n if (roundedValue % 100 === 0) {\n return (roundedValue / 100).toString();\n }\n if (roundedValue % 10 === 0) {\n return value.toFixed(1);\n }\n return value.toFixed(2);\n}\nfunction getNewAnnotationsMap(annotationStorage) {\n if (!annotationStorage) {\n return null;\n }\n const newAnnotationsByPage = new Map();\n for (const [key, value] of annotationStorage) {\n if (!key.startsWith(_util.AnnotationEditorPrefix)) {\n continue;\n }\n let annotations = newAnnotationsByPage.get(value.pageIndex);\n if (!annotations) {\n annotations = [];\n newAnnotationsByPage.set(value.pageIndex, annotations);\n }\n annotations.push(value);\n }\n return newAnnotationsByPage.size > 0 ? newAnnotationsByPage : null;\n}\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\nfunction stringToUTF16HexString(str) {\n const buf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push((char >> 8 & 0xff).toString(16).padStart(2, \"0\"), (char & 0xff).toString(16).padStart(2, \"0\"));\n }\n return buf.join(\"\");\n}\nfunction stringToUTF16String(str, bigEndian = false) {\n const buf = [];\n if (bigEndian) {\n buf.push(\"\\xFE\\xFF\");\n }\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(String.fromCharCode(char >> 8 & 0xff), String.fromCharCode(char & 0xff));\n }\n return buf.join(\"\");\n}\nfunction getRotationMatrix(rotation, width, height) {\n switch (rotation) {\n case 90:\n return [0, 1, -1, 0, width, 0];\n case 180:\n return [-1, 0, 0, -1, width, height];\n case 270:\n return [0, -1, 1, 0, 0, height];\n default:\n throw new Error(\"Invalid rotation\");\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.EOF = exports.Dict = exports.Cmd = exports.CIRCULAR_REF = void 0;\nexports.clearPrimitiveCaches = clearPrimitiveCaches;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRefsEqual = isRefsEqual;\nvar _util = __w_pdfjs_require__(2);\nconst CIRCULAR_REF = Symbol(\"CIRCULAR_REF\");\nexports.CIRCULAR_REF = CIRCULAR_REF;\nconst EOF = Symbol(\"EOF\");\nexports.EOF = EOF;\nlet CmdCache = Object.create(null);\nlet NameCache = Object.create(null);\nlet RefCache = Object.create(null);\nfunction clearPrimitiveCaches() {\n CmdCache = Object.create(null);\n NameCache = Object.create(null);\n RefCache = Object.create(null);\n}\nclass Name {\n constructor(name) {\n this.name = name;\n }\n static get(name) {\n return NameCache[name] ||= new Name(name);\n }\n}\nexports.Name = Name;\nclass Cmd {\n constructor(cmd) {\n this.cmd = cmd;\n }\n static get(cmd) {\n return CmdCache[cmd] ||= new Cmd(cmd);\n }\n}\nexports.Cmd = Cmd;\nconst nonSerializable = function nonSerializableClosure() {\n return nonSerializable;\n};\nclass Dict {\n constructor(xref = null) {\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable;\n }\n assignXref(newXref) {\n this.xref = newXref;\n }\n get size() {\n return Object.keys(this._map).length;\n }\n get(key1, key2, key3) {\n let value = this._map[key1];\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n if (value === undefined && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n if (value instanceof Ref && this.xref) {\n return this.xref.fetch(value, this.suppressEncryption);\n }\n return value;\n }\n async getAsync(key1, key2, key3) {\n let value = this._map[key1];\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n if (value === undefined && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n if (value instanceof Ref && this.xref) {\n return this.xref.fetchAsync(value, this.suppressEncryption);\n }\n return value;\n }\n getArray(key1, key2, key3) {\n let value = this._map[key1];\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n if (value === undefined && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n if (value instanceof Ref && this.xref) {\n value = this.xref.fetch(value, this.suppressEncryption);\n }\n if (Array.isArray(value)) {\n value = value.slice();\n for (let i = 0, ii = value.length; i < ii; i++) {\n if (value[i] instanceof Ref && this.xref) {\n value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n }\n }\n }\n return value;\n }\n getRaw(key) {\n return this._map[key];\n }\n getKeys() {\n return Object.keys(this._map);\n }\n getRawValues() {\n return Object.values(this._map);\n }\n set(key, value) {\n this._map[key] = value;\n }\n has(key) {\n return this._map[key] !== undefined;\n }\n forEach(callback) {\n for (const key in this._map) {\n callback(key, this.get(key));\n }\n }\n static get empty() {\n const emptyDict = new Dict(null);\n emptyDict.set = (key, value) => {\n (0, _util.unreachable)(\"Should not call `set` on the empty dictionary.\");\n };\n return (0, _util.shadow)(this, \"empty\", emptyDict);\n }\n static merge({\n xref,\n dictArray,\n mergeSubDicts = false\n }) {\n const mergedDict = new Dict(xref),\n properties = new Map();\n for (const dict of dictArray) {\n if (!(dict instanceof Dict)) {\n continue;\n }\n for (const [key, value] of Object.entries(dict._map)) {\n let property = properties.get(key);\n if (property === undefined) {\n property = [];\n properties.set(key, property);\n } else if (!mergeSubDicts || !(value instanceof Dict)) {\n continue;\n }\n property.push(value);\n }\n }\n for (const [name, values] of properties) {\n if (values.length === 1 || !(values[0] instanceof Dict)) {\n mergedDict._map[name] = values[0];\n continue;\n }\n const subDict = new Dict(xref);\n for (const dict of values) {\n for (const [key, value] of Object.entries(dict._map)) {\n if (subDict._map[key] === undefined) {\n subDict._map[key] = value;\n }\n }\n }\n if (subDict.size > 0) {\n mergedDict._map[name] = subDict;\n }\n }\n properties.clear();\n return mergedDict.size > 0 ? mergedDict : Dict.empty;\n }\n clone() {\n const dict = new Dict(this.xref);\n for (const key of this.getKeys()) {\n dict.set(key, this.getRaw(key));\n }\n return dict;\n }\n}\nexports.Dict = Dict;\nclass Ref {\n constructor(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n toString() {\n if (this.gen === 0) {\n return `${this.num}R`;\n }\n return `${this.num}R${this.gen}`;\n }\n static fromString(str) {\n const ref = RefCache[str];\n if (ref) {\n return ref;\n }\n const m = /^(\\d+)R(\\d*)$/.exec(str);\n if (!m || m[1] === \"0\") {\n return null;\n }\n return RefCache[str] = new Ref(parseInt(m[1]), !m[2] ? 0 : parseInt(m[2]));\n }\n static get(num, gen) {\n const key = gen === 0 ? `${num}R` : `${num}R${gen}`;\n return RefCache[key] ||= new Ref(num, gen);\n }\n}\nexports.Ref = Ref;\nclass RefSet {\n constructor(parent = null) {\n this._set = new Set(parent?._set);\n }\n has(ref) {\n return this._set.has(ref.toString());\n }\n put(ref) {\n this._set.add(ref.toString());\n }\n remove(ref) {\n this._set.delete(ref.toString());\n }\n [Symbol.iterator]() {\n return this._set.values();\n }\n clear() {\n this._set.clear();\n }\n}\nexports.RefSet = RefSet;\nclass RefSetCache {\n constructor() {\n this._map = new Map();\n }\n get size() {\n return this._map.size;\n }\n get(ref) {\n return this._map.get(ref.toString());\n }\n has(ref) {\n return this._map.has(ref.toString());\n }\n put(ref, obj) {\n this._map.set(ref.toString(), obj);\n }\n putAlias(ref, aliasRef) {\n this._map.set(ref.toString(), this.get(aliasRef));\n }\n [Symbol.iterator]() {\n return this._map.values();\n }\n clear() {\n this._map.clear();\n }\n}\nexports.RefSetCache = RefSetCache;\nfunction isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n}\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\nfunction isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type));\n}\nfunction isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n}\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStream = void 0;\nvar _util = __w_pdfjs_require__(2);\nclass BaseStream {\n constructor() {\n if (this.constructor === BaseStream) {\n (0, _util.unreachable)(\"Cannot initialize BaseStream.\");\n }\n }\n get length() {\n (0, _util.unreachable)(\"Abstract getter `length` accessed\");\n }\n get isEmpty() {\n (0, _util.unreachable)(\"Abstract getter `isEmpty` accessed\");\n }\n get isDataLoaded() {\n return (0, _util.shadow)(this, \"isDataLoaded\", true);\n }\n getByte() {\n (0, _util.unreachable)(\"Abstract method `getByte` called\");\n }\n getBytes(length) {\n (0, _util.unreachable)(\"Abstract method `getBytes` called\");\n }\n peekByte() {\n const peekedByte = this.getByte();\n if (peekedByte !== -1) {\n this.pos--;\n }\n return peekedByte;\n }\n peekBytes(length) {\n const bytes = this.getBytes(length);\n this.pos -= bytes.length;\n return bytes;\n }\n getUint16() {\n const b0 = this.getByte();\n const b1 = this.getByte();\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n return (b0 << 8) + b1;\n }\n getInt32() {\n const b0 = this.getByte();\n const b1 = this.getByte();\n const b2 = this.getByte();\n const b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n getByteRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method `getByteRange` called\");\n }\n getString(length) {\n return (0, _util.bytesToString)(this.getBytes(length));\n }\n skip(n) {\n this.pos += n || 1;\n }\n reset() {\n (0, _util.unreachable)(\"Abstract method `reset` called\");\n }\n moveStart() {\n (0, _util.unreachable)(\"Abstract method `moveStart` called\");\n }\n makeSubStream(start, length, dict = null) {\n (0, _util.unreachable)(\"Abstract method `makeSubStream` called\");\n }\n getBaseStreams() {\n return null;\n }\n}\nexports.BaseStream = BaseStream;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NetworkPdfManager = exports.LocalPdfManager = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _chunked_stream = __w_pdfjs_require__(7);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _document = __w_pdfjs_require__(9);\nvar _stream = __w_pdfjs_require__(8);\nfunction parseDocBaseUrl(url) {\n if (url) {\n const absoluteUrl = (0, _util.createValidAbsoluteUrl)(url);\n if (absoluteUrl) {\n return absoluteUrl.href;\n }\n (0, _util.warn)(`Invalid absolute docBaseUrl: \"${url}\".`);\n }\n return null;\n}\nclass BasePdfManager {\n constructor(args) {\n if (this.constructor === BasePdfManager) {\n (0, _util.unreachable)(\"Cannot initialize BasePdfManager.\");\n }\n this._docBaseUrl = parseDocBaseUrl(args.docBaseUrl);\n this._docId = args.docId;\n this._password = args.password;\n this.enableXfa = args.enableXfa;\n args.evaluatorOptions.isOffscreenCanvasSupported &&= _util.FeatureTest.isOffscreenCanvasSupported;\n this.evaluatorOptions = args.evaluatorOptions;\n }\n get docId() {\n return this._docId;\n }\n get password() {\n return this._password;\n }\n get docBaseUrl() {\n return this._docBaseUrl;\n }\n get catalog() {\n return this.pdfDocument.catalog;\n }\n ensureDoc(prop, args) {\n return this.ensure(this.pdfDocument, prop, args);\n }\n ensureXRef(prop, args) {\n return this.ensure(this.pdfDocument.xref, prop, args);\n }\n ensureCatalog(prop, args) {\n return this.ensure(this.pdfDocument.catalog, prop, args);\n }\n getPage(pageIndex) {\n return this.pdfDocument.getPage(pageIndex);\n }\n fontFallback(id, handler) {\n return this.pdfDocument.fontFallback(id, handler);\n }\n loadXfaFonts(handler, task) {\n return this.pdfDocument.loadXfaFonts(handler, task);\n }\n loadXfaImages() {\n return this.pdfDocument.loadXfaImages();\n }\n serializeXfaData(annotationStorage) {\n return this.pdfDocument.serializeXfaData(annotationStorage);\n }\n cleanup(manuallyTriggered = false) {\n return this.pdfDocument.cleanup(manuallyTriggered);\n }\n async ensure(obj, prop, args) {\n (0, _util.unreachable)(\"Abstract method `ensure` called\");\n }\n requestRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method `requestRange` called\");\n }\n requestLoadedStream(noFetch = false) {\n (0, _util.unreachable)(\"Abstract method `requestLoadedStream` called\");\n }\n sendProgressiveData(chunk) {\n (0, _util.unreachable)(\"Abstract method `sendProgressiveData` called\");\n }\n updatePassword(password) {\n this._password = password;\n }\n terminate(reason) {\n (0, _util.unreachable)(\"Abstract method `terminate` called\");\n }\n}\nclass LocalPdfManager extends BasePdfManager {\n constructor(args) {\n super(args);\n const stream = new _stream.Stream(args.source);\n this.pdfDocument = new _document.PDFDocument(this, stream);\n this._loadedStreamPromise = Promise.resolve(stream);\n }\n async ensure(obj, prop, args) {\n const value = obj[prop];\n if (typeof value === \"function\") {\n return value.apply(obj, args);\n }\n return value;\n }\n requestRange(begin, end) {\n return Promise.resolve();\n }\n requestLoadedStream(noFetch = false) {\n return this._loadedStreamPromise;\n }\n terminate(reason) {}\n}\nexports.LocalPdfManager = LocalPdfManager;\nclass NetworkPdfManager extends BasePdfManager {\n constructor(args) {\n super(args);\n this.streamManager = new _chunked_stream.ChunkedStreamManager(args.source, {\n msgHandler: args.handler,\n length: args.length,\n disableAutoFetch: args.disableAutoFetch,\n rangeChunkSize: args.rangeChunkSize\n });\n this.pdfDocument = new _document.PDFDocument(this, this.streamManager.getStream());\n }\n async ensure(obj, prop, args) {\n try {\n const value = obj[prop];\n if (typeof value === \"function\") {\n return value.apply(obj, args);\n }\n return value;\n } catch (ex) {\n if (!(ex instanceof _core_utils.MissingDataException)) {\n throw ex;\n }\n await this.requestRange(ex.begin, ex.end);\n return this.ensure(obj, prop, args);\n }\n }\n requestRange(begin, end) {\n return this.streamManager.requestRange(begin, end);\n }\n requestLoadedStream(noFetch = false) {\n return this.streamManager.requestAllChunks(noFetch);\n }\n sendProgressiveData(chunk) {\n this.streamManager.onReceiveData({\n chunk\n });\n }\n terminate(reason) {\n this.streamManager.abort(reason);\n }\n}\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\nvar _core_utils = __w_pdfjs_require__(3);\nvar _util = __w_pdfjs_require__(2);\nvar _stream = __w_pdfjs_require__(8);\nclass ChunkedStream extends _stream.Stream {\n constructor(length, chunkSize, manager) {\n super(new Uint8Array(length), 0, length, null);\n this.chunkSize = chunkSize;\n this._loadedChunks = new Set();\n this.numChunks = Math.ceil(length / chunkSize);\n this.manager = manager;\n this.progressiveDataLength = 0;\n this.lastSuccessfulEnsureByteChunk = -1;\n }\n getMissingChunks() {\n const chunks = [];\n for (let chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n if (!this._loadedChunks.has(chunk)) {\n chunks.push(chunk);\n }\n }\n return chunks;\n }\n get numChunksLoaded() {\n return this._loadedChunks.size;\n }\n get isDataLoaded() {\n return this.numChunksLoaded === this.numChunks;\n }\n onReceiveData(begin, chunk) {\n const chunkSize = this.chunkSize;\n if (begin % chunkSize !== 0) {\n throw new Error(`Bad begin offset: ${begin}`);\n }\n const end = begin + chunk.byteLength;\n if (end % chunkSize !== 0 && end !== this.bytes.length) {\n throw new Error(`Bad end offset: ${end}`);\n }\n this.bytes.set(new Uint8Array(chunk), begin);\n const beginChunk = Math.floor(begin / chunkSize);\n const endChunk = Math.floor((end - 1) / chunkSize) + 1;\n for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n this._loadedChunks.add(curChunk);\n }\n }\n onReceiveProgressiveData(data) {\n let position = this.progressiveDataLength;\n const beginChunk = Math.floor(position / this.chunkSize);\n this.bytes.set(new Uint8Array(data), position);\n position += data.byteLength;\n this.progressiveDataLength = position;\n const endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n this._loadedChunks.add(curChunk);\n }\n }\n ensureByte(pos) {\n if (pos < this.progressiveDataLength) {\n return;\n }\n const chunk = Math.floor(pos / this.chunkSize);\n if (chunk > this.numChunks) {\n return;\n }\n if (chunk === this.lastSuccessfulEnsureByteChunk) {\n return;\n }\n if (!this._loadedChunks.has(chunk)) {\n throw new _core_utils.MissingDataException(pos, pos + 1);\n }\n this.lastSuccessfulEnsureByteChunk = chunk;\n }\n ensureRange(begin, end) {\n if (begin >= end) {\n return;\n }\n if (end <= this.progressiveDataLength) {\n return;\n }\n const beginChunk = Math.floor(begin / this.chunkSize);\n if (beginChunk > this.numChunks) {\n return;\n }\n const endChunk = Math.min(Math.floor((end - 1) / this.chunkSize) + 1, this.numChunks);\n for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this._loadedChunks.has(chunk)) {\n throw new _core_utils.MissingDataException(begin, end);\n }\n }\n }\n nextEmptyChunk(beginChunk) {\n const numChunks = this.numChunks;\n for (let i = 0; i < numChunks; ++i) {\n const chunk = (beginChunk + i) % numChunks;\n if (!this._loadedChunks.has(chunk)) {\n return chunk;\n }\n }\n return null;\n }\n hasChunk(chunk) {\n return this._loadedChunks.has(chunk);\n }\n getByte() {\n const pos = this.pos;\n if (pos >= this.end) {\n return -1;\n }\n if (pos >= this.progressiveDataLength) {\n this.ensureByte(pos);\n }\n return this.bytes[this.pos++];\n }\n getBytes(length) {\n const bytes = this.bytes;\n const pos = this.pos;\n const strEnd = this.end;\n if (!length) {\n if (strEnd > this.progressiveDataLength) {\n this.ensureRange(pos, strEnd);\n }\n return bytes.subarray(pos, strEnd);\n }\n let end = pos + length;\n if (end > strEnd) {\n end = strEnd;\n }\n if (end > this.progressiveDataLength) {\n this.ensureRange(pos, end);\n }\n this.pos = end;\n return bytes.subarray(pos, end);\n }\n getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n if (end > this.end) {\n end = this.end;\n }\n if (end > this.progressiveDataLength) {\n this.ensureRange(begin, end);\n }\n return this.bytes.subarray(begin, end);\n }\n makeSubStream(start, length, dict = null) {\n if (length) {\n if (start + length > this.progressiveDataLength) {\n this.ensureRange(start, start + length);\n }\n } else if (start >= this.progressiveDataLength) {\n this.ensureByte(start);\n }\n function ChunkedStreamSubstream() {}\n ChunkedStreamSubstream.prototype = Object.create(this);\n ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n const chunkSize = this.chunkSize;\n const beginChunk = Math.floor(this.start / chunkSize);\n const endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n const missingChunks = [];\n for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this._loadedChunks.has(chunk)) {\n missingChunks.push(chunk);\n }\n }\n return missingChunks;\n };\n Object.defineProperty(ChunkedStreamSubstream.prototype, \"isDataLoaded\", {\n get() {\n if (this.numChunksLoaded === this.numChunks) {\n return true;\n }\n return this.getMissingChunks().length === 0;\n },\n configurable: true\n });\n const subStream = new ChunkedStreamSubstream();\n subStream.pos = subStream.start = start;\n subStream.end = start + length || this.end;\n subStream.dict = dict;\n return subStream;\n }\n getBaseStreams() {\n return [this];\n }\n}\nexports.ChunkedStream = ChunkedStream;\nclass ChunkedStreamManager {\n constructor(pdfNetworkStream, args) {\n this.length = args.length;\n this.chunkSize = args.rangeChunkSize;\n this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n this.pdfNetworkStream = pdfNetworkStream;\n this.disableAutoFetch = args.disableAutoFetch;\n this.msgHandler = args.msgHandler;\n this.currRequestId = 0;\n this._chunksNeededByRequest = new Map();\n this._requestsByChunk = new Map();\n this._promisesByRequest = new Map();\n this.progressiveDataLength = 0;\n this.aborted = false;\n this._loadedStreamCapability = new _util.PromiseCapability();\n }\n sendRequest(begin, end) {\n const rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n if (!rangeReader.isStreamingSupported) {\n rangeReader.onProgress = this.onProgress.bind(this);\n }\n let chunks = [],\n loaded = 0;\n return new Promise((resolve, reject) => {\n const readChunk = ({\n value,\n done\n }) => {\n try {\n if (done) {\n const chunkData = (0, _core_utils.arrayBuffersToBytes)(chunks);\n chunks = null;\n resolve(chunkData);\n return;\n }\n loaded += value.byteLength;\n if (rangeReader.isStreamingSupported) {\n this.onProgress({\n loaded\n });\n }\n chunks.push(value);\n rangeReader.read().then(readChunk, reject);\n } catch (e) {\n reject(e);\n }\n };\n rangeReader.read().then(readChunk, reject);\n }).then(data => {\n if (this.aborted) {\n return;\n }\n this.onReceiveData({\n chunk: data,\n begin\n });\n });\n }\n requestAllChunks(noFetch = false) {\n if (!noFetch) {\n const missingChunks = this.stream.getMissingChunks();\n this._requestChunks(missingChunks);\n }\n return this._loadedStreamCapability.promise;\n }\n _requestChunks(chunks) {\n const requestId = this.currRequestId++;\n const chunksNeeded = new Set();\n this._chunksNeededByRequest.set(requestId, chunksNeeded);\n for (const chunk of chunks) {\n if (!this.stream.hasChunk(chunk)) {\n chunksNeeded.add(chunk);\n }\n }\n if (chunksNeeded.size === 0) {\n return Promise.resolve();\n }\n const capability = new _util.PromiseCapability();\n this._promisesByRequest.set(requestId, capability);\n const chunksToRequest = [];\n for (const chunk of chunksNeeded) {\n let requestIds = this._requestsByChunk.get(chunk);\n if (!requestIds) {\n requestIds = [];\n this._requestsByChunk.set(chunk, requestIds);\n chunksToRequest.push(chunk);\n }\n requestIds.push(requestId);\n }\n if (chunksToRequest.length > 0) {\n const groupedChunksToRequest = this.groupChunks(chunksToRequest);\n for (const groupedChunk of groupedChunksToRequest) {\n const begin = groupedChunk.beginChunk * this.chunkSize;\n const end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n this.sendRequest(begin, end).catch(capability.reject);\n }\n }\n return capability.promise.catch(reason => {\n if (this.aborted) {\n return;\n }\n throw reason;\n });\n }\n getStream() {\n return this.stream;\n }\n requestRange(begin, end) {\n end = Math.min(end, this.length);\n const beginChunk = this.getBeginChunk(begin);\n const endChunk = this.getEndChunk(end);\n const chunks = [];\n for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n chunks.push(chunk);\n }\n return this._requestChunks(chunks);\n }\n requestRanges(ranges = []) {\n const chunksToRequest = [];\n for (const range of ranges) {\n const beginChunk = this.getBeginChunk(range.begin);\n const endChunk = this.getEndChunk(range.end);\n for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!chunksToRequest.includes(chunk)) {\n chunksToRequest.push(chunk);\n }\n }\n }\n chunksToRequest.sort(function (a, b) {\n return a - b;\n });\n return this._requestChunks(chunksToRequest);\n }\n groupChunks(chunks) {\n const groupedChunks = [];\n let beginChunk = -1;\n let prevChunk = -1;\n for (let i = 0, ii = chunks.length; i < ii; ++i) {\n const chunk = chunks[i];\n if (beginChunk < 0) {\n beginChunk = chunk;\n }\n if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n groupedChunks.push({\n beginChunk,\n endChunk: prevChunk + 1\n });\n beginChunk = chunk;\n }\n if (i + 1 === chunks.length) {\n groupedChunks.push({\n beginChunk,\n endChunk: chunk + 1\n });\n }\n prevChunk = chunk;\n }\n return groupedChunks;\n }\n onProgress(args) {\n this.msgHandler.send(\"DocProgress\", {\n loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n total: this.length\n });\n }\n onReceiveData(args) {\n const chunk = args.chunk;\n const isProgressive = args.begin === undefined;\n const begin = isProgressive ? this.progressiveDataLength : args.begin;\n const end = begin + chunk.byteLength;\n const beginChunk = Math.floor(begin / this.chunkSize);\n const endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n if (isProgressive) {\n this.stream.onReceiveProgressiveData(chunk);\n this.progressiveDataLength = end;\n } else {\n this.stream.onReceiveData(begin, chunk);\n }\n if (this.stream.isDataLoaded) {\n this._loadedStreamCapability.resolve(this.stream);\n }\n const loadedRequests = [];\n for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n const requestIds = this._requestsByChunk.get(curChunk);\n if (!requestIds) {\n continue;\n }\n this._requestsByChunk.delete(curChunk);\n for (const requestId of requestIds) {\n const chunksNeeded = this._chunksNeededByRequest.get(requestId);\n if (chunksNeeded.has(curChunk)) {\n chunksNeeded.delete(curChunk);\n }\n if (chunksNeeded.size > 0) {\n continue;\n }\n loadedRequests.push(requestId);\n }\n }\n if (!this.disableAutoFetch && this._requestsByChunk.size === 0) {\n let nextEmptyChunk;\n if (this.stream.numChunksLoaded === 1) {\n const lastChunk = this.stream.numChunks - 1;\n if (!this.stream.hasChunk(lastChunk)) {\n nextEmptyChunk = lastChunk;\n }\n } else {\n nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n }\n if (Number.isInteger(nextEmptyChunk)) {\n this._requestChunks([nextEmptyChunk]);\n }\n }\n for (const requestId of loadedRequests) {\n const capability = this._promisesByRequest.get(requestId);\n this._promisesByRequest.delete(requestId);\n capability.resolve();\n }\n this.msgHandler.send(\"DocProgress\", {\n loaded: this.stream.numChunksLoaded * this.chunkSize,\n total: this.length\n });\n }\n onError(err) {\n this._loadedStreamCapability.reject(err);\n }\n getBeginChunk(begin) {\n return Math.floor(begin / this.chunkSize);\n }\n getEndChunk(end) {\n return Math.floor((end - 1) / this.chunkSize) + 1;\n }\n abort(reason) {\n this.aborted = true;\n this.pdfNetworkStream?.cancelAllRequests(reason);\n for (const capability of this._promisesByRequest.values()) {\n capability.reject(reason);\n }\n }\n}\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StringStream = exports.Stream = exports.NullStream = void 0;\nvar _base_stream = __w_pdfjs_require__(5);\nvar _util = __w_pdfjs_require__(2);\nclass Stream extends _base_stream.BaseStream {\n constructor(arrayBuffer, start, length, dict) {\n super();\n this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n this.start = start || 0;\n this.pos = this.start;\n this.end = start + length || this.bytes.length;\n this.dict = dict;\n }\n get length() {\n return this.end - this.start;\n }\n get isEmpty() {\n return this.length === 0;\n }\n getByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n return this.bytes[this.pos++];\n }\n getBytes(length) {\n const bytes = this.bytes;\n const pos = this.pos;\n const strEnd = this.end;\n if (!length) {\n return bytes.subarray(pos, strEnd);\n }\n let end = pos + length;\n if (end > strEnd) {\n end = strEnd;\n }\n this.pos = end;\n return bytes.subarray(pos, end);\n }\n getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n if (end > this.end) {\n end = this.end;\n }\n return this.bytes.subarray(begin, end);\n }\n reset() {\n this.pos = this.start;\n }\n moveStart() {\n this.start = this.pos;\n }\n makeSubStream(start, length, dict = null) {\n return new Stream(this.bytes.buffer, start, length, dict);\n }\n}\nexports.Stream = Stream;\nclass StringStream extends Stream {\n constructor(str) {\n super((0, _util.stringToBytes)(str));\n }\n}\nexports.StringStream = StringStream;\nclass NullStream extends Stream {\n constructor() {\n super(new Uint8Array(0));\n }\n}\nexports.NullStream = NullStream;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Page = exports.PDFDocument = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _annotation = __w_pdfjs_require__(10);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _primitives = __w_pdfjs_require__(4);\nvar _xfa_fonts = __w_pdfjs_require__(51);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _crypto = __w_pdfjs_require__(74);\nvar _catalog = __w_pdfjs_require__(66);\nvar _cleanup_helper = __w_pdfjs_require__(68);\nvar _dataset_reader = __w_pdfjs_require__(102);\nvar _parser = __w_pdfjs_require__(16);\nvar _stream = __w_pdfjs_require__(8);\nvar _object_loader = __w_pdfjs_require__(76);\nvar _operator_list = __w_pdfjs_require__(64);\nvar _evaluator = __w_pdfjs_require__(13);\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _struct_tree = __w_pdfjs_require__(72);\nvar _writer = __w_pdfjs_require__(73);\nvar _factory = __w_pdfjs_require__(77);\nvar _xref = __w_pdfjs_require__(103);\nconst DEFAULT_USER_UNIT = 1.0;\nconst LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\nclass Page {\n constructor({\n pdfManager,\n xref,\n pageIndex,\n pageDict,\n ref,\n globalIdFactory,\n fontCache,\n builtInCMapCache,\n standardFontDataCache,\n globalImageCache,\n systemFontCache,\n nonBlendModesSet,\n xfaFactory\n }) {\n this.pdfManager = pdfManager;\n this.pageIndex = pageIndex;\n this.pageDict = pageDict;\n this.xref = xref;\n this.ref = ref;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.standardFontDataCache = standardFontDataCache;\n this.globalImageCache = globalImageCache;\n this.systemFontCache = systemFontCache;\n this.nonBlendModesSet = nonBlendModesSet;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n this.xfaFactory = xfaFactory;\n const idCounters = {\n obj: 0\n };\n this._localIdFactory = class extends globalIdFactory {\n static createObjId() {\n return `p${pageIndex}_${++idCounters.obj}`;\n }\n static getPageObjId() {\n return `p${ref.toString()}`;\n }\n };\n }\n _getInheritableProperty(key, getArray = false) {\n const value = (0, _core_utils.getInheritableProperty)({\n dict: this.pageDict,\n key,\n getArray,\n stopWhenFound: false\n });\n if (!Array.isArray(value)) {\n return value;\n }\n if (value.length === 1 || !(value[0] instanceof _primitives.Dict)) {\n return value[0];\n }\n return _primitives.Dict.merge({\n xref: this.xref,\n dictArray: value\n });\n }\n get content() {\n return this.pageDict.getArray(\"Contents\");\n }\n get resources() {\n const resources = this._getInheritableProperty(\"Resources\");\n return (0, _util.shadow)(this, \"resources\", resources instanceof _primitives.Dict ? resources : _primitives.Dict.empty);\n }\n _getBoundingBox(name) {\n if (this.xfaData) {\n return this.xfaData.bbox;\n }\n let box = this._getInheritableProperty(name, true);\n if (Array.isArray(box) && box.length === 4) {\n box = _util.Util.normalizeRect(box);\n if (box[2] - box[0] > 0 && box[3] - box[1] > 0) {\n return box;\n }\n (0, _util.warn)(`Empty, or invalid, /${name} entry.`);\n }\n return null;\n }\n get mediaBox() {\n return (0, _util.shadow)(this, \"mediaBox\", this._getBoundingBox(\"MediaBox\") || LETTER_SIZE_MEDIABOX);\n }\n get cropBox() {\n return (0, _util.shadow)(this, \"cropBox\", this._getBoundingBox(\"CropBox\") || this.mediaBox);\n }\n get userUnit() {\n let obj = this.pageDict.get(\"UserUnit\");\n if (typeof obj !== \"number\" || obj <= 0) {\n obj = DEFAULT_USER_UNIT;\n }\n return (0, _util.shadow)(this, \"userUnit\", obj);\n }\n get view() {\n const {\n cropBox,\n mediaBox\n } = this;\n if (cropBox !== mediaBox && !(0, _util.isArrayEqual)(cropBox, mediaBox)) {\n const box = _util.Util.intersect(cropBox, mediaBox);\n if (box && box[2] - box[0] > 0 && box[3] - box[1] > 0) {\n return (0, _util.shadow)(this, \"view\", box);\n }\n (0, _util.warn)(\"Empty /CropBox and /MediaBox intersection.\");\n }\n return (0, _util.shadow)(this, \"view\", mediaBox);\n }\n get rotate() {\n let rotate = this._getInheritableProperty(\"Rotate\") || 0;\n if (rotate % 90 !== 0) {\n rotate = 0;\n } else if (rotate >= 360) {\n rotate %= 360;\n } else if (rotate < 0) {\n rotate = (rotate % 360 + 360) % 360;\n }\n return (0, _util.shadow)(this, \"rotate\", rotate);\n }\n _onSubStreamError(reason, objId) {\n if (this.evaluatorOptions.ignoreErrors) {\n (0, _util.warn)(`getContentStream - ignoring sub-stream (${objId}): \"${reason}\".`);\n return;\n }\n throw reason;\n }\n getContentStream() {\n return this.pdfManager.ensure(this, \"content\").then(content => {\n if (content instanceof _base_stream.BaseStream) {\n return content;\n }\n if (Array.isArray(content)) {\n return new _decode_stream.StreamsSequenceStream(content, this._onSubStreamError.bind(this));\n }\n return new _stream.NullStream();\n });\n }\n get xfaData() {\n return (0, _util.shadow)(this, \"xfaData\", this.xfaFactory ? {\n bbox: this.xfaFactory.getBoundingBox(this.pageIndex)\n } : null);\n }\n #replaceIdByRef(annotations, deletedAnnotations, existingAnnotations) {\n for (const annotation of annotations) {\n if (annotation.id) {\n const ref = _primitives.Ref.fromString(annotation.id);\n if (!ref) {\n (0, _util.warn)(`A non-linked annotation cannot be modified: ${annotation.id}`);\n continue;\n }\n if (annotation.deleted) {\n deletedAnnotations.put(ref);\n continue;\n }\n existingAnnotations?.put(ref);\n annotation.ref = ref;\n delete annotation.id;\n }\n }\n }\n async saveNewAnnotations(handler, task, annotations, imagePromises) {\n if (this.xfaFactory) {\n throw new Error(\"XFA: Cannot save new annotations.\");\n }\n const partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n standardFontDataCache: this.standardFontDataCache,\n globalImageCache: this.globalImageCache,\n systemFontCache: this.systemFontCache,\n options: this.evaluatorOptions\n });\n const deletedAnnotations = new _primitives.RefSet();\n const existingAnnotations = new _primitives.RefSet();\n this.#replaceIdByRef(annotations, deletedAnnotations, existingAnnotations);\n const pageDict = this.pageDict;\n const annotationsArray = this.annotations.filter(a => !(a instanceof _primitives.Ref && deletedAnnotations.has(a)));\n const newData = await _annotation.AnnotationFactory.saveNewAnnotations(partialEvaluator, task, annotations, imagePromises);\n for (const {\n ref\n } of newData.annotations) {\n if (ref instanceof _primitives.Ref && !existingAnnotations.has(ref)) {\n annotationsArray.push(ref);\n }\n }\n const savedDict = pageDict.get(\"Annots\");\n pageDict.set(\"Annots\", annotationsArray);\n const buffer = [];\n await (0, _writer.writeObject)(this.ref, pageDict, buffer, this.xref);\n if (savedDict) {\n pageDict.set(\"Annots\", savedDict);\n }\n const objects = newData.dependencies;\n objects.push({\n ref: this.ref,\n data: buffer.join(\"\")\n }, ...newData.annotations);\n return objects;\n }\n save(handler, task, annotationStorage) {\n const partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n standardFontDataCache: this.standardFontDataCache,\n globalImageCache: this.globalImageCache,\n systemFontCache: this.systemFontCache,\n options: this.evaluatorOptions\n });\n return this._parsedAnnotations.then(function (annotations) {\n const newRefsPromises = [];\n for (const annotation of annotations) {\n if (!annotation.mustBePrinted(annotationStorage)) {\n continue;\n }\n newRefsPromises.push(annotation.save(partialEvaluator, task, annotationStorage).catch(function (reason) {\n (0, _util.warn)(\"save - ignoring annotation data during \" + `\"${task.name}\" task: \"${reason}\".`);\n return null;\n }));\n }\n return Promise.all(newRefsPromises).then(function (newRefs) {\n return newRefs.filter(newRef => !!newRef);\n });\n });\n }\n loadResources(keys) {\n if (!this.resourcesPromise) {\n this.resourcesPromise = this.pdfManager.ensure(this, \"resources\");\n }\n return this.resourcesPromise.then(() => {\n const objectLoader = new _object_loader.ObjectLoader(this.resources, keys, this.xref);\n return objectLoader.load();\n });\n }\n getOperatorList({\n handler,\n sink,\n task,\n intent,\n cacheKey,\n annotationStorage = null\n }) {\n const contentStreamPromise = this.getContentStream();\n const resourcesPromise = this.loadResources([\"ColorSpace\", \"ExtGState\", \"Font\", \"Pattern\", \"Properties\", \"Shading\", \"XObject\"]);\n const partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n standardFontDataCache: this.standardFontDataCache,\n globalImageCache: this.globalImageCache,\n systemFontCache: this.systemFontCache,\n options: this.evaluatorOptions\n });\n const newAnnotationsByPage = !this.xfaFactory ? (0, _core_utils.getNewAnnotationsMap)(annotationStorage) : null;\n let deletedAnnotations = null;\n let newAnnotationsPromise = Promise.resolve(null);\n if (newAnnotationsByPage) {\n const newAnnotations = newAnnotationsByPage.get(this.pageIndex);\n if (newAnnotations) {\n const annotationGlobalsPromise = this.pdfManager.ensureDoc(\"annotationGlobals\");\n let imagePromises;\n const missingBitmaps = new Set();\n for (const {\n bitmapId,\n bitmap\n } of newAnnotations) {\n if (bitmapId && !bitmap && !missingBitmaps.has(bitmapId)) {\n missingBitmaps.add(bitmapId);\n }\n }\n const {\n isOffscreenCanvasSupported\n } = this.evaluatorOptions;\n if (missingBitmaps.size > 0) {\n const annotationWithBitmaps = newAnnotations.slice();\n for (const [key, annotation] of annotationStorage) {\n if (!key.startsWith(_util.AnnotationEditorPrefix)) {\n continue;\n }\n if (annotation.bitmap && missingBitmaps.has(annotation.bitmapId)) {\n annotationWithBitmaps.push(annotation);\n }\n }\n imagePromises = _annotation.AnnotationFactory.generateImages(annotationWithBitmaps, this.xref, isOffscreenCanvasSupported);\n } else {\n imagePromises = _annotation.AnnotationFactory.generateImages(newAnnotations, this.xref, isOffscreenCanvasSupported);\n }\n deletedAnnotations = new _primitives.RefSet();\n this.#replaceIdByRef(newAnnotations, deletedAnnotations, null);\n newAnnotationsPromise = annotationGlobalsPromise.then(annotationGlobals => {\n if (!annotationGlobals) {\n return null;\n }\n return _annotation.AnnotationFactory.printNewAnnotations(annotationGlobals, partialEvaluator, task, newAnnotations, imagePromises);\n });\n }\n }\n const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n const pageListPromise = dataPromises.then(([contentStream]) => {\n const opList = new _operator_list.OperatorList(intent, sink);\n handler.send(\"StartRenderPage\", {\n transparency: partialEvaluator.hasBlendModes(this.resources, this.nonBlendModesSet),\n pageIndex: this.pageIndex,\n cacheKey\n });\n return partialEvaluator.getOperatorList({\n stream: contentStream,\n task,\n resources: this.resources,\n operatorList: opList\n }).then(function () {\n return opList;\n });\n });\n return Promise.all([pageListPromise, this._parsedAnnotations, newAnnotationsPromise]).then(function ([pageOpList, annotations, newAnnotations]) {\n if (newAnnotations) {\n annotations = annotations.filter(a => !(a.ref && deletedAnnotations.has(a.ref)));\n for (let i = 0, ii = newAnnotations.length; i < ii; i++) {\n const newAnnotation = newAnnotations[i];\n if (newAnnotation.refToReplace) {\n const j = annotations.findIndex(a => a.ref && (0, _primitives.isRefsEqual)(a.ref, newAnnotation.refToReplace));\n if (j >= 0) {\n annotations.splice(j, 1, newAnnotation);\n newAnnotations.splice(i--, 1);\n ii--;\n }\n }\n }\n annotations = annotations.concat(newAnnotations);\n }\n if (annotations.length === 0 || intent & _util.RenderingIntentFlag.ANNOTATIONS_DISABLE) {\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n }\n const renderForms = !!(intent & _util.RenderingIntentFlag.ANNOTATIONS_FORMS),\n intentAny = !!(intent & _util.RenderingIntentFlag.ANY),\n intentDisplay = !!(intent & _util.RenderingIntentFlag.DISPLAY),\n intentPrint = !!(intent & _util.RenderingIntentFlag.PRINT);\n const opListPromises = [];\n for (const annotation of annotations) {\n if (intentAny || intentDisplay && annotation.mustBeViewed(annotationStorage, renderForms) || intentPrint && annotation.mustBePrinted(annotationStorage)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, intent, renderForms, annotationStorage).catch(function (reason) {\n (0, _util.warn)(\"getOperatorList - ignoring annotation data during \" + `\"${task.name}\" task: \"${reason}\".`);\n return {\n opList: null,\n separateForm: false,\n separateCanvas: false\n };\n }));\n }\n }\n return Promise.all(opListPromises).then(function (opLists) {\n let form = false,\n canvas = false;\n for (const {\n opList,\n separateForm,\n separateCanvas\n } of opLists) {\n pageOpList.addOpList(opList);\n form ||= separateForm;\n canvas ||= separateCanvas;\n }\n pageOpList.flush(true, {\n form,\n canvas\n });\n return {\n length: pageOpList.totalLength\n };\n });\n });\n }\n extractTextContent({\n handler,\n task,\n includeMarkedContent,\n disableNormalization,\n sink\n }) {\n const contentStreamPromise = this.getContentStream();\n const resourcesPromise = this.loadResources([\"ExtGState\", \"Font\", \"Properties\", \"XObject\"]);\n const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n return dataPromises.then(([contentStream]) => {\n const partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n standardFontDataCache: this.standardFontDataCache,\n globalImageCache: this.globalImageCache,\n systemFontCache: this.systemFontCache,\n options: this.evaluatorOptions\n });\n return partialEvaluator.getTextContent({\n stream: contentStream,\n task,\n resources: this.resources,\n includeMarkedContent,\n disableNormalization,\n sink,\n viewBox: this.view\n });\n });\n }\n async getStructTree() {\n const structTreeRoot = await this.pdfManager.ensureCatalog(\"structTreeRoot\");\n if (!structTreeRoot) {\n return null;\n }\n await this._parsedAnnotations;\n const structTree = await this.pdfManager.ensure(this, \"_parseStructTree\", [structTreeRoot]);\n return structTree.serializable;\n }\n _parseStructTree(structTreeRoot) {\n const tree = new _struct_tree.StructTreePage(structTreeRoot, this.pageDict);\n tree.parse(this.ref);\n return tree;\n }\n async getAnnotationsData(handler, task, intent) {\n const annotations = await this._parsedAnnotations;\n if (annotations.length === 0) {\n return annotations;\n }\n const annotationsData = [],\n textContentPromises = [];\n let partialEvaluator;\n const intentAny = !!(intent & _util.RenderingIntentFlag.ANY),\n intentDisplay = !!(intent & _util.RenderingIntentFlag.DISPLAY),\n intentPrint = !!(intent & _util.RenderingIntentFlag.PRINT);\n for (const annotation of annotations) {\n const isVisible = intentAny || intentDisplay && annotation.viewable;\n if (isVisible || intentPrint && annotation.printable) {\n annotationsData.push(annotation.data);\n }\n if (annotation.hasTextContent && isVisible) {\n partialEvaluator ||= new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n standardFontDataCache: this.standardFontDataCache,\n globalImageCache: this.globalImageCache,\n systemFontCache: this.systemFontCache,\n options: this.evaluatorOptions\n });\n textContentPromises.push(annotation.extractTextContent(partialEvaluator, task, [-Infinity, -Infinity, Infinity, Infinity]).catch(function (reason) {\n (0, _util.warn)(`getAnnotationsData - ignoring textContent during \"${task.name}\" task: \"${reason}\".`);\n }));\n }\n }\n await Promise.all(textContentPromises);\n return annotationsData;\n }\n get annotations() {\n const annots = this._getInheritableProperty(\"Annots\");\n return (0, _util.shadow)(this, \"annotations\", Array.isArray(annots) ? annots : []);\n }\n get _parsedAnnotations() {\n const promise = this.pdfManager.ensure(this, \"annotations\").then(async annots => {\n if (annots.length === 0) {\n return annots;\n }\n const annotationGlobals = await this.pdfManager.ensureDoc(\"annotationGlobals\");\n if (!annotationGlobals) {\n return [];\n }\n const annotationPromises = [];\n for (const annotationRef of annots) {\n annotationPromises.push(_annotation.AnnotationFactory.create(this.xref, annotationRef, annotationGlobals, this._localIdFactory, false, this.ref).catch(function (reason) {\n (0, _util.warn)(`_parsedAnnotations: \"${reason}\".`);\n return null;\n }));\n }\n const sortedAnnotations = [];\n let popupAnnotations;\n for (const annotation of await Promise.all(annotationPromises)) {\n if (!annotation) {\n continue;\n }\n if (annotation instanceof _annotation.PopupAnnotation) {\n (popupAnnotations ||= []).push(annotation);\n continue;\n }\n sortedAnnotations.push(annotation);\n }\n if (popupAnnotations) {\n sortedAnnotations.push(...popupAnnotations);\n }\n return sortedAnnotations;\n });\n return (0, _util.shadow)(this, \"_parsedAnnotations\", promise);\n }\n get jsActions() {\n const actions = (0, _core_utils.collectActions)(this.xref, this.pageDict, _util.PageActionEventType);\n return (0, _util.shadow)(this, \"jsActions\", actions);\n }\n}\nexports.Page = Page;\nconst PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\nconst STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\nconst ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\nconst FINGERPRINT_FIRST_BYTES = 1024;\nconst EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\nfunction find(stream, signature, limit = 1024, backwards = false) {\n const signatureLength = signature.length;\n const scanBytes = stream.peekBytes(limit);\n const scanLength = scanBytes.length - signatureLength;\n if (scanLength <= 0) {\n return false;\n }\n if (backwards) {\n const signatureEnd = signatureLength - 1;\n let pos = scanBytes.length - 1;\n while (pos >= signatureEnd) {\n let j = 0;\n while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {\n j++;\n }\n if (j >= signatureLength) {\n stream.pos += pos - signatureEnd;\n return true;\n }\n pos--;\n }\n } else {\n let pos = 0;\n while (pos <= scanLength) {\n let j = 0;\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n if (j >= signatureLength) {\n stream.pos += pos;\n return true;\n }\n pos++;\n }\n }\n return false;\n}\nclass PDFDocument {\n constructor(pdfManager, stream) {\n if (stream.length <= 0) {\n throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");\n }\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _xref.XRef(stream, pdfManager);\n this._pagePromises = new Map();\n this._version = null;\n const idCounters = {\n font: 0\n };\n this._globalIdFactory = class {\n static getDocId() {\n return `g_${pdfManager.docId}`;\n }\n static createFontId() {\n return `f${++idCounters.font}`;\n }\n static createObjId() {\n (0, _util.unreachable)(\"Abstract method `createObjId` called.\");\n }\n static getPageObjId() {\n (0, _util.unreachable)(\"Abstract method `getPageObjId` called.\");\n }\n };\n }\n parse(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _catalog.Catalog(this.pdfManager, this.xref);\n }\n get linearization() {\n let linearization = null;\n try {\n linearization = _parser.Linearization.create(this.stream);\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n (0, _util.info)(err);\n }\n return (0, _util.shadow)(this, \"linearization\", linearization);\n }\n get startXRef() {\n const stream = this.stream;\n let startXRef = 0;\n if (this.linearization) {\n stream.reset();\n if (find(stream, ENDOBJ_SIGNATURE)) {\n startXRef = stream.pos + 6 - stream.start;\n }\n } else {\n const step = 1024;\n const startXRefLength = STARTXREF_SIGNATURE.length;\n let found = false,\n pos = stream.end;\n while (!found && pos > 0) {\n pos -= step - startXRefLength;\n if (pos < 0) {\n pos = 0;\n }\n stream.pos = pos;\n found = find(stream, STARTXREF_SIGNATURE, step, true);\n }\n if (found) {\n stream.skip(9);\n let ch;\n do {\n ch = stream.getByte();\n } while ((0, _core_utils.isWhiteSpace)(ch));\n let str = \"\";\n while (ch >= 0x20 && ch <= 0x39) {\n str += String.fromCharCode(ch);\n ch = stream.getByte();\n }\n startXRef = parseInt(str, 10);\n if (isNaN(startXRef)) {\n startXRef = 0;\n }\n }\n }\n return (0, _util.shadow)(this, \"startXRef\", startXRef);\n }\n checkHeader() {\n const stream = this.stream;\n stream.reset();\n if (!find(stream, PDF_HEADER_SIGNATURE)) {\n return;\n }\n stream.moveStart();\n stream.skip(PDF_HEADER_SIGNATURE.length);\n let version = \"\",\n ch;\n while ((ch = stream.getByte()) > 0x20 && version.length < 7) {\n version += String.fromCharCode(ch);\n }\n if (_core_utils.PDF_VERSION_REGEXP.test(version)) {\n this._version = version;\n } else {\n (0, _util.warn)(`Invalid PDF header version: ${version}`);\n }\n }\n parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n get numPages() {\n let num = 0;\n if (this.catalog.hasActualNumPages) {\n num = this.catalog.numPages;\n } else if (this.xfaFactory) {\n num = this.xfaFactory.getNumPages();\n } else if (this.linearization) {\n num = this.linearization.numPages;\n } else {\n num = this.catalog.numPages;\n }\n return (0, _util.shadow)(this, \"numPages\", num);\n }\n _hasOnlyDocumentSignatures(fields, recursionDepth = 0) {\n const RECURSION_LIMIT = 10;\n if (!Array.isArray(fields)) {\n return false;\n }\n return fields.every(field => {\n field = this.xref.fetchIfRef(field);\n if (!(field instanceof _primitives.Dict)) {\n return false;\n }\n if (field.has(\"Kids\")) {\n if (++recursionDepth > RECURSION_LIMIT) {\n (0, _util.warn)(\"_hasOnlyDocumentSignatures: maximum recursion depth reached\");\n return false;\n }\n return this._hasOnlyDocumentSignatures(field.get(\"Kids\"), recursionDepth);\n }\n const isSignature = (0, _primitives.isName)(field.get(\"FT\"), \"Sig\");\n const rectangle = field.get(\"Rect\");\n const isInvisible = Array.isArray(rectangle) && rectangle.every(value => value === 0);\n return isSignature && isInvisible;\n });\n }\n get _xfaStreams() {\n const acroForm = this.catalog.acroForm;\n if (!acroForm) {\n return null;\n }\n const xfa = acroForm.get(\"XFA\");\n const entries = {\n \"xdp:xdp\": \"\",\n template: \"\",\n datasets: \"\",\n config: \"\",\n connectionSet: \"\",\n localeSet: \"\",\n stylesheet: \"\",\n \"/xdp:xdp\": \"\"\n };\n if (xfa instanceof _base_stream.BaseStream && !xfa.isEmpty) {\n entries[\"xdp:xdp\"] = xfa;\n return entries;\n }\n if (!Array.isArray(xfa) || xfa.length === 0) {\n return null;\n }\n for (let i = 0, ii = xfa.length; i < ii; i += 2) {\n let name;\n if (i === 0) {\n name = \"xdp:xdp\";\n } else if (i === ii - 2) {\n name = \"/xdp:xdp\";\n } else {\n name = xfa[i];\n }\n if (!entries.hasOwnProperty(name)) {\n continue;\n }\n const data = this.xref.fetchIfRef(xfa[i + 1]);\n if (!(data instanceof _base_stream.BaseStream) || data.isEmpty) {\n continue;\n }\n entries[name] = data;\n }\n return entries;\n }\n get xfaDatasets() {\n const streams = this._xfaStreams;\n if (!streams) {\n return (0, _util.shadow)(this, \"xfaDatasets\", null);\n }\n for (const key of [\"datasets\", \"xdp:xdp\"]) {\n const stream = streams[key];\n if (!stream) {\n continue;\n }\n try {\n const str = (0, _util.stringToUTF8String)(stream.getString());\n const data = {\n [key]: str\n };\n return (0, _util.shadow)(this, \"xfaDatasets\", new _dataset_reader.DatasetReader(data));\n } catch {\n (0, _util.warn)(\"XFA - Invalid utf-8 string.\");\n break;\n }\n }\n return (0, _util.shadow)(this, \"xfaDatasets\", null);\n }\n get xfaData() {\n const streams = this._xfaStreams;\n if (!streams) {\n return null;\n }\n const data = Object.create(null);\n for (const [key, stream] of Object.entries(streams)) {\n if (!stream) {\n continue;\n }\n try {\n data[key] = (0, _util.stringToUTF8String)(stream.getString());\n } catch {\n (0, _util.warn)(\"XFA - Invalid utf-8 string.\");\n return null;\n }\n }\n return data;\n }\n get xfaFactory() {\n let data;\n if (this.pdfManager.enableXfa && this.catalog.needsRendering && this.formInfo.hasXfa && !this.formInfo.hasAcroForm) {\n data = this.xfaData;\n }\n return (0, _util.shadow)(this, \"xfaFactory\", data ? new _factory.XFAFactory(data) : null);\n }\n get isPureXfa() {\n return this.xfaFactory ? this.xfaFactory.isValid() : false;\n }\n get htmlForXfa() {\n return this.xfaFactory ? this.xfaFactory.getPages() : null;\n }\n async loadXfaImages() {\n const xfaImagesDict = await this.pdfManager.ensureCatalog(\"xfaImages\");\n if (!xfaImagesDict) {\n return;\n }\n const keys = xfaImagesDict.getKeys();\n const objectLoader = new _object_loader.ObjectLoader(xfaImagesDict, keys, this.xref);\n await objectLoader.load();\n const xfaImages = new Map();\n for (const key of keys) {\n const stream = xfaImagesDict.get(key);\n if (stream instanceof _base_stream.BaseStream) {\n xfaImages.set(key, stream.getBytes());\n }\n }\n this.xfaFactory.setImages(xfaImages);\n }\n async loadXfaFonts(handler, task) {\n const acroForm = await this.pdfManager.ensureCatalog(\"acroForm\");\n if (!acroForm) {\n return;\n }\n const resources = await acroForm.getAsync(\"DR\");\n if (!(resources instanceof _primitives.Dict)) {\n return;\n }\n const objectLoader = new _object_loader.ObjectLoader(resources, [\"Font\"], this.xref);\n await objectLoader.load();\n const fontRes = resources.get(\"Font\");\n if (!(fontRes instanceof _primitives.Dict)) {\n return;\n }\n const options = Object.assign(Object.create(null), this.pdfManager.evaluatorOptions);\n options.useSystemFonts = false;\n const partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler,\n pageIndex: -1,\n idFactory: this._globalIdFactory,\n fontCache: this.catalog.fontCache,\n builtInCMapCache: this.catalog.builtInCMapCache,\n standardFontDataCache: this.catalog.standardFontDataCache,\n options\n });\n const operatorList = new _operator_list.OperatorList();\n const pdfFonts = [];\n const initialState = {\n get font() {\n return pdfFonts.at(-1);\n },\n set font(font) {\n pdfFonts.push(font);\n },\n clone() {\n return this;\n }\n };\n const fonts = new Map();\n fontRes.forEach((fontName, font) => {\n fonts.set(fontName, font);\n });\n const promises = [];\n for (const [fontName, font] of fonts) {\n const descriptor = font.get(\"FontDescriptor\");\n if (!(descriptor instanceof _primitives.Dict)) {\n continue;\n }\n let fontFamily = descriptor.get(\"FontFamily\");\n fontFamily = fontFamily.replaceAll(/[ ]+(\\d)/g, \"$1\");\n const fontWeight = descriptor.get(\"FontWeight\");\n const italicAngle = -descriptor.get(\"ItalicAngle\");\n const cssFontInfo = {\n fontFamily,\n fontWeight,\n italicAngle\n };\n if (!(0, _core_utils.validateCSSFont)(cssFontInfo)) {\n continue;\n }\n promises.push(partialEvaluator.handleSetFont(resources, [_primitives.Name.get(fontName), 1], null, operatorList, task, initialState, null, cssFontInfo).catch(function (reason) {\n (0, _util.warn)(`loadXfaFonts: \"${reason}\".`);\n return null;\n }));\n }\n await Promise.all(promises);\n const missingFonts = this.xfaFactory.setFonts(pdfFonts);\n if (!missingFonts) {\n return;\n }\n options.ignoreErrors = true;\n promises.length = 0;\n pdfFonts.length = 0;\n const reallyMissingFonts = new Set();\n for (const missing of missingFonts) {\n if (!(0, _xfa_fonts.getXfaFontName)(`${missing}-Regular`)) {\n reallyMissingFonts.add(missing);\n }\n }\n if (reallyMissingFonts.size) {\n missingFonts.push(\"PdfJS-Fallback\");\n }\n for (const missing of missingFonts) {\n if (reallyMissingFonts.has(missing)) {\n continue;\n }\n for (const fontInfo of [{\n name: \"Regular\",\n fontWeight: 400,\n italicAngle: 0\n }, {\n name: \"Bold\",\n fontWeight: 700,\n italicAngle: 0\n }, {\n name: \"Italic\",\n fontWeight: 400,\n italicAngle: 12\n }, {\n name: \"BoldItalic\",\n fontWeight: 700,\n italicAngle: 12\n }]) {\n const name = `${missing}-${fontInfo.name}`;\n const dict = (0, _xfa_fonts.getXfaFontDict)(name);\n promises.push(partialEvaluator.handleSetFont(resources, [_primitives.Name.get(name), 1], null, operatorList, task, initialState, dict, {\n fontFamily: missing,\n fontWeight: fontInfo.fontWeight,\n italicAngle: fontInfo.italicAngle\n }).catch(function (reason) {\n (0, _util.warn)(`loadXfaFonts: \"${reason}\".`);\n return null;\n }));\n }\n }\n await Promise.all(promises);\n this.xfaFactory.appendFonts(pdfFonts, reallyMissingFonts);\n }\n async serializeXfaData(annotationStorage) {\n return this.xfaFactory ? this.xfaFactory.serializeData(annotationStorage) : null;\n }\n get version() {\n return this.catalog.version || this._version;\n }\n get formInfo() {\n const formInfo = {\n hasFields: false,\n hasAcroForm: false,\n hasXfa: false,\n hasSignatures: false\n };\n const acroForm = this.catalog.acroForm;\n if (!acroForm) {\n return (0, _util.shadow)(this, \"formInfo\", formInfo);\n }\n try {\n const fields = acroForm.get(\"Fields\");\n const hasFields = Array.isArray(fields) && fields.length > 0;\n formInfo.hasFields = hasFields;\n const xfa = acroForm.get(\"XFA\");\n formInfo.hasXfa = Array.isArray(xfa) && xfa.length > 0 || xfa instanceof _base_stream.BaseStream && !xfa.isEmpty;\n const sigFlags = acroForm.get(\"SigFlags\");\n const hasSignatures = !!(sigFlags & 0x1);\n const hasOnlyDocumentSignatures = hasSignatures && this._hasOnlyDocumentSignatures(fields);\n formInfo.hasAcroForm = hasFields && !hasOnlyDocumentSignatures;\n formInfo.hasSignatures = hasSignatures;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(`Cannot fetch form information: \"${ex}\".`);\n }\n return (0, _util.shadow)(this, \"formInfo\", formInfo);\n }\n get documentInfo() {\n const docInfo = {\n PDFFormatVersion: this.version,\n Language: this.catalog.lang,\n EncryptFilterName: this.xref.encrypt ? this.xref.encrypt.filterName : null,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: this.formInfo.hasAcroForm,\n IsXFAPresent: this.formInfo.hasXfa,\n IsCollectionPresent: !!this.catalog.collection,\n IsSignaturesPresent: this.formInfo.hasSignatures\n };\n let infoDict;\n try {\n infoDict = this.xref.trailer.get(\"Info\");\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n (0, _util.info)(\"The document information dictionary is invalid.\");\n }\n if (!(infoDict instanceof _primitives.Dict)) {\n return (0, _util.shadow)(this, \"documentInfo\", docInfo);\n }\n for (const key of infoDict.getKeys()) {\n const value = infoDict.get(key);\n switch (key) {\n case \"Title\":\n case \"Author\":\n case \"Subject\":\n case \"Keywords\":\n case \"Creator\":\n case \"Producer\":\n case \"CreationDate\":\n case \"ModDate\":\n if (typeof value === \"string\") {\n docInfo[key] = (0, _util.stringToPDFString)(value);\n continue;\n }\n break;\n case \"Trapped\":\n if (value instanceof _primitives.Name) {\n docInfo[key] = value;\n continue;\n }\n break;\n default:\n let customValue;\n switch (typeof value) {\n case \"string\":\n customValue = (0, _util.stringToPDFString)(value);\n break;\n case \"number\":\n case \"boolean\":\n customValue = value;\n break;\n default:\n if (value instanceof _primitives.Name) {\n customValue = value;\n }\n break;\n }\n if (customValue === undefined) {\n (0, _util.warn)(`Bad value, for custom key \"${key}\", in Info: ${value}.`);\n continue;\n }\n if (!docInfo.Custom) {\n docInfo.Custom = Object.create(null);\n }\n docInfo.Custom[key] = customValue;\n continue;\n }\n (0, _util.warn)(`Bad value, for key \"${key}\", in Info: ${value}.`);\n }\n return (0, _util.shadow)(this, \"documentInfo\", docInfo);\n }\n get fingerprints() {\n function validate(data) {\n return typeof data === \"string\" && data.length > 0 && data !== EMPTY_FINGERPRINT;\n }\n function hexString(hash) {\n const buf = [];\n for (const num of hash) {\n const hex = num.toString(16);\n buf.push(hex.padStart(2, \"0\"));\n }\n return buf.join(\"\");\n }\n const idArray = this.xref.trailer.get(\"ID\");\n let hashOriginal, hashModified;\n if (Array.isArray(idArray) && validate(idArray[0])) {\n hashOriginal = (0, _util.stringToBytes)(idArray[0]);\n if (idArray[1] !== idArray[0] && validate(idArray[1])) {\n hashModified = (0, _util.stringToBytes)(idArray[1]);\n }\n } else {\n hashOriginal = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n }\n return (0, _util.shadow)(this, \"fingerprints\", [hexString(hashOriginal), hashModified ? hexString(hashModified) : null]);\n }\n async _getLinearizationPage(pageIndex) {\n const {\n catalog,\n linearization,\n xref\n } = this;\n const ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n try {\n const obj = await xref.fetchAsync(ref);\n if (obj instanceof _primitives.Dict) {\n let type = obj.getRaw(\"Type\");\n if (type instanceof _primitives.Ref) {\n type = await xref.fetchAsync(type);\n }\n if ((0, _primitives.isName)(type, \"Page\") || !obj.has(\"Type\") && !obj.has(\"Kids\")) {\n if (!catalog.pageKidsCountCache.has(ref)) {\n catalog.pageKidsCountCache.put(ref, 1);\n }\n if (!catalog.pageIndexCache.has(ref)) {\n catalog.pageIndexCache.put(ref, 0);\n }\n return [obj, ref];\n }\n }\n throw new _util.FormatError(\"The Linearization dictionary doesn't point to a valid Page dictionary.\");\n } catch (reason) {\n (0, _util.warn)(`_getLinearizationPage: \"${reason.message}\".`);\n return catalog.getPageDict(pageIndex);\n }\n }\n getPage(pageIndex) {\n const cachedPromise = this._pagePromises.get(pageIndex);\n if (cachedPromise) {\n return cachedPromise;\n }\n const {\n catalog,\n linearization,\n xfaFactory\n } = this;\n let promise;\n if (xfaFactory) {\n promise = Promise.resolve([_primitives.Dict.empty, null]);\n } else if (linearization?.pageFirst === pageIndex) {\n promise = this._getLinearizationPage(pageIndex);\n } else {\n promise = catalog.getPageDict(pageIndex);\n }\n promise = promise.then(([pageDict, ref]) => {\n return new Page({\n pdfManager: this.pdfManager,\n xref: this.xref,\n pageIndex,\n pageDict,\n ref,\n globalIdFactory: this._globalIdFactory,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n standardFontDataCache: catalog.standardFontDataCache,\n globalImageCache: catalog.globalImageCache,\n systemFontCache: catalog.systemFontCache,\n nonBlendModesSet: catalog.nonBlendModesSet,\n xfaFactory\n });\n });\n this._pagePromises.set(pageIndex, promise);\n return promise;\n }\n async checkFirstPage(recoveryMode = false) {\n if (recoveryMode) {\n return;\n }\n try {\n await this.getPage(0);\n } catch (reason) {\n if (reason instanceof _core_utils.XRefEntryException) {\n this._pagePromises.delete(0);\n await this.cleanup();\n throw new _core_utils.XRefParseException();\n }\n }\n }\n async checkLastPage(recoveryMode = false) {\n const {\n catalog,\n pdfManager\n } = this;\n catalog.setActualNumPages();\n let numPages;\n try {\n await Promise.all([pdfManager.ensureDoc(\"xfaFactory\"), pdfManager.ensureDoc(\"linearization\"), pdfManager.ensureCatalog(\"numPages\")]);\n if (this.xfaFactory) {\n return;\n } else if (this.linearization) {\n numPages = this.linearization.numPages;\n } else {\n numPages = catalog.numPages;\n }\n if (!Number.isInteger(numPages)) {\n throw new _util.FormatError(\"Page count is not an integer.\");\n } else if (numPages <= 1) {\n return;\n }\n await this.getPage(numPages - 1);\n } catch (reason) {\n this._pagePromises.delete(numPages - 1);\n await this.cleanup();\n if (reason instanceof _core_utils.XRefEntryException && !recoveryMode) {\n throw new _core_utils.XRefParseException();\n }\n (0, _util.warn)(`checkLastPage - invalid /Pages tree /Count: ${numPages}.`);\n let pagesTree;\n try {\n pagesTree = await catalog.getAllPageDicts(recoveryMode);\n } catch (reasonAll) {\n if (reasonAll instanceof _core_utils.XRefEntryException && !recoveryMode) {\n throw new _core_utils.XRefParseException();\n }\n catalog.setActualNumPages(1);\n return;\n }\n for (const [pageIndex, [pageDict, ref]] of pagesTree) {\n let promise;\n if (pageDict instanceof Error) {\n promise = Promise.reject(pageDict);\n promise.catch(() => {});\n } else {\n promise = Promise.resolve(new Page({\n pdfManager,\n xref: this.xref,\n pageIndex,\n pageDict,\n ref,\n globalIdFactory: this._globalIdFactory,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n standardFontDataCache: catalog.standardFontDataCache,\n globalImageCache: catalog.globalImageCache,\n systemFontCache: catalog.systemFontCache,\n nonBlendModesSet: catalog.nonBlendModesSet,\n xfaFactory: null\n }));\n }\n this._pagePromises.set(pageIndex, promise);\n }\n catalog.setActualNumPages(pagesTree.size);\n }\n }\n fontFallback(id, handler) {\n return this.catalog.fontFallback(id, handler);\n }\n async cleanup(manuallyTriggered = false) {\n return this.catalog ? this.catalog.cleanup(manuallyTriggered) : (0, _cleanup_helper.clearGlobalCaches)();\n }\n #collectFieldObjects(name, fieldRef, promises, annotationGlobals) {\n const field = this.xref.fetchIfRef(fieldRef);\n if (field.has(\"T\")) {\n const partName = (0, _util.stringToPDFString)(field.get(\"T\"));\n name = name === \"\" ? partName : `${name}.${partName}`;\n }\n if (!promises.has(name)) {\n promises.set(name, []);\n }\n promises.get(name).push(_annotation.AnnotationFactory.create(this.xref, fieldRef, annotationGlobals, this._localIdFactory, true, null).then(annotation => annotation?.getFieldObject()).catch(function (reason) {\n (0, _util.warn)(`#collectFieldObjects: \"${reason}\".`);\n return null;\n }));\n if (field.has(\"Kids\")) {\n for (const kid of field.get(\"Kids\")) {\n this.#collectFieldObjects(name, kid, promises, annotationGlobals);\n }\n }\n }\n get fieldObjects() {\n if (!this.formInfo.hasFields) {\n return (0, _util.shadow)(this, \"fieldObjects\", Promise.resolve(null));\n }\n const promise = this.pdfManager.ensureDoc(\"annotationGlobals\").then(async annotationGlobals => {\n if (!annotationGlobals) {\n return null;\n }\n const allFields = Object.create(null);\n const fieldPromises = new Map();\n for (const fieldRef of this.catalog.acroForm.get(\"Fields\")) {\n this.#collectFieldObjects(\"\", fieldRef, fieldPromises, annotationGlobals);\n }\n const allPromises = [];\n for (const [name, promises] of fieldPromises) {\n allPromises.push(Promise.all(promises).then(fields => {\n fields = fields.filter(field => !!field);\n if (fields.length > 0) {\n allFields[name] = fields;\n }\n }));\n }\n await Promise.all(allPromises);\n return allFields;\n });\n return (0, _util.shadow)(this, \"fieldObjects\", promise);\n }\n get hasJSActions() {\n const promise = this.pdfManager.ensureDoc(\"_parseHasJSActions\");\n return (0, _util.shadow)(this, \"hasJSActions\", promise);\n }\n async _parseHasJSActions() {\n const [catalogJsActions, fieldObjects] = await Promise.all([this.pdfManager.ensureCatalog(\"jsActions\"), this.pdfManager.ensureDoc(\"fieldObjects\")]);\n if (catalogJsActions) {\n return true;\n }\n if (fieldObjects) {\n return Object.values(fieldObjects).some(fieldObject => fieldObject.some(object => object.actions !== null));\n }\n return false;\n }\n get calculationOrderIds() {\n const acroForm = this.catalog.acroForm;\n if (!acroForm?.has(\"CO\")) {\n return (0, _util.shadow)(this, \"calculationOrderIds\", null);\n }\n const calculationOrder = acroForm.get(\"CO\");\n if (!Array.isArray(calculationOrder) || calculationOrder.length === 0) {\n return (0, _util.shadow)(this, \"calculationOrderIds\", null);\n }\n const ids = [];\n for (const id of calculationOrder) {\n if (id instanceof _primitives.Ref) {\n ids.push(id.toString());\n }\n }\n if (ids.length === 0) {\n return (0, _util.shadow)(this, \"calculationOrderIds\", null);\n }\n return (0, _util.shadow)(this, \"calculationOrderIds\", ids);\n }\n get annotationGlobals() {\n return (0, _util.shadow)(this, \"annotationGlobals\", _annotation.AnnotationFactory.createGlobals(this.pdfManager));\n }\n}\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PopupAnnotation = exports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\nexports.getQuadPoints = getQuadPoints;\nvar _util = __w_pdfjs_require__(2);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _default_appearance = __w_pdfjs_require__(11);\nvar _primitives = __w_pdfjs_require__(4);\nvar _stream = __w_pdfjs_require__(8);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _bidi = __w_pdfjs_require__(60);\nvar _catalog = __w_pdfjs_require__(66);\nvar _colorspace = __w_pdfjs_require__(12);\nvar _file_spec = __w_pdfjs_require__(69);\nvar _jpeg_stream = __w_pdfjs_require__(26);\nvar _object_loader = __w_pdfjs_require__(76);\nvar _operator_list = __w_pdfjs_require__(64);\nvar _writer = __w_pdfjs_require__(73);\nvar _factory = __w_pdfjs_require__(77);\nclass AnnotationFactory {\n static createGlobals(pdfManager) {\n return Promise.all([pdfManager.ensureCatalog(\"acroForm\"), pdfManager.ensureDoc(\"xfaDatasets\"), pdfManager.ensureCatalog(\"structTreeRoot\"), pdfManager.ensureCatalog(\"baseUrl\"), pdfManager.ensureCatalog(\"attachments\")]).then(([acroForm, xfaDatasets, structTreeRoot, baseUrl, attachments]) => {\n return {\n pdfManager,\n acroForm: acroForm instanceof _primitives.Dict ? acroForm : _primitives.Dict.empty,\n xfaDatasets,\n structTreeRoot,\n baseUrl,\n attachments\n };\n }, reason => {\n (0, _util.warn)(`createGlobals: \"${reason}\".`);\n return null;\n });\n }\n static async create(xref, ref, annotationGlobals, idFactory, collectFields, pageRef) {\n const pageIndex = collectFields ? await this._getPageIndex(xref, ref, annotationGlobals.pdfManager) : null;\n return annotationGlobals.pdfManager.ensure(this, \"_create\", [xref, ref, annotationGlobals, idFactory, collectFields, pageIndex, pageRef]);\n }\n static _create(xref, ref, annotationGlobals, idFactory, collectFields = false, pageIndex = null, pageRef = null) {\n const dict = xref.fetchIfRef(ref);\n if (!(dict instanceof _primitives.Dict)) {\n return undefined;\n }\n const {\n acroForm,\n pdfManager\n } = annotationGlobals;\n const id = ref instanceof _primitives.Ref ? ref.toString() : `annot_${idFactory.createObjId()}`;\n let subtype = dict.get(\"Subtype\");\n subtype = subtype instanceof _primitives.Name ? subtype.name : null;\n const parameters = {\n xref,\n ref,\n dict,\n subtype,\n id,\n annotationGlobals,\n collectFields,\n needAppearances: !collectFields && acroForm.get(\"NeedAppearances\") === true,\n pageIndex,\n evaluatorOptions: pdfManager.evaluatorOptions,\n pageRef\n };\n switch (subtype) {\n case \"Link\":\n return new LinkAnnotation(parameters);\n case \"Text\":\n return new TextAnnotation(parameters);\n case \"Widget\":\n let fieldType = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"FT\"\n });\n fieldType = fieldType instanceof _primitives.Name ? fieldType.name : null;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotation(parameters);\n case \"Btn\":\n return new ButtonWidgetAnnotation(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotation(parameters);\n case \"Sig\":\n return new SignatureWidgetAnnotation(parameters);\n }\n (0, _util.warn)(`Unimplemented widget field type \"${fieldType}\", ` + \"falling back to base field type.\");\n return new WidgetAnnotation(parameters);\n case \"Popup\":\n return new PopupAnnotation(parameters);\n case \"FreeText\":\n return new FreeTextAnnotation(parameters);\n case \"Line\":\n return new LineAnnotation(parameters);\n case \"Square\":\n return new SquareAnnotation(parameters);\n case \"Circle\":\n return new CircleAnnotation(parameters);\n case \"PolyLine\":\n return new PolylineAnnotation(parameters);\n case \"Polygon\":\n return new PolygonAnnotation(parameters);\n case \"Caret\":\n return new CaretAnnotation(parameters);\n case \"Ink\":\n return new InkAnnotation(parameters);\n case \"Highlight\":\n return new HighlightAnnotation(parameters);\n case \"Underline\":\n return new UnderlineAnnotation(parameters);\n case \"Squiggly\":\n return new SquigglyAnnotation(parameters);\n case \"StrikeOut\":\n return new StrikeOutAnnotation(parameters);\n case \"Stamp\":\n return new StampAnnotation(parameters);\n case \"FileAttachment\":\n return new FileAttachmentAnnotation(parameters);\n default:\n if (!collectFields) {\n if (!subtype) {\n (0, _util.warn)(\"Annotation is missing the required /Subtype.\");\n } else {\n (0, _util.warn)(`Unimplemented annotation type \"${subtype}\", ` + \"falling back to base annotation.\");\n }\n }\n return new Annotation(parameters);\n }\n }\n static async _getPageIndex(xref, ref, pdfManager) {\n try {\n const annotDict = await xref.fetchIfRefAsync(ref);\n if (!(annotDict instanceof _primitives.Dict)) {\n return -1;\n }\n const pageRef = annotDict.getRaw(\"P\");\n if (pageRef instanceof _primitives.Ref) {\n try {\n const pageIndex = await pdfManager.ensureCatalog(\"getPageIndex\", [pageRef]);\n return pageIndex;\n } catch (ex) {\n (0, _util.info)(`_getPageIndex -- not a valid page reference: \"${ex}\".`);\n }\n }\n if (annotDict.has(\"Kids\")) {\n return -1;\n }\n const numPages = await pdfManager.ensureDoc(\"numPages\");\n for (let pageIndex = 0; pageIndex < numPages; pageIndex++) {\n const page = await pdfManager.getPage(pageIndex);\n const annotations = await pdfManager.ensure(page, \"annotations\");\n for (const annotRef of annotations) {\n if (annotRef instanceof _primitives.Ref && (0, _primitives.isRefsEqual)(annotRef, ref)) {\n return pageIndex;\n }\n }\n }\n } catch (ex) {\n (0, _util.warn)(`_getPageIndex: \"${ex}\".`);\n }\n return -1;\n }\n static generateImages(annotations, xref, isOffscreenCanvasSupported) {\n if (!isOffscreenCanvasSupported) {\n (0, _util.warn)(\"generateImages: OffscreenCanvas is not supported, cannot save or print some annotations with images.\");\n return null;\n }\n let imagePromises;\n for (const {\n bitmapId,\n bitmap\n } of annotations) {\n if (!bitmap) {\n continue;\n }\n imagePromises ||= new Map();\n imagePromises.set(bitmapId, StampAnnotation.createImage(bitmap, xref));\n }\n return imagePromises;\n }\n static async saveNewAnnotations(evaluator, task, annotations, imagePromises) {\n const xref = evaluator.xref;\n let baseFontRef;\n const dependencies = [];\n const promises = [];\n const {\n isOffscreenCanvasSupported\n } = evaluator.options;\n for (const annotation of annotations) {\n if (annotation.deleted) {\n continue;\n }\n switch (annotation.annotationType) {\n case _util.AnnotationEditorType.FREETEXT:\n if (!baseFontRef) {\n const baseFont = new _primitives.Dict(xref);\n baseFont.set(\"BaseFont\", _primitives.Name.get(\"Helvetica\"));\n baseFont.set(\"Type\", _primitives.Name.get(\"Font\"));\n baseFont.set(\"Subtype\", _primitives.Name.get(\"Type1\"));\n baseFont.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n const buffer = [];\n baseFontRef = xref.getNewTemporaryRef();\n await (0, _writer.writeObject)(baseFontRef, baseFont, buffer, xref);\n dependencies.push({\n ref: baseFontRef,\n data: buffer.join(\"\")\n });\n }\n promises.push(FreeTextAnnotation.createNewAnnotation(xref, annotation, dependencies, {\n evaluator,\n task,\n baseFontRef\n }));\n break;\n case _util.AnnotationEditorType.INK:\n promises.push(InkAnnotation.createNewAnnotation(xref, annotation, dependencies));\n break;\n case _util.AnnotationEditorType.STAMP:\n if (!isOffscreenCanvasSupported) {\n break;\n }\n const image = await imagePromises.get(annotation.bitmapId);\n if (image.imageStream) {\n const {\n imageStream,\n smaskStream\n } = image;\n const buffer = [];\n if (smaskStream) {\n const smaskRef = xref.getNewTemporaryRef();\n await (0, _writer.writeObject)(smaskRef, smaskStream, buffer, xref);\n dependencies.push({\n ref: smaskRef,\n data: buffer.join(\"\")\n });\n imageStream.dict.set(\"SMask\", smaskRef);\n buffer.length = 0;\n }\n const imageRef = image.imageRef = xref.getNewTemporaryRef();\n await (0, _writer.writeObject)(imageRef, imageStream, buffer, xref);\n dependencies.push({\n ref: imageRef,\n data: buffer.join(\"\")\n });\n image.imageStream = image.smaskStream = null;\n }\n promises.push(StampAnnotation.createNewAnnotation(xref, annotation, dependencies, {\n image\n }));\n break;\n }\n }\n return {\n annotations: await Promise.all(promises),\n dependencies\n };\n }\n static async printNewAnnotations(annotationGlobals, evaluator, task, annotations, imagePromises) {\n if (!annotations) {\n return null;\n }\n const {\n options,\n xref\n } = evaluator;\n const promises = [];\n for (const annotation of annotations) {\n if (annotation.deleted) {\n continue;\n }\n switch (annotation.annotationType) {\n case _util.AnnotationEditorType.FREETEXT:\n promises.push(FreeTextAnnotation.createNewPrintAnnotation(annotationGlobals, xref, annotation, {\n evaluator,\n task,\n evaluatorOptions: options\n }));\n break;\n case _util.AnnotationEditorType.INK:\n promises.push(InkAnnotation.createNewPrintAnnotation(annotationGlobals, xref, annotation, {\n evaluatorOptions: options\n }));\n break;\n case _util.AnnotationEditorType.STAMP:\n if (!options.isOffscreenCanvasSupported) {\n break;\n }\n const image = await imagePromises.get(annotation.bitmapId);\n if (image.imageStream) {\n const {\n imageStream,\n smaskStream\n } = image;\n if (smaskStream) {\n imageStream.dict.set(\"SMask\", smaskStream);\n }\n image.imageRef = new _jpeg_stream.JpegStream(imageStream, imageStream.length);\n image.imageStream = image.smaskStream = null;\n }\n promises.push(StampAnnotation.createNewPrintAnnotation(annotationGlobals, xref, annotation, {\n image,\n evaluatorOptions: options\n }));\n break;\n }\n }\n return Promise.all(promises);\n }\n}\nexports.AnnotationFactory = AnnotationFactory;\nfunction getRgbColor(color, defaultColor = new Uint8ClampedArray(3)) {\n if (!Array.isArray(color)) {\n return defaultColor;\n }\n const rgbColor = defaultColor || new Uint8ClampedArray(3);\n switch (color.length) {\n case 0:\n return null;\n case 1:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n return rgbColor;\n case 3:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n return rgbColor;\n case 4:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n return rgbColor;\n default:\n return defaultColor;\n }\n}\nfunction getPdfColorArray(color) {\n return Array.from(color, c => c / 255);\n}\nfunction getQuadPoints(dict, rect) {\n const quadPoints = dict.getArray(\"QuadPoints\");\n if (!Array.isArray(quadPoints) || quadPoints.length === 0 || quadPoints.length % 8 > 0) {\n return null;\n }\n const quadPointsLists = [];\n for (let i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n let minX = Infinity,\n maxX = -Infinity,\n minY = Infinity,\n maxY = -Infinity;\n for (let j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n const x = quadPoints[j];\n const y = quadPoints[j + 1];\n minX = Math.min(x, minX);\n maxX = Math.max(x, maxX);\n minY = Math.min(y, minY);\n maxY = Math.max(y, maxY);\n }\n if (rect !== null && (minX < rect[0] || maxX > rect[2] || minY < rect[1] || maxY > rect[3])) {\n return null;\n }\n quadPointsLists.push([{\n x: minX,\n y: maxY\n }, {\n x: maxX,\n y: maxY\n }, {\n x: minX,\n y: minY\n }, {\n x: maxX,\n y: minY\n }]);\n }\n return quadPointsLists;\n}\nfunction getTransformMatrix(rect, bbox, matrix) {\n const [minX, minY, maxX, maxY] = _util.Util.getAxialAlignedBoundingBox(bbox, matrix);\n if (minX === maxX || minY === maxY) {\n return [1, 0, 0, 1, rect[0], rect[1]];\n }\n const xRatio = (rect[2] - rect[0]) / (maxX - minX);\n const yRatio = (rect[3] - rect[1]) / (maxY - minY);\n return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\nclass Annotation {\n constructor(params) {\n const {\n dict,\n xref,\n annotationGlobals\n } = params;\n this.setTitle(dict.get(\"T\"));\n this.setContents(dict.get(\"Contents\"));\n this.setModificationDate(dict.get(\"M\"));\n this.setFlags(dict.get(\"F\"));\n this.setRectangle(dict.getArray(\"Rect\"));\n this.setColor(dict.getArray(\"C\"));\n this.setBorderStyle(dict);\n this.setAppearance(dict);\n this.setOptionalContent(dict);\n const MK = dict.get(\"MK\");\n this.setBorderAndBackgroundColors(MK);\n this.setRotation(MK, dict);\n this.ref = params.ref instanceof _primitives.Ref ? params.ref : null;\n this._streams = [];\n if (this.appearance) {\n this._streams.push(this.appearance);\n }\n const isLocked = !!(this.flags & _util.AnnotationFlag.LOCKED);\n const isContentLocked = !!(this.flags & _util.AnnotationFlag.LOCKEDCONTENTS);\n if (annotationGlobals.structTreeRoot) {\n let structParent = dict.get(\"StructParent\");\n structParent = Number.isInteger(structParent) && structParent >= 0 ? structParent : -1;\n annotationGlobals.structTreeRoot.addAnnotationIdToPage(params.pageRef, structParent);\n }\n this.data = {\n annotationFlags: this.flags,\n borderStyle: this.borderStyle,\n color: this.color,\n backgroundColor: this.backgroundColor,\n borderColor: this.borderColor,\n rotation: this.rotation,\n contentsObj: this._contents,\n hasAppearance: !!this.appearance,\n id: params.id,\n modificationDate: this.modificationDate,\n rect: this.rectangle,\n subtype: params.subtype,\n hasOwnCanvas: false,\n noRotate: !!(this.flags & _util.AnnotationFlag.NOROTATE),\n noHTML: isLocked && isContentLocked\n };\n if (params.collectFields) {\n const kids = dict.get(\"Kids\");\n if (Array.isArray(kids)) {\n const kidIds = [];\n for (const kid of kids) {\n if (kid instanceof _primitives.Ref) {\n kidIds.push(kid.toString());\n }\n }\n if (kidIds.length !== 0) {\n this.data.kidIds = kidIds;\n }\n }\n this.data.actions = (0, _core_utils.collectActions)(xref, dict, _util.AnnotationActionEventType);\n this.data.fieldName = this._constructFieldName(dict);\n this.data.pageIndex = params.pageIndex;\n }\n this._isOffscreenCanvasSupported = params.evaluatorOptions.isOffscreenCanvasSupported;\n this._fallbackFontDict = null;\n this._needAppearances = false;\n }\n _hasFlag(flags, flag) {\n return !!(flags & flag);\n }\n _isViewable(flags) {\n return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n }\n _isPrintable(flags) {\n return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE);\n }\n mustBeViewed(annotationStorage, _renderForms) {\n const noView = annotationStorage?.get(this.data.id)?.noView;\n if (noView !== undefined) {\n return !noView;\n }\n return this.viewable && !this._hasFlag(this.flags, _util.AnnotationFlag.HIDDEN);\n }\n mustBePrinted(annotationStorage) {\n const noPrint = annotationStorage?.get(this.data.id)?.noPrint;\n if (noPrint !== undefined) {\n return !noPrint;\n }\n return this.printable;\n }\n get viewable() {\n if (this.data.quadPoints === null) {\n return false;\n }\n if (this.flags === 0) {\n return true;\n }\n return this._isViewable(this.flags);\n }\n get printable() {\n if (this.data.quadPoints === null) {\n return false;\n }\n if (this.flags === 0) {\n return false;\n }\n return this._isPrintable(this.flags);\n }\n _parseStringHelper(data) {\n const str = typeof data === \"string\" ? (0, _util.stringToPDFString)(data) : \"\";\n const dir = str && (0, _bidi.bidi)(str).dir === \"rtl\" ? \"rtl\" : \"ltr\";\n return {\n str,\n dir\n };\n }\n setDefaultAppearance(params) {\n const {\n dict,\n annotationGlobals\n } = params;\n const defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"DA\"\n }) || annotationGlobals.acroForm.get(\"DA\");\n this._defaultAppearance = typeof defaultAppearance === \"string\" ? defaultAppearance : \"\";\n this.data.defaultAppearanceData = (0, _default_appearance.parseDefaultAppearance)(this._defaultAppearance);\n }\n setTitle(title) {\n this._title = this._parseStringHelper(title);\n }\n setContents(contents) {\n this._contents = this._parseStringHelper(contents);\n }\n setModificationDate(modificationDate) {\n this.modificationDate = typeof modificationDate === \"string\" ? modificationDate : null;\n }\n setFlags(flags) {\n this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n }\n hasFlag(flag) {\n return this._hasFlag(this.flags, flag);\n }\n setRectangle(rectangle) {\n this.rectangle = Array.isArray(rectangle) && rectangle.length === 4 ? _util.Util.normalizeRect(rectangle) : [0, 0, 0, 0];\n }\n setColor(color) {\n this.color = getRgbColor(color);\n }\n setLineEndings(lineEndings) {\n this.lineEndings = [\"None\", \"None\"];\n if (Array.isArray(lineEndings) && lineEndings.length === 2) {\n for (let i = 0; i < 2; i++) {\n const obj = lineEndings[i];\n if (obj instanceof _primitives.Name) {\n switch (obj.name) {\n case \"None\":\n continue;\n case \"Square\":\n case \"Circle\":\n case \"Diamond\":\n case \"OpenArrow\":\n case \"ClosedArrow\":\n case \"Butt\":\n case \"ROpenArrow\":\n case \"RClosedArrow\":\n case \"Slash\":\n this.lineEndings[i] = obj.name;\n continue;\n }\n }\n (0, _util.warn)(`Ignoring invalid lineEnding: ${obj}`);\n }\n }\n }\n setRotation(mk, dict) {\n this.rotation = 0;\n let angle = mk instanceof _primitives.Dict ? mk.get(\"R\") || 0 : dict.get(\"Rotate\") || 0;\n if (Number.isInteger(angle) && angle !== 0) {\n angle %= 360;\n if (angle < 0) {\n angle += 360;\n }\n if (angle % 90 === 0) {\n this.rotation = angle;\n }\n }\n }\n setBorderAndBackgroundColors(mk) {\n if (mk instanceof _primitives.Dict) {\n this.borderColor = getRgbColor(mk.getArray(\"BC\"), null);\n this.backgroundColor = getRgbColor(mk.getArray(\"BG\"), null);\n } else {\n this.borderColor = this.backgroundColor = null;\n }\n }\n setBorderStyle(borderStyle) {\n this.borderStyle = new AnnotationBorderStyle();\n if (!(borderStyle instanceof _primitives.Dict)) {\n return;\n }\n if (borderStyle.has(\"BS\")) {\n const dict = borderStyle.get(\"BS\");\n const dictType = dict.get(\"Type\");\n if (!dictType || (0, _primitives.isName)(dictType, \"Border\")) {\n this.borderStyle.setWidth(dict.get(\"W\"), this.rectangle);\n this.borderStyle.setStyle(dict.get(\"S\"));\n this.borderStyle.setDashArray(dict.getArray(\"D\"));\n }\n } else if (borderStyle.has(\"Border\")) {\n const array = borderStyle.getArray(\"Border\");\n if (Array.isArray(array) && array.length >= 3) {\n this.borderStyle.setHorizontalCornerRadius(array[0]);\n this.borderStyle.setVerticalCornerRadius(array[1]);\n this.borderStyle.setWidth(array[2], this.rectangle);\n if (array.length === 4) {\n this.borderStyle.setDashArray(array[3], true);\n }\n }\n } else {\n this.borderStyle.setWidth(0);\n }\n }\n setAppearance(dict) {\n this.appearance = null;\n const appearanceStates = dict.get(\"AP\");\n if (!(appearanceStates instanceof _primitives.Dict)) {\n return;\n }\n const normalAppearanceState = appearanceStates.get(\"N\");\n if (normalAppearanceState instanceof _base_stream.BaseStream) {\n this.appearance = normalAppearanceState;\n return;\n }\n if (!(normalAppearanceState instanceof _primitives.Dict)) {\n return;\n }\n const as = dict.get(\"AS\");\n if (!(as instanceof _primitives.Name) || !normalAppearanceState.has(as.name)) {\n return;\n }\n const appearance = normalAppearanceState.get(as.name);\n if (appearance instanceof _base_stream.BaseStream) {\n this.appearance = appearance;\n }\n }\n setOptionalContent(dict) {\n this.oc = null;\n const oc = dict.get(\"OC\");\n if (oc instanceof _primitives.Name) {\n (0, _util.warn)(\"setOptionalContent: Support for /Name-entry is not implemented.\");\n } else if (oc instanceof _primitives.Dict) {\n this.oc = oc;\n }\n }\n loadResources(keys, appearance) {\n return appearance.dict.getAsync(\"Resources\").then(resources => {\n if (!resources) {\n return undefined;\n }\n const objectLoader = new _object_loader.ObjectLoader(resources, keys, resources.xref);\n return objectLoader.load().then(function () {\n return resources;\n });\n });\n }\n async getOperatorList(evaluator, task, intent, renderForms, annotationStorage) {\n const data = this.data;\n let appearance = this.appearance;\n const isUsingOwnCanvas = !!(this.data.hasOwnCanvas && intent & _util.RenderingIntentFlag.DISPLAY);\n if (!appearance) {\n if (!isUsingOwnCanvas) {\n return {\n opList: new _operator_list.OperatorList(),\n separateForm: false,\n separateCanvas: false\n };\n }\n appearance = new _stream.StringStream(\"\");\n appearance.dict = new _primitives.Dict();\n }\n const appearanceDict = appearance.dict;\n const resources = await this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"], appearance);\n const bbox = appearanceDict.getArray(\"BBox\") || [0, 0, 1, 1];\n const matrix = appearanceDict.getArray(\"Matrix\") || [1, 0, 0, 1, 0, 0];\n const transform = getTransformMatrix(data.rect, bbox, matrix);\n const opList = new _operator_list.OperatorList();\n let optionalContent;\n if (this.oc) {\n optionalContent = await evaluator.parseMarkedContentProps(this.oc, null);\n }\n if (optionalContent !== undefined) {\n opList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", optionalContent]);\n }\n opList.addOp(_util.OPS.beginAnnotation, [data.id, data.rect, transform, matrix, isUsingOwnCanvas]);\n await evaluator.getOperatorList({\n stream: appearance,\n task,\n resources,\n operatorList: opList,\n fallbackFontDict: this._fallbackFontDict\n });\n opList.addOp(_util.OPS.endAnnotation, []);\n if (optionalContent !== undefined) {\n opList.addOp(_util.OPS.endMarkedContent, []);\n }\n this.reset();\n return {\n opList,\n separateForm: false,\n separateCanvas: isUsingOwnCanvas\n };\n }\n async save(evaluator, task, annotationStorage) {\n return null;\n }\n get hasTextContent() {\n return false;\n }\n async extractTextContent(evaluator, task, viewBox) {\n if (!this.appearance) {\n return;\n }\n const resources = await this.loadResources([\"ExtGState\", \"Font\", \"Properties\", \"XObject\"], this.appearance);\n const text = [];\n const buffer = [];\n let firstPosition = null;\n const sink = {\n desiredSize: Math.Infinity,\n ready: true,\n enqueue(chunk, size) {\n for (const item of chunk.items) {\n if (item.str === undefined) {\n continue;\n }\n firstPosition ||= item.transform.slice(-2);\n buffer.push(item.str);\n if (item.hasEOL) {\n text.push(buffer.join(\"\"));\n buffer.length = 0;\n }\n }\n }\n };\n await evaluator.getTextContent({\n stream: this.appearance,\n task,\n resources,\n includeMarkedContent: true,\n sink,\n viewBox\n });\n this.reset();\n if (buffer.length) {\n text.push(buffer.join(\"\"));\n }\n if (text.length > 1 || text[0]) {\n const appearanceDict = this.appearance.dict;\n const bbox = appearanceDict.getArray(\"BBox\") || [0, 0, 1, 1];\n const matrix = appearanceDict.getArray(\"Matrix\") || [1, 0, 0, 1, 0, 0];\n const rect = this.data.rect;\n const transform = getTransformMatrix(rect, bbox, matrix);\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n firstPosition = _util.Util.applyTransform(firstPosition, transform);\n firstPosition = _util.Util.applyTransform(firstPosition, matrix);\n this.data.textPosition = firstPosition;\n this.data.textContent = text;\n }\n }\n getFieldObject() {\n if (this.data.kidIds) {\n return {\n id: this.data.id,\n actions: this.data.actions,\n name: this.data.fieldName,\n strokeColor: this.data.borderColor,\n fillColor: this.data.backgroundColor,\n type: \"\",\n kidIds: this.data.kidIds,\n page: this.data.pageIndex,\n rotation: this.rotation\n };\n }\n return null;\n }\n reset() {\n for (const stream of this._streams) {\n stream.reset();\n }\n }\n _constructFieldName(dict) {\n if (!dict.has(\"T\") && !dict.has(\"Parent\")) {\n (0, _util.warn)(\"Unknown field name, falling back to empty field name.\");\n return \"\";\n }\n if (!dict.has(\"Parent\")) {\n return (0, _util.stringToPDFString)(dict.get(\"T\"));\n }\n const fieldName = [];\n if (dict.has(\"T\")) {\n fieldName.unshift((0, _util.stringToPDFString)(dict.get(\"T\")));\n }\n let loopDict = dict;\n const visited = new _primitives.RefSet();\n if (dict.objId) {\n visited.put(dict.objId);\n }\n while (loopDict.has(\"Parent\")) {\n loopDict = loopDict.get(\"Parent\");\n if (!(loopDict instanceof _primitives.Dict) || loopDict.objId && visited.has(loopDict.objId)) {\n break;\n }\n if (loopDict.objId) {\n visited.put(loopDict.objId);\n }\n if (loopDict.has(\"T\")) {\n fieldName.unshift((0, _util.stringToPDFString)(loopDict.get(\"T\")));\n }\n }\n return fieldName.join(\".\");\n }\n}\nexports.Annotation = Annotation;\nclass AnnotationBorderStyle {\n constructor() {\n this.width = 1;\n this.style = _util.AnnotationBorderStyleType.SOLID;\n this.dashArray = [3];\n this.horizontalCornerRadius = 0;\n this.verticalCornerRadius = 0;\n }\n setWidth(width, rect = [0, 0, 0, 0]) {\n if (width instanceof _primitives.Name) {\n this.width = 0;\n return;\n }\n if (typeof width === \"number\") {\n if (width > 0) {\n const maxWidth = (rect[2] - rect[0]) / 2;\n const maxHeight = (rect[3] - rect[1]) / 2;\n if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n (0, _util.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${width}`);\n width = 1;\n }\n }\n this.width = width;\n }\n }\n setStyle(style) {\n if (!(style instanceof _primitives.Name)) {\n return;\n }\n switch (style.name) {\n case \"S\":\n this.style = _util.AnnotationBorderStyleType.SOLID;\n break;\n case \"D\":\n this.style = _util.AnnotationBorderStyleType.DASHED;\n break;\n case \"B\":\n this.style = _util.AnnotationBorderStyleType.BEVELED;\n break;\n case \"I\":\n this.style = _util.AnnotationBorderStyleType.INSET;\n break;\n case \"U\":\n this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n break;\n default:\n break;\n }\n }\n setDashArray(dashArray, forceStyle = false) {\n if (Array.isArray(dashArray) && dashArray.length > 0) {\n let isValid = true;\n let allZeros = true;\n for (const element of dashArray) {\n const validNumber = +element >= 0;\n if (!validNumber) {\n isValid = false;\n break;\n } else if (element > 0) {\n allZeros = false;\n }\n }\n if (isValid && !allZeros) {\n this.dashArray = dashArray;\n if (forceStyle) {\n this.setStyle(_primitives.Name.get(\"D\"));\n }\n } else {\n this.width = 0;\n }\n } else if (dashArray) {\n this.width = 0;\n }\n }\n setHorizontalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.horizontalCornerRadius = radius;\n }\n }\n setVerticalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.verticalCornerRadius = radius;\n }\n }\n}\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\nclass MarkupAnnotation extends Annotation {\n constructor(params) {\n super(params);\n const {\n dict\n } = params;\n if (dict.has(\"IRT\")) {\n const rawIRT = dict.getRaw(\"IRT\");\n this.data.inReplyTo = rawIRT instanceof _primitives.Ref ? rawIRT.toString() : null;\n const rt = dict.get(\"RT\");\n this.data.replyType = rt instanceof _primitives.Name ? rt.name : _util.AnnotationReplyType.REPLY;\n }\n let popupRef = null;\n if (this.data.replyType === _util.AnnotationReplyType.GROUP) {\n const parent = dict.get(\"IRT\");\n this.setTitle(parent.get(\"T\"));\n this.data.titleObj = this._title;\n this.setContents(parent.get(\"Contents\"));\n this.data.contentsObj = this._contents;\n if (!parent.has(\"CreationDate\")) {\n this.data.creationDate = null;\n } else {\n this.setCreationDate(parent.get(\"CreationDate\"));\n this.data.creationDate = this.creationDate;\n }\n if (!parent.has(\"M\")) {\n this.data.modificationDate = null;\n } else {\n this.setModificationDate(parent.get(\"M\"));\n this.data.modificationDate = this.modificationDate;\n }\n popupRef = parent.getRaw(\"Popup\");\n if (!parent.has(\"C\")) {\n this.data.color = null;\n } else {\n this.setColor(parent.getArray(\"C\"));\n this.data.color = this.color;\n }\n } else {\n this.data.titleObj = this._title;\n this.setCreationDate(dict.get(\"CreationDate\"));\n this.data.creationDate = this.creationDate;\n popupRef = dict.getRaw(\"Popup\");\n if (!dict.has(\"C\")) {\n this.data.color = null;\n }\n }\n this.data.popupRef = popupRef instanceof _primitives.Ref ? popupRef.toString() : null;\n if (dict.has(\"RC\")) {\n this.data.richText = _factory.XFAFactory.getRichTextAsHtml(dict.get(\"RC\"));\n }\n }\n setCreationDate(creationDate) {\n this.creationDate = typeof creationDate === \"string\" ? creationDate : null;\n }\n _setDefaultAppearance({\n xref,\n extra,\n strokeColor,\n fillColor,\n blendMode,\n strokeAlpha,\n fillAlpha,\n pointsCallback\n }) {\n let minX = Number.MAX_VALUE;\n let minY = Number.MAX_VALUE;\n let maxX = Number.MIN_VALUE;\n let maxY = Number.MIN_VALUE;\n const buffer = [\"q\"];\n if (extra) {\n buffer.push(extra);\n }\n if (strokeColor) {\n buffer.push(`${strokeColor[0]} ${strokeColor[1]} ${strokeColor[2]} RG`);\n }\n if (fillColor) {\n buffer.push(`${fillColor[0]} ${fillColor[1]} ${fillColor[2]} rg`);\n }\n let pointsArray = this.data.quadPoints;\n if (!pointsArray) {\n pointsArray = [[{\n x: this.rectangle[0],\n y: this.rectangle[3]\n }, {\n x: this.rectangle[2],\n y: this.rectangle[3]\n }, {\n x: this.rectangle[0],\n y: this.rectangle[1]\n }, {\n x: this.rectangle[2],\n y: this.rectangle[1]\n }]];\n }\n for (const points of pointsArray) {\n const [mX, MX, mY, MY] = pointsCallback(buffer, points);\n minX = Math.min(minX, mX);\n maxX = Math.max(maxX, MX);\n minY = Math.min(minY, mY);\n maxY = Math.max(maxY, MY);\n }\n buffer.push(\"Q\");\n const formDict = new _primitives.Dict(xref);\n const appearanceStreamDict = new _primitives.Dict(xref);\n appearanceStreamDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n const appearanceStream = new _stream.StringStream(buffer.join(\" \"));\n appearanceStream.dict = appearanceStreamDict;\n formDict.set(\"Fm0\", appearanceStream);\n const gsDict = new _primitives.Dict(xref);\n if (blendMode) {\n gsDict.set(\"BM\", _primitives.Name.get(blendMode));\n }\n if (typeof strokeAlpha === \"number\") {\n gsDict.set(\"CA\", strokeAlpha);\n }\n if (typeof fillAlpha === \"number\") {\n gsDict.set(\"ca\", fillAlpha);\n }\n const stateDict = new _primitives.Dict(xref);\n stateDict.set(\"GS0\", gsDict);\n const resources = new _primitives.Dict(xref);\n resources.set(\"ExtGState\", stateDict);\n resources.set(\"XObject\", formDict);\n const appearanceDict = new _primitives.Dict(xref);\n appearanceDict.set(\"Resources\", resources);\n const bbox = this.data.rect = [minX, minY, maxX, maxY];\n appearanceDict.set(\"BBox\", bbox);\n this.appearance = new _stream.StringStream(\"/GS0 gs /Fm0 Do\");\n this.appearance.dict = appearanceDict;\n this._streams.push(this.appearance, appearanceStream);\n }\n static async createNewAnnotation(xref, annotation, dependencies, params) {\n const annotationRef = annotation.ref ||= xref.getNewTemporaryRef();\n const ap = await this.createNewAppearanceStream(annotation, xref, params);\n const buffer = [];\n let annotationDict;\n if (ap) {\n const apRef = xref.getNewTemporaryRef();\n annotationDict = this.createNewDict(annotation, xref, {\n apRef\n });\n await (0, _writer.writeObject)(apRef, ap, buffer, xref);\n dependencies.push({\n ref: apRef,\n data: buffer.join(\"\")\n });\n } else {\n annotationDict = this.createNewDict(annotation, xref, {});\n }\n if (Number.isInteger(annotation.parentTreeId)) {\n annotationDict.set(\"StructParent\", annotation.parentTreeId);\n }\n buffer.length = 0;\n await (0, _writer.writeObject)(annotationRef, annotationDict, buffer, xref);\n return {\n ref: annotationRef,\n data: buffer.join(\"\")\n };\n }\n static async createNewPrintAnnotation(annotationGlobals, xref, annotation, params) {\n const ap = await this.createNewAppearanceStream(annotation, xref, params);\n const annotationDict = this.createNewDict(annotation, xref, {\n ap\n });\n const newAnnotation = new this.prototype.constructor({\n dict: annotationDict,\n xref,\n annotationGlobals,\n evaluatorOptions: params.evaluatorOptions\n });\n if (annotation.ref) {\n newAnnotation.ref = newAnnotation.refToReplace = annotation.ref;\n }\n return newAnnotation;\n }\n}\nexports.MarkupAnnotation = MarkupAnnotation;\nclass WidgetAnnotation extends Annotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref,\n annotationGlobals\n } = params;\n const data = this.data;\n this._needAppearances = params.needAppearances;\n data.annotationType = _util.AnnotationType.WIDGET;\n if (data.fieldName === undefined) {\n data.fieldName = this._constructFieldName(dict);\n }\n if (data.actions === undefined) {\n data.actions = (0, _core_utils.collectActions)(xref, dict, _util.AnnotationActionEventType);\n }\n let fieldValue = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"V\",\n getArray: true\n });\n data.fieldValue = this._decodeFormValue(fieldValue);\n const defaultFieldValue = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"DV\",\n getArray: true\n });\n data.defaultFieldValue = this._decodeFormValue(defaultFieldValue);\n if (fieldValue === undefined && annotationGlobals.xfaDatasets) {\n const path = this._title.str;\n if (path) {\n this._hasValueFromXFA = true;\n data.fieldValue = fieldValue = annotationGlobals.xfaDatasets.getValue(path);\n }\n }\n if (fieldValue === undefined && data.defaultFieldValue !== null) {\n data.fieldValue = data.defaultFieldValue;\n }\n data.alternativeText = (0, _util.stringToPDFString)(dict.get(\"TU\") || \"\");\n this.setDefaultAppearance(params);\n data.hasAppearance ||= this._needAppearances && data.fieldValue !== undefined && data.fieldValue !== null;\n const fieldType = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"FT\"\n });\n data.fieldType = fieldType instanceof _primitives.Name ? fieldType.name : null;\n const localResources = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"DR\"\n });\n const acroFormResources = annotationGlobals.acroForm.get(\"DR\");\n const appearanceResources = this.appearance?.dict.get(\"Resources\");\n this._fieldResources = {\n localResources,\n acroFormResources,\n appearanceResources,\n mergedResources: _primitives.Dict.merge({\n xref,\n dictArray: [localResources, appearanceResources, acroFormResources],\n mergeSubDicts: true\n })\n };\n data.fieldFlags = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"Ff\"\n });\n if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n data.fieldFlags = 0;\n }\n data.readOnly = this.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n data.required = this.hasFieldFlag(_util.AnnotationFieldFlag.REQUIRED);\n data.hidden = this._hasFlag(data.annotationFlags, _util.AnnotationFlag.HIDDEN) || this._hasFlag(data.annotationFlags, _util.AnnotationFlag.NOVIEW);\n }\n _decodeFormValue(formValue) {\n if (Array.isArray(formValue)) {\n return formValue.filter(item => typeof item === \"string\").map(item => (0, _util.stringToPDFString)(item));\n } else if (formValue instanceof _primitives.Name) {\n return (0, _util.stringToPDFString)(formValue.name);\n } else if (typeof formValue === \"string\") {\n return (0, _util.stringToPDFString)(formValue);\n }\n return null;\n }\n hasFieldFlag(flag) {\n return !!(this.data.fieldFlags & flag);\n }\n _isViewable(flags) {\n return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE);\n }\n mustBeViewed(annotationStorage, renderForms) {\n if (renderForms) {\n return this.viewable;\n }\n return super.mustBeViewed(annotationStorage, renderForms) && !this._hasFlag(this.flags, _util.AnnotationFlag.NOVIEW);\n }\n getRotationMatrix(annotationStorage) {\n let rotation = annotationStorage?.get(this.data.id)?.rotation;\n if (rotation === undefined) {\n rotation = this.rotation;\n }\n if (rotation === 0) {\n return _util.IDENTITY_MATRIX;\n }\n const width = this.data.rect[2] - this.data.rect[0];\n const height = this.data.rect[3] - this.data.rect[1];\n return (0, _core_utils.getRotationMatrix)(rotation, width, height);\n }\n getBorderAndBackgroundAppearances(annotationStorage) {\n let rotation = annotationStorage?.get(this.data.id)?.rotation;\n if (rotation === undefined) {\n rotation = this.rotation;\n }\n if (!this.backgroundColor && !this.borderColor) {\n return \"\";\n }\n const width = this.data.rect[2] - this.data.rect[0];\n const height = this.data.rect[3] - this.data.rect[1];\n const rect = rotation === 0 || rotation === 180 ? `0 0 ${width} ${height} re` : `0 0 ${height} ${width} re`;\n let str = \"\";\n if (this.backgroundColor) {\n str = `${(0, _default_appearance.getPdfColor)(this.backgroundColor, true)} ${rect} f `;\n }\n if (this.borderColor) {\n const borderWidth = this.borderStyle.width || 1;\n str += `${borderWidth} w ${(0, _default_appearance.getPdfColor)(this.borderColor, false)} ${rect} S `;\n }\n return str;\n }\n async getOperatorList(evaluator, task, intent, renderForms, annotationStorage) {\n if (renderForms && !(this instanceof SignatureWidgetAnnotation) && !this.data.noHTML && !this.data.hasOwnCanvas) {\n return {\n opList: new _operator_list.OperatorList(),\n separateForm: true,\n separateCanvas: false\n };\n }\n if (!this._hasText) {\n return super.getOperatorList(evaluator, task, intent, renderForms, annotationStorage);\n }\n const content = await this._getAppearance(evaluator, task, intent, annotationStorage);\n if (this.appearance && content === null) {\n return super.getOperatorList(evaluator, task, intent, renderForms, annotationStorage);\n }\n const opList = new _operator_list.OperatorList();\n if (!this._defaultAppearance || content === null) {\n return {\n opList,\n separateForm: false,\n separateCanvas: false\n };\n }\n const isUsingOwnCanvas = !!(this.data.hasOwnCanvas && intent & _util.RenderingIntentFlag.DISPLAY);\n const matrix = [1, 0, 0, 1, 0, 0];\n const bbox = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]];\n const transform = getTransformMatrix(this.data.rect, bbox, matrix);\n let optionalContent;\n if (this.oc) {\n optionalContent = await evaluator.parseMarkedContentProps(this.oc, null);\n }\n if (optionalContent !== undefined) {\n opList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", optionalContent]);\n }\n opList.addOp(_util.OPS.beginAnnotation, [this.data.id, this.data.rect, transform, this.getRotationMatrix(annotationStorage), isUsingOwnCanvas]);\n const stream = new _stream.StringStream(content);\n await evaluator.getOperatorList({\n stream,\n task,\n resources: this._fieldResources.mergedResources,\n operatorList: opList\n });\n opList.addOp(_util.OPS.endAnnotation, []);\n if (optionalContent !== undefined) {\n opList.addOp(_util.OPS.endMarkedContent, []);\n }\n return {\n opList,\n separateForm: false,\n separateCanvas: isUsingOwnCanvas\n };\n }\n _getMKDict(rotation) {\n const mk = new _primitives.Dict(null);\n if (rotation) {\n mk.set(\"R\", rotation);\n }\n if (this.borderColor) {\n mk.set(\"BC\", getPdfColorArray(this.borderColor));\n }\n if (this.backgroundColor) {\n mk.set(\"BG\", getPdfColorArray(this.backgroundColor));\n }\n return mk.size > 0 ? mk : null;\n }\n amendSavedDict(annotationStorage, dict) {}\n async save(evaluator, task, annotationStorage) {\n const storageEntry = annotationStorage?.get(this.data.id);\n let value = storageEntry?.value,\n rotation = storageEntry?.rotation;\n if (value === this.data.fieldValue || value === undefined) {\n if (!this._hasValueFromXFA && rotation === undefined) {\n return null;\n }\n value ||= this.data.fieldValue;\n }\n if (rotation === undefined && !this._hasValueFromXFA && Array.isArray(value) && Array.isArray(this.data.fieldValue) && value.length === this.data.fieldValue.length && value.every((x, i) => x === this.data.fieldValue[i])) {\n return null;\n }\n if (rotation === undefined) {\n rotation = this.rotation;\n }\n let appearance = null;\n if (!this._needAppearances) {\n appearance = await this._getAppearance(evaluator, task, _util.RenderingIntentFlag.SAVE, annotationStorage);\n if (appearance === null) {\n return null;\n }\n } else {}\n let needAppearances = false;\n if (appearance?.needAppearances) {\n needAppearances = true;\n appearance = null;\n }\n const {\n xref\n } = evaluator;\n const originalDict = xref.fetchIfRef(this.ref);\n if (!(originalDict instanceof _primitives.Dict)) {\n return null;\n }\n const dict = new _primitives.Dict(xref);\n for (const key of originalDict.getKeys()) {\n if (key !== \"AP\") {\n dict.set(key, originalDict.getRaw(key));\n }\n }\n const xfa = {\n path: this.data.fieldName,\n value\n };\n const encoder = val => {\n return (0, _core_utils.isAscii)(val) ? val : (0, _core_utils.stringToUTF16String)(val, true);\n };\n dict.set(\"V\", Array.isArray(value) ? value.map(encoder) : encoder(value));\n this.amendSavedDict(annotationStorage, dict);\n const maybeMK = this._getMKDict(rotation);\n if (maybeMK) {\n dict.set(\"MK\", maybeMK);\n }\n const buffer = [];\n const changes = [{\n ref: this.ref,\n data: \"\",\n xfa,\n needAppearances\n }];\n if (appearance !== null) {\n const newRef = xref.getNewTemporaryRef();\n const AP = new _primitives.Dict(xref);\n dict.set(\"AP\", AP);\n AP.set(\"N\", newRef);\n const resources = this._getSaveFieldResources(xref);\n const appearanceStream = new _stream.StringStream(appearance);\n const appearanceDict = appearanceStream.dict = new _primitives.Dict(xref);\n appearanceDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceDict.set(\"Resources\", resources);\n appearanceDict.set(\"BBox\", [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]]);\n const rotationMatrix = this.getRotationMatrix(annotationStorage);\n if (rotationMatrix !== _util.IDENTITY_MATRIX) {\n appearanceDict.set(\"Matrix\", rotationMatrix);\n }\n await (0, _writer.writeObject)(newRef, appearanceStream, buffer, xref);\n changes.push({\n ref: newRef,\n data: buffer.join(\"\"),\n xfa: null,\n needAppearances: false\n });\n buffer.length = 0;\n }\n dict.set(\"M\", `D:${(0, _util.getModificationDate)()}`);\n await (0, _writer.writeObject)(this.ref, dict, buffer, xref);\n changes[0].data = buffer.join(\"\");\n return changes;\n }\n async _getAppearance(evaluator, task, intent, annotationStorage) {\n const isPassword = this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD);\n if (isPassword) {\n return null;\n }\n const storageEntry = annotationStorage?.get(this.data.id);\n let value, rotation;\n if (storageEntry) {\n value = storageEntry.formattedValue || storageEntry.value;\n rotation = storageEntry.rotation;\n }\n if (rotation === undefined && value === undefined && !this._needAppearances) {\n if (!this._hasValueFromXFA || this.appearance) {\n return null;\n }\n }\n const colors = this.getBorderAndBackgroundAppearances(annotationStorage);\n if (value === undefined) {\n value = this.data.fieldValue;\n if (!value) {\n return `/Tx BMC q ${colors}Q EMC`;\n }\n }\n if (Array.isArray(value) && value.length === 1) {\n value = value[0];\n }\n (0, _util.assert)(typeof value === \"string\", \"Expected `value` to be a string.\");\n value = value.trim();\n if (this.data.combo) {\n const option = this.data.options.find(({\n exportValue\n }) => value === exportValue);\n value = option?.displayValue || value;\n }\n if (value === \"\") {\n return `/Tx BMC q ${colors}Q EMC`;\n }\n if (rotation === undefined) {\n rotation = this.rotation;\n }\n let lineCount = -1;\n let lines;\n if (this.data.multiLine) {\n lines = value.split(/\\r\\n?|\\n/).map(line => line.normalize(\"NFC\"));\n lineCount = lines.length;\n } else {\n lines = [value.replace(/\\r\\n?|\\n/, \"\").normalize(\"NFC\")];\n }\n const defaultPadding = 1;\n const defaultHPadding = 2;\n let totalHeight = this.data.rect[3] - this.data.rect[1];\n let totalWidth = this.data.rect[2] - this.data.rect[0];\n if (rotation === 90 || rotation === 270) {\n [totalWidth, totalHeight] = [totalHeight, totalWidth];\n }\n if (!this._defaultAppearance) {\n this.data.defaultAppearanceData = (0, _default_appearance.parseDefaultAppearance)(this._defaultAppearance = \"/Helvetica 0 Tf 0 g\");\n }\n let font = await WidgetAnnotation._getFontData(evaluator, task, this.data.defaultAppearanceData, this._fieldResources.mergedResources);\n let defaultAppearance, fontSize, lineHeight;\n const encodedLines = [];\n let encodingError = false;\n for (const line of lines) {\n const encodedString = font.encodeString(line);\n if (encodedString.length > 1) {\n encodingError = true;\n }\n encodedLines.push(encodedString.join(\"\"));\n }\n if (encodingError && intent & _util.RenderingIntentFlag.SAVE) {\n return {\n needAppearances: true\n };\n }\n if (encodingError && this._isOffscreenCanvasSupported) {\n const fontFamily = this.data.comb ? \"monospace\" : \"sans-serif\";\n const fakeUnicodeFont = new _default_appearance.FakeUnicodeFont(evaluator.xref, fontFamily);\n const resources = fakeUnicodeFont.createFontResources(lines.join(\"\"));\n const newFont = resources.getRaw(\"Font\");\n if (this._fieldResources.mergedResources.has(\"Font\")) {\n const oldFont = this._fieldResources.mergedResources.get(\"Font\");\n for (const key of newFont.getKeys()) {\n oldFont.set(key, newFont.getRaw(key));\n }\n } else {\n this._fieldResources.mergedResources.set(\"Font\", newFont);\n }\n const fontName = fakeUnicodeFont.fontName.name;\n font = await WidgetAnnotation._getFontData(evaluator, task, {\n fontName,\n fontSize: 0\n }, resources);\n for (let i = 0, ii = encodedLines.length; i < ii; i++) {\n encodedLines[i] = (0, _core_utils.stringToUTF16String)(lines[i]);\n }\n const savedDefaultAppearance = Object.assign(Object.create(null), this.data.defaultAppearanceData);\n this.data.defaultAppearanceData.fontSize = 0;\n this.data.defaultAppearanceData.fontName = fontName;\n [defaultAppearance, fontSize, lineHeight] = this._computeFontSize(totalHeight - 2 * defaultPadding, totalWidth - 2 * defaultHPadding, value, font, lineCount);\n this.data.defaultAppearanceData = savedDefaultAppearance;\n } else {\n if (!this._isOffscreenCanvasSupported) {\n (0, _util.warn)(\"_getAppearance: OffscreenCanvas is not supported, annotation may not render correctly.\");\n }\n [defaultAppearance, fontSize, lineHeight] = this._computeFontSize(totalHeight - 2 * defaultPadding, totalWidth - 2 * defaultHPadding, value, font, lineCount);\n }\n let descent = font.descent;\n if (isNaN(descent)) {\n descent = _util.BASELINE_FACTOR * lineHeight;\n } else {\n descent = Math.max(_util.BASELINE_FACTOR * lineHeight, Math.abs(descent) * fontSize);\n }\n const defaultVPadding = Math.min(Math.floor((totalHeight - fontSize) / 2), defaultPadding);\n const alignment = this.data.textAlignment;\n if (this.data.multiLine) {\n return this._getMultilineAppearance(defaultAppearance, encodedLines, font, fontSize, totalWidth, totalHeight, alignment, defaultHPadding, defaultVPadding, descent, lineHeight, annotationStorage);\n }\n if (this.data.comb) {\n return this._getCombAppearance(defaultAppearance, font, encodedLines[0], fontSize, totalWidth, totalHeight, defaultHPadding, defaultVPadding, descent, lineHeight, annotationStorage);\n }\n const bottomPadding = defaultVPadding + descent;\n if (alignment === 0 || alignment > 2) {\n return `/Tx BMC q ${colors}BT ` + defaultAppearance + ` 1 0 0 1 ${(0, _core_utils.numberToString)(defaultHPadding)} ${(0, _core_utils.numberToString)(bottomPadding)} Tm (${(0, _core_utils.escapeString)(encodedLines[0])}) Tj` + \" ET Q EMC\";\n }\n const prevInfo = {\n shift: 0\n };\n const renderedText = this._renderText(encodedLines[0], font, fontSize, totalWidth, alignment, prevInfo, defaultHPadding, bottomPadding);\n return `/Tx BMC q ${colors}BT ` + defaultAppearance + ` 1 0 0 1 0 0 Tm ${renderedText}` + \" ET Q EMC\";\n }\n static async _getFontData(evaluator, task, appearanceData, resources) {\n const operatorList = new _operator_list.OperatorList();\n const initialState = {\n font: null,\n clone() {\n return this;\n }\n };\n const {\n fontName,\n fontSize\n } = appearanceData;\n await evaluator.handleSetFont(resources, [fontName && _primitives.Name.get(fontName), fontSize], null, operatorList, task, initialState, null);\n return initialState.font;\n }\n _getTextWidth(text, font) {\n return font.charsToGlyphs(text).reduce((width, glyph) => width + glyph.width, 0) / 1000;\n }\n _computeFontSize(height, width, text, font, lineCount) {\n let {\n fontSize\n } = this.data.defaultAppearanceData;\n let lineHeight = (fontSize || 12) * _util.LINE_FACTOR,\n numberOfLines = Math.round(height / lineHeight);\n if (!fontSize) {\n const roundWithTwoDigits = x => Math.floor(x * 100) / 100;\n if (lineCount === -1) {\n const textWidth = this._getTextWidth(text, font);\n fontSize = roundWithTwoDigits(Math.min(height / _util.LINE_FACTOR, textWidth > width ? width / textWidth : Infinity));\n numberOfLines = 1;\n } else {\n const lines = text.split(/\\r\\n?|\\n/);\n const cachedLines = [];\n for (const line of lines) {\n const encoded = font.encodeString(line).join(\"\");\n const glyphs = font.charsToGlyphs(encoded);\n const positions = font.getCharPositions(encoded);\n cachedLines.push({\n line: encoded,\n glyphs,\n positions\n });\n }\n const isTooBig = fsize => {\n let totalHeight = 0;\n for (const cache of cachedLines) {\n const chunks = this._splitLine(null, font, fsize, width, cache);\n totalHeight += chunks.length * fsize;\n if (totalHeight > height) {\n return true;\n }\n }\n return false;\n };\n numberOfLines = Math.max(numberOfLines, lineCount);\n while (true) {\n lineHeight = height / numberOfLines;\n fontSize = roundWithTwoDigits(lineHeight / _util.LINE_FACTOR);\n if (isTooBig(fontSize)) {\n numberOfLines++;\n continue;\n }\n break;\n }\n }\n const {\n fontName,\n fontColor\n } = this.data.defaultAppearanceData;\n this._defaultAppearance = (0, _default_appearance.createDefaultAppearance)({\n fontSize,\n fontName,\n fontColor\n });\n }\n return [this._defaultAppearance, fontSize, height / numberOfLines];\n }\n _renderText(text, font, fontSize, totalWidth, alignment, prevInfo, hPadding, vPadding) {\n let shift;\n if (alignment === 1) {\n const width = this._getTextWidth(text, font) * fontSize;\n shift = (totalWidth - width) / 2;\n } else if (alignment === 2) {\n const width = this._getTextWidth(text, font) * fontSize;\n shift = totalWidth - width - hPadding;\n } else {\n shift = hPadding;\n }\n const shiftStr = (0, _core_utils.numberToString)(shift - prevInfo.shift);\n prevInfo.shift = shift;\n vPadding = (0, _core_utils.numberToString)(vPadding);\n return `${shiftStr} ${vPadding} Td (${(0, _core_utils.escapeString)(text)}) Tj`;\n }\n _getSaveFieldResources(xref) {\n const {\n localResources,\n appearanceResources,\n acroFormResources\n } = this._fieldResources;\n const fontName = this.data.defaultAppearanceData?.fontName;\n if (!fontName) {\n return localResources || _primitives.Dict.empty;\n }\n for (const resources of [localResources, appearanceResources]) {\n if (resources instanceof _primitives.Dict) {\n const localFont = resources.get(\"Font\");\n if (localFont instanceof _primitives.Dict && localFont.has(fontName)) {\n return resources;\n }\n }\n }\n if (acroFormResources instanceof _primitives.Dict) {\n const acroFormFont = acroFormResources.get(\"Font\");\n if (acroFormFont instanceof _primitives.Dict && acroFormFont.has(fontName)) {\n const subFontDict = new _primitives.Dict(xref);\n subFontDict.set(fontName, acroFormFont.getRaw(fontName));\n const subResourcesDict = new _primitives.Dict(xref);\n subResourcesDict.set(\"Font\", subFontDict);\n return _primitives.Dict.merge({\n xref,\n dictArray: [subResourcesDict, localResources],\n mergeSubDicts: true\n });\n }\n }\n return localResources || _primitives.Dict.empty;\n }\n getFieldObject() {\n return null;\n }\n}\nclass TextWidgetAnnotation extends WidgetAnnotation {\n constructor(params) {\n super(params);\n this.data.hasOwnCanvas = this.data.readOnly && !this.data.noHTML;\n this._hasText = true;\n const dict = params.dict;\n if (typeof this.data.fieldValue !== \"string\") {\n this.data.fieldValue = \"\";\n }\n let alignment = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"Q\"\n });\n if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n alignment = null;\n }\n this.data.textAlignment = alignment;\n let maximumLength = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"MaxLen\"\n });\n if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n maximumLength = 0;\n }\n this.data.maxLen = maximumLength;\n this.data.multiLine = this.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n this.data.comb = this.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !this.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !this.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && this.data.maxLen !== 0;\n this.data.doNotScroll = this.hasFieldFlag(_util.AnnotationFieldFlag.DONOTSCROLL);\n }\n get hasTextContent() {\n return !!this.appearance && !this._needAppearances;\n }\n _getCombAppearance(defaultAppearance, font, text, fontSize, width, height, hPadding, vPadding, descent, lineHeight, annotationStorage) {\n const combWidth = width / this.data.maxLen;\n const colors = this.getBorderAndBackgroundAppearances(annotationStorage);\n const buf = [];\n const positions = font.getCharPositions(text);\n for (const [start, end] of positions) {\n buf.push(`(${(0, _core_utils.escapeString)(text.substring(start, end))}) Tj`);\n }\n const renderedComb = buf.join(` ${(0, _core_utils.numberToString)(combWidth)} 0 Td `);\n return `/Tx BMC q ${colors}BT ` + defaultAppearance + ` 1 0 0 1 ${(0, _core_utils.numberToString)(hPadding)} ${(0, _core_utils.numberToString)(vPadding + descent)} Tm ${renderedComb}` + \" ET Q EMC\";\n }\n _getMultilineAppearance(defaultAppearance, lines, font, fontSize, width, height, alignment, hPadding, vPadding, descent, lineHeight, annotationStorage) {\n const buf = [];\n const totalWidth = width - 2 * hPadding;\n const prevInfo = {\n shift: 0\n };\n for (let i = 0, ii = lines.length; i < ii; i++) {\n const line = lines[i];\n const chunks = this._splitLine(line, font, fontSize, totalWidth);\n for (let j = 0, jj = chunks.length; j < jj; j++) {\n const chunk = chunks[j];\n const vShift = i === 0 && j === 0 ? -vPadding - (lineHeight - descent) : -lineHeight;\n buf.push(this._renderText(chunk, font, fontSize, width, alignment, prevInfo, hPadding, vShift));\n }\n }\n const colors = this.getBorderAndBackgroundAppearances(annotationStorage);\n const renderedText = buf.join(\"\\n\");\n return `/Tx BMC q ${colors}BT ` + defaultAppearance + ` 1 0 0 1 0 ${(0, _core_utils.numberToString)(height)} Tm ${renderedText}` + \" ET Q EMC\";\n }\n _splitLine(line, font, fontSize, width, cache = {}) {\n line = cache.line || line;\n const glyphs = cache.glyphs || font.charsToGlyphs(line);\n if (glyphs.length <= 1) {\n return [line];\n }\n const positions = cache.positions || font.getCharPositions(line);\n const scale = fontSize / 1000;\n const chunks = [];\n let lastSpacePosInStringStart = -1,\n lastSpacePosInStringEnd = -1,\n lastSpacePos = -1,\n startChunk = 0,\n currentWidth = 0;\n for (let i = 0, ii = glyphs.length; i < ii; i++) {\n const [start, end] = positions[i];\n const glyph = glyphs[i];\n const glyphWidth = glyph.width * scale;\n if (glyph.unicode === \" \") {\n if (currentWidth + glyphWidth > width) {\n chunks.push(line.substring(startChunk, start));\n startChunk = start;\n currentWidth = glyphWidth;\n lastSpacePosInStringStart = -1;\n lastSpacePos = -1;\n } else {\n currentWidth += glyphWidth;\n lastSpacePosInStringStart = start;\n lastSpacePosInStringEnd = end;\n lastSpacePos = i;\n }\n } else if (currentWidth + glyphWidth > width) {\n if (lastSpacePosInStringStart !== -1) {\n chunks.push(line.substring(startChunk, lastSpacePosInStringEnd));\n startChunk = lastSpacePosInStringEnd;\n i = lastSpacePos + 1;\n lastSpacePosInStringStart = -1;\n currentWidth = 0;\n } else {\n chunks.push(line.substring(startChunk, start));\n startChunk = start;\n currentWidth = glyphWidth;\n }\n } else {\n currentWidth += glyphWidth;\n }\n }\n if (startChunk < line.length) {\n chunks.push(line.substring(startChunk, line.length));\n }\n return chunks;\n }\n getFieldObject() {\n return {\n id: this.data.id,\n value: this.data.fieldValue,\n defaultValue: this.data.defaultFieldValue || \"\",\n multiline: this.data.multiLine,\n password: this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD),\n charLimit: this.data.maxLen,\n comb: this.data.comb,\n editable: !this.data.readOnly,\n hidden: this.data.hidden,\n name: this.data.fieldName,\n rect: this.data.rect,\n actions: this.data.actions,\n page: this.data.pageIndex,\n strokeColor: this.data.borderColor,\n fillColor: this.data.backgroundColor,\n rotation: this.rotation,\n type: \"text\"\n };\n }\n}\nclass ButtonWidgetAnnotation extends WidgetAnnotation {\n constructor(params) {\n super(params);\n this.checkedAppearance = null;\n this.uncheckedAppearance = null;\n this.data.checkBox = !this.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n this.data.radioButton = this.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n this.data.pushButton = this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n this.data.isTooltipOnly = false;\n if (this.data.checkBox) {\n this._processCheckBox(params);\n } else if (this.data.radioButton) {\n this._processRadioButton(params);\n } else if (this.data.pushButton) {\n this.data.hasOwnCanvas = true;\n this._processPushButton(params);\n } else {\n (0, _util.warn)(\"Invalid field flags for button widget annotation\");\n }\n }\n async getOperatorList(evaluator, task, intent, renderForms, annotationStorage) {\n if (this.data.pushButton) {\n return super.getOperatorList(evaluator, task, intent, false, annotationStorage);\n }\n let value = null;\n let rotation = null;\n if (annotationStorage) {\n const storageEntry = annotationStorage.get(this.data.id);\n value = storageEntry ? storageEntry.value : null;\n rotation = storageEntry ? storageEntry.rotation : null;\n }\n if (value === null && this.appearance) {\n return super.getOperatorList(evaluator, task, intent, renderForms, annotationStorage);\n }\n if (value === null || value === undefined) {\n value = this.data.checkBox ? this.data.fieldValue === this.data.exportValue : this.data.fieldValue === this.data.buttonValue;\n }\n const appearance = value ? this.checkedAppearance : this.uncheckedAppearance;\n if (appearance) {\n const savedAppearance = this.appearance;\n const savedMatrix = appearance.dict.getArray(\"Matrix\") || _util.IDENTITY_MATRIX;\n if (rotation) {\n appearance.dict.set(\"Matrix\", this.getRotationMatrix(annotationStorage));\n }\n this.appearance = appearance;\n const operatorList = super.getOperatorList(evaluator, task, intent, renderForms, annotationStorage);\n this.appearance = savedAppearance;\n appearance.dict.set(\"Matrix\", savedMatrix);\n return operatorList;\n }\n return {\n opList: new _operator_list.OperatorList(),\n separateForm: false,\n separateCanvas: false\n };\n }\n async save(evaluator, task, annotationStorage) {\n if (this.data.checkBox) {\n return this._saveCheckbox(evaluator, task, annotationStorage);\n }\n if (this.data.radioButton) {\n return this._saveRadioButton(evaluator, task, annotationStorage);\n }\n return null;\n }\n async _saveCheckbox(evaluator, task, annotationStorage) {\n if (!annotationStorage) {\n return null;\n }\n const storageEntry = annotationStorage.get(this.data.id);\n let rotation = storageEntry?.rotation,\n value = storageEntry?.value;\n if (rotation === undefined) {\n if (value === undefined) {\n return null;\n }\n const defaultValue = this.data.fieldValue === this.data.exportValue;\n if (defaultValue === value) {\n return null;\n }\n }\n const dict = evaluator.xref.fetchIfRef(this.ref);\n if (!(dict instanceof _primitives.Dict)) {\n return null;\n }\n if (rotation === undefined) {\n rotation = this.rotation;\n }\n if (value === undefined) {\n value = this.data.fieldValue === this.data.exportValue;\n }\n const xfa = {\n path: this.data.fieldName,\n value: value ? this.data.exportValue : \"\"\n };\n const name = _primitives.Name.get(value ? this.data.exportValue : \"Off\");\n dict.set(\"V\", name);\n dict.set(\"AS\", name);\n dict.set(\"M\", `D:${(0, _util.getModificationDate)()}`);\n const maybeMK = this._getMKDict(rotation);\n if (maybeMK) {\n dict.set(\"MK\", maybeMK);\n }\n const buffer = [];\n await (0, _writer.writeObject)(this.ref, dict, buffer, evaluator.xref);\n return [{\n ref: this.ref,\n data: buffer.join(\"\"),\n xfa\n }];\n }\n async _saveRadioButton(evaluator, task, annotationStorage) {\n if (!annotationStorage) {\n return null;\n }\n const storageEntry = annotationStorage.get(this.data.id);\n let rotation = storageEntry?.rotation,\n value = storageEntry?.value;\n if (rotation === undefined) {\n if (value === undefined) {\n return null;\n }\n const defaultValue = this.data.fieldValue === this.data.buttonValue;\n if (defaultValue === value) {\n return null;\n }\n }\n const dict = evaluator.xref.fetchIfRef(this.ref);\n if (!(dict instanceof _primitives.Dict)) {\n return null;\n }\n if (value === undefined) {\n value = this.data.fieldValue === this.data.buttonValue;\n }\n if (rotation === undefined) {\n rotation = this.rotation;\n }\n const xfa = {\n path: this.data.fieldName,\n value: value ? this.data.buttonValue : \"\"\n };\n const name = _primitives.Name.get(value ? this.data.buttonValue : \"Off\");\n const buffer = [];\n let parentData = null;\n if (value) {\n if (this.parent instanceof _primitives.Ref) {\n const parent = evaluator.xref.fetch(this.parent);\n parent.set(\"V\", name);\n await (0, _writer.writeObject)(this.parent, parent, buffer, evaluator.xref);\n parentData = buffer.join(\"\");\n buffer.length = 0;\n } else if (this.parent instanceof _primitives.Dict) {\n this.parent.set(\"V\", name);\n }\n }\n dict.set(\"AS\", name);\n dict.set(\"M\", `D:${(0, _util.getModificationDate)()}`);\n const maybeMK = this._getMKDict(rotation);\n if (maybeMK) {\n dict.set(\"MK\", maybeMK);\n }\n await (0, _writer.writeObject)(this.ref, dict, buffer, evaluator.xref);\n const newRefs = [{\n ref: this.ref,\n data: buffer.join(\"\"),\n xfa\n }];\n if (parentData) {\n newRefs.push({\n ref: this.parent,\n data: parentData,\n xfa: null\n });\n }\n return newRefs;\n }\n _getDefaultCheckedAppearance(params, type) {\n const width = this.data.rect[2] - this.data.rect[0];\n const height = this.data.rect[3] - this.data.rect[1];\n const bbox = [0, 0, width, height];\n const FONT_RATIO = 0.8;\n const fontSize = Math.min(width, height) * FONT_RATIO;\n let metrics, char;\n if (type === \"check\") {\n metrics = {\n width: 0.755 * fontSize,\n height: 0.705 * fontSize\n };\n char = \"\\x33\";\n } else if (type === \"disc\") {\n metrics = {\n width: 0.791 * fontSize,\n height: 0.705 * fontSize\n };\n char = \"\\x6C\";\n } else {\n (0, _util.unreachable)(`_getDefaultCheckedAppearance - unsupported type: ${type}`);\n }\n const xShift = (0, _core_utils.numberToString)((width - metrics.width) / 2);\n const yShift = (0, _core_utils.numberToString)((height - metrics.height) / 2);\n const appearance = `q BT /PdfJsZaDb ${fontSize} Tf 0 g ${xShift} ${yShift} Td (${char}) Tj ET Q`;\n const appearanceStreamDict = new _primitives.Dict(params.xref);\n appearanceStreamDict.set(\"FormType\", 1);\n appearanceStreamDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceStreamDict.set(\"Type\", _primitives.Name.get(\"XObject\"));\n appearanceStreamDict.set(\"BBox\", bbox);\n appearanceStreamDict.set(\"Matrix\", [1, 0, 0, 1, 0, 0]);\n appearanceStreamDict.set(\"Length\", appearance.length);\n const resources = new _primitives.Dict(params.xref);\n const font = new _primitives.Dict(params.xref);\n font.set(\"PdfJsZaDb\", this.fallbackFontDict);\n resources.set(\"Font\", font);\n appearanceStreamDict.set(\"Resources\", resources);\n this.checkedAppearance = new _stream.StringStream(appearance);\n this.checkedAppearance.dict = appearanceStreamDict;\n this._streams.push(this.checkedAppearance);\n }\n _processCheckBox(params) {\n const customAppearance = params.dict.get(\"AP\");\n if (!(customAppearance instanceof _primitives.Dict)) {\n return;\n }\n const normalAppearance = customAppearance.get(\"N\");\n if (!(normalAppearance instanceof _primitives.Dict)) {\n return;\n }\n const asValue = this._decodeFormValue(params.dict.get(\"AS\"));\n if (typeof asValue === \"string\") {\n this.data.fieldValue = asValue;\n }\n const yes = this.data.fieldValue !== null && this.data.fieldValue !== \"Off\" ? this.data.fieldValue : \"Yes\";\n const exportValues = normalAppearance.getKeys();\n if (exportValues.length === 0) {\n exportValues.push(\"Off\", yes);\n } else if (exportValues.length === 1) {\n if (exportValues[0] === \"Off\") {\n exportValues.push(yes);\n } else {\n exportValues.unshift(\"Off\");\n }\n } else if (exportValues.includes(yes)) {\n exportValues.length = 0;\n exportValues.push(\"Off\", yes);\n } else {\n const otherYes = exportValues.find(v => v !== \"Off\");\n exportValues.length = 0;\n exportValues.push(\"Off\", otherYes);\n }\n if (!exportValues.includes(this.data.fieldValue)) {\n this.data.fieldValue = \"Off\";\n }\n this.data.exportValue = exportValues[1];\n const checkedAppearance = normalAppearance.get(this.data.exportValue);\n this.checkedAppearance = checkedAppearance instanceof _base_stream.BaseStream ? checkedAppearance : null;\n const uncheckedAppearance = normalAppearance.get(\"Off\");\n this.uncheckedAppearance = uncheckedAppearance instanceof _base_stream.BaseStream ? uncheckedAppearance : null;\n if (this.checkedAppearance) {\n this._streams.push(this.checkedAppearance);\n } else {\n this._getDefaultCheckedAppearance(params, \"check\");\n }\n if (this.uncheckedAppearance) {\n this._streams.push(this.uncheckedAppearance);\n }\n this._fallbackFontDict = this.fallbackFontDict;\n if (this.data.defaultFieldValue === null) {\n this.data.defaultFieldValue = \"Off\";\n }\n }\n _processRadioButton(params) {\n this.data.fieldValue = this.data.buttonValue = null;\n const fieldParent = params.dict.get(\"Parent\");\n if (fieldParent instanceof _primitives.Dict) {\n this.parent = params.dict.getRaw(\"Parent\");\n const fieldParentValue = fieldParent.get(\"V\");\n if (fieldParentValue instanceof _primitives.Name) {\n this.data.fieldValue = this._decodeFormValue(fieldParentValue);\n }\n }\n const appearanceStates = params.dict.get(\"AP\");\n if (!(appearanceStates instanceof _primitives.Dict)) {\n return;\n }\n const normalAppearance = appearanceStates.get(\"N\");\n if (!(normalAppearance instanceof _primitives.Dict)) {\n return;\n }\n for (const key of normalAppearance.getKeys()) {\n if (key !== \"Off\") {\n this.data.buttonValue = this._decodeFormValue(key);\n break;\n }\n }\n const checkedAppearance = normalAppearance.get(this.data.buttonValue);\n this.checkedAppearance = checkedAppearance instanceof _base_stream.BaseStream ? checkedAppearance : null;\n const uncheckedAppearance = normalAppearance.get(\"Off\");\n this.uncheckedAppearance = uncheckedAppearance instanceof _base_stream.BaseStream ? uncheckedAppearance : null;\n if (this.checkedAppearance) {\n this._streams.push(this.checkedAppearance);\n } else {\n this._getDefaultCheckedAppearance(params, \"disc\");\n }\n if (this.uncheckedAppearance) {\n this._streams.push(this.uncheckedAppearance);\n }\n this._fallbackFontDict = this.fallbackFontDict;\n if (this.data.defaultFieldValue === null) {\n this.data.defaultFieldValue = \"Off\";\n }\n }\n _processPushButton(params) {\n const {\n dict,\n annotationGlobals\n } = params;\n if (!dict.has(\"A\") && !dict.has(\"AA\") && !this.data.alternativeText) {\n (0, _util.warn)(\"Push buttons without action dictionaries are not supported\");\n return;\n }\n this.data.isTooltipOnly = !dict.has(\"A\") && !dict.has(\"AA\");\n _catalog.Catalog.parseDestDictionary({\n destDict: dict,\n resultObj: this.data,\n docBaseUrl: annotationGlobals.baseUrl,\n docAttachments: annotationGlobals.attachments\n });\n }\n getFieldObject() {\n let type = \"button\";\n let exportValues;\n if (this.data.checkBox) {\n type = \"checkbox\";\n exportValues = this.data.exportValue;\n } else if (this.data.radioButton) {\n type = \"radiobutton\";\n exportValues = this.data.buttonValue;\n }\n return {\n id: this.data.id,\n value: this.data.fieldValue || \"Off\",\n defaultValue: this.data.defaultFieldValue,\n exportValues,\n editable: !this.data.readOnly,\n name: this.data.fieldName,\n rect: this.data.rect,\n hidden: this.data.hidden,\n actions: this.data.actions,\n page: this.data.pageIndex,\n strokeColor: this.data.borderColor,\n fillColor: this.data.backgroundColor,\n rotation: this.rotation,\n type\n };\n }\n get fallbackFontDict() {\n const dict = new _primitives.Dict();\n dict.set(\"BaseFont\", _primitives.Name.get(\"ZapfDingbats\"));\n dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Encoding\", _primitives.Name.get(\"ZapfDingbatsEncoding\"));\n return (0, _util.shadow)(this, \"fallbackFontDict\", dict);\n }\n}\nclass ChoiceWidgetAnnotation extends WidgetAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.indices = dict.getArray(\"I\");\n this.hasIndices = Array.isArray(this.indices) && this.indices.length > 0;\n this.data.options = [];\n const options = (0, _core_utils.getInheritableProperty)({\n dict,\n key: \"Opt\"\n });\n if (Array.isArray(options)) {\n for (let i = 0, ii = options.length; i < ii; i++) {\n const option = xref.fetchIfRef(options[i]);\n const isOptionArray = Array.isArray(option);\n this.data.options[i] = {\n exportValue: this._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[0]) : option),\n displayValue: this._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n if (!this.hasIndices) {\n if (typeof this.data.fieldValue === \"string\") {\n this.data.fieldValue = [this.data.fieldValue];\n } else if (!this.data.fieldValue) {\n this.data.fieldValue = [];\n }\n } else {\n this.data.fieldValue = [];\n const ii = this.data.options.length;\n for (const i of this.indices) {\n if (Number.isInteger(i) && i >= 0 && i < ii) {\n this.data.fieldValue.push(this.data.options[i].exportValue);\n }\n }\n }\n this.data.combo = this.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n this.data.multiSelect = this.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n this._hasText = true;\n }\n getFieldObject() {\n const type = this.data.combo ? \"combobox\" : \"listbox\";\n const value = this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null;\n return {\n id: this.data.id,\n value,\n defaultValue: this.data.defaultFieldValue,\n editable: !this.data.readOnly,\n name: this.data.fieldName,\n rect: this.data.rect,\n numItems: this.data.fieldValue.length,\n multipleSelection: this.data.multiSelect,\n hidden: this.data.hidden,\n actions: this.data.actions,\n items: this.data.options,\n page: this.data.pageIndex,\n strokeColor: this.data.borderColor,\n fillColor: this.data.backgroundColor,\n rotation: this.rotation,\n type\n };\n }\n amendSavedDict(annotationStorage, dict) {\n if (!this.hasIndices) {\n return;\n }\n let values = annotationStorage?.get(this.data.id)?.value;\n if (!Array.isArray(values)) {\n values = [values];\n }\n const indices = [];\n const {\n options\n } = this.data;\n for (let i = 0, j = 0, ii = options.length; i < ii; i++) {\n if (options[i].exportValue === values[j]) {\n indices.push(i);\n j += 1;\n }\n }\n dict.set(\"I\", indices);\n }\n async _getAppearance(evaluator, task, intent, annotationStorage) {\n if (this.data.combo) {\n return super._getAppearance(evaluator, task, intent, annotationStorage);\n }\n let exportedValue, rotation;\n const storageEntry = annotationStorage?.get(this.data.id);\n if (storageEntry) {\n rotation = storageEntry.rotation;\n exportedValue = storageEntry.value;\n }\n if (rotation === undefined && exportedValue === undefined && !this._needAppearances) {\n return null;\n }\n if (exportedValue === undefined) {\n exportedValue = this.data.fieldValue;\n } else if (!Array.isArray(exportedValue)) {\n exportedValue = [exportedValue];\n }\n const defaultPadding = 1;\n const defaultHPadding = 2;\n let totalHeight = this.data.rect[3] - this.data.rect[1];\n let totalWidth = this.data.rect[2] - this.data.rect[0];\n if (rotation === 90 || rotation === 270) {\n [totalWidth, totalHeight] = [totalHeight, totalWidth];\n }\n const lineCount = this.data.options.length;\n const valueIndices = [];\n for (let i = 0; i < lineCount; i++) {\n const {\n exportValue\n } = this.data.options[i];\n if (exportedValue.includes(exportValue)) {\n valueIndices.push(i);\n }\n }\n if (!this._defaultAppearance) {\n this.data.defaultAppearanceData = (0, _default_appearance.parseDefaultAppearance)(this._defaultAppearance = \"/Helvetica 0 Tf 0 g\");\n }\n const font = await WidgetAnnotation._getFontData(evaluator, task, this.data.defaultAppearanceData, this._fieldResources.mergedResources);\n let defaultAppearance;\n let {\n fontSize\n } = this.data.defaultAppearanceData;\n if (!fontSize) {\n const lineHeight = (totalHeight - defaultPadding) / lineCount;\n let lineWidth = -1;\n let value;\n for (const {\n displayValue\n } of this.data.options) {\n const width = this._getTextWidth(displayValue, font);\n if (width > lineWidth) {\n lineWidth = width;\n value = displayValue;\n }\n }\n [defaultAppearance, fontSize] = this._computeFontSize(lineHeight, totalWidth - 2 * defaultHPadding, value, font, -1);\n } else {\n defaultAppearance = this._defaultAppearance;\n }\n const lineHeight = fontSize * _util.LINE_FACTOR;\n const vPadding = (lineHeight - fontSize) / 2;\n const numberOfVisibleLines = Math.floor(totalHeight / lineHeight);\n let firstIndex = 0;\n if (valueIndices.length > 0) {\n const minIndex = Math.min(...valueIndices);\n const maxIndex = Math.max(...valueIndices);\n firstIndex = Math.max(0, maxIndex - numberOfVisibleLines + 1);\n if (firstIndex > minIndex) {\n firstIndex = minIndex;\n }\n }\n const end = Math.min(firstIndex + numberOfVisibleLines + 1, lineCount);\n const buf = [\"/Tx BMC q\", `1 1 ${totalWidth} ${totalHeight} re W n`];\n if (valueIndices.length) {\n buf.push(\"0.600006 0.756866 0.854904 rg\");\n for (const index of valueIndices) {\n if (firstIndex <= index && index < end) {\n buf.push(`1 ${totalHeight - (index - firstIndex + 1) * lineHeight} ${totalWidth} ${lineHeight} re f`);\n }\n }\n }\n buf.push(\"BT\", defaultAppearance, `1 0 0 1 0 ${totalHeight} Tm`);\n const prevInfo = {\n shift: 0\n };\n for (let i = firstIndex; i < end; i++) {\n const {\n displayValue\n } = this.data.options[i];\n const vpadding = i === firstIndex ? vPadding : 0;\n buf.push(this._renderText(displayValue, font, fontSize, totalWidth, 0, prevInfo, defaultHPadding, -lineHeight + vpadding));\n }\n buf.push(\"ET Q EMC\");\n return buf.join(\"\\n\");\n }\n}\nclass SignatureWidgetAnnotation extends WidgetAnnotation {\n constructor(params) {\n super(params);\n this.data.fieldValue = null;\n this.data.hasOwnCanvas = this.data.noRotate;\n }\n getFieldObject() {\n return {\n id: this.data.id,\n value: null,\n page: this.data.pageIndex,\n type: \"signature\"\n };\n }\n}\nclass TextAnnotation extends MarkupAnnotation {\n constructor(params) {\n const DEFAULT_ICON_SIZE = 22;\n super(params);\n this.data.noRotate = true;\n this.data.hasOwnCanvas = this.data.noRotate;\n const {\n dict\n } = params;\n this.data.annotationType = _util.AnnotationType.TEXT;\n if (this.data.hasAppearance) {\n this.data.name = \"NoIcon\";\n } else {\n this.data.rect[1] = this.data.rect[3] - DEFAULT_ICON_SIZE;\n this.data.rect[2] = this.data.rect[0] + DEFAULT_ICON_SIZE;\n this.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n }\n if (dict.has(\"State\")) {\n this.data.state = dict.get(\"State\") || null;\n this.data.stateModel = dict.get(\"StateModel\") || null;\n } else {\n this.data.state = null;\n this.data.stateModel = null;\n }\n }\n}\nclass LinkAnnotation extends Annotation {\n constructor(params) {\n super(params);\n const {\n dict,\n annotationGlobals\n } = params;\n this.data.annotationType = _util.AnnotationType.LINK;\n const quadPoints = getQuadPoints(dict, this.rectangle);\n if (quadPoints) {\n this.data.quadPoints = quadPoints;\n }\n this.data.borderColor ||= this.data.color;\n _catalog.Catalog.parseDestDictionary({\n destDict: dict,\n resultObj: this.data,\n docBaseUrl: annotationGlobals.baseUrl,\n docAttachments: annotationGlobals.attachments\n });\n }\n}\nclass PopupAnnotation extends Annotation {\n constructor(params) {\n super(params);\n const {\n dict\n } = params;\n this.data.annotationType = _util.AnnotationType.POPUP;\n if (this.data.rect[0] === this.data.rect[2] || this.data.rect[1] === this.data.rect[3]) {\n this.data.rect = null;\n }\n let parentItem = dict.get(\"Parent\");\n if (!parentItem) {\n (0, _util.warn)(\"Popup annotation has a missing or invalid parent annotation.\");\n return;\n }\n const parentRect = parentItem.getArray(\"Rect\");\n this.data.parentRect = Array.isArray(parentRect) && parentRect.length === 4 ? _util.Util.normalizeRect(parentRect) : null;\n const rt = parentItem.get(\"RT\");\n if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {\n parentItem = parentItem.get(\"IRT\");\n }\n if (!parentItem.has(\"M\")) {\n this.data.modificationDate = null;\n } else {\n this.setModificationDate(parentItem.get(\"M\"));\n this.data.modificationDate = this.modificationDate;\n }\n if (!parentItem.has(\"C\")) {\n this.data.color = null;\n } else {\n this.setColor(parentItem.getArray(\"C\"));\n this.data.color = this.color;\n }\n if (!this.viewable) {\n const parentFlags = parentItem.get(\"F\");\n if (this._isViewable(parentFlags)) {\n this.setFlags(parentFlags);\n }\n }\n this.setTitle(parentItem.get(\"T\"));\n this.data.titleObj = this._title;\n this.setContents(parentItem.get(\"Contents\"));\n this.data.contentsObj = this._contents;\n if (parentItem.has(\"RC\")) {\n this.data.richText = _factory.XFAFactory.getRichTextAsHtml(parentItem.get(\"RC\"));\n }\n this.data.open = !!dict.get(\"Open\");\n }\n}\nexports.PopupAnnotation = PopupAnnotation;\nclass FreeTextAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n this.data.hasOwnCanvas = true;\n const {\n evaluatorOptions,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.FREETEXT;\n this.setDefaultAppearance(params);\n if (this.appearance) {\n const {\n fontColor,\n fontSize\n } = (0, _default_appearance.parseAppearanceStream)(this.appearance, evaluatorOptions, xref);\n this.data.defaultAppearanceData.fontColor = fontColor;\n this.data.defaultAppearanceData.fontSize = fontSize || 10;\n } else if (this._isOffscreenCanvasSupported) {\n const strokeAlpha = params.dict.get(\"CA\");\n const fakeUnicodeFont = new _default_appearance.FakeUnicodeFont(xref, \"sans-serif\");\n this.data.defaultAppearanceData.fontSize ||= 10;\n const {\n fontColor,\n fontSize\n } = this.data.defaultAppearanceData;\n this.appearance = fakeUnicodeFont.createAppearance(this._contents.str, this.rectangle, this.rotation, fontSize, fontColor, strokeAlpha);\n this._streams.push(this.appearance, _default_appearance.FakeUnicodeFont.toUnicodeStream);\n } else {\n (0, _util.warn)(\"FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.\");\n }\n }\n get hasTextContent() {\n return !!this.appearance;\n }\n static createNewDict(annotation, xref, {\n apRef,\n ap\n }) {\n const {\n color,\n fontSize,\n rect,\n rotation,\n user,\n value\n } = annotation;\n const freetext = new _primitives.Dict(xref);\n freetext.set(\"Type\", _primitives.Name.get(\"Annot\"));\n freetext.set(\"Subtype\", _primitives.Name.get(\"FreeText\"));\n freetext.set(\"CreationDate\", `D:${(0, _util.getModificationDate)()}`);\n freetext.set(\"Rect\", rect);\n const da = `/Helv ${fontSize} Tf ${(0, _default_appearance.getPdfColor)(color, true)}`;\n freetext.set(\"DA\", da);\n freetext.set(\"Contents\", (0, _core_utils.isAscii)(value) ? value : (0, _core_utils.stringToUTF16String)(value, true));\n freetext.set(\"F\", 4);\n freetext.set(\"Border\", [0, 0, 0]);\n freetext.set(\"Rotate\", rotation);\n if (user) {\n freetext.set(\"T\", (0, _core_utils.isAscii)(user) ? user : (0, _core_utils.stringToUTF16String)(user, true));\n }\n if (apRef || ap) {\n const n = new _primitives.Dict(xref);\n freetext.set(\"AP\", n);\n if (apRef) {\n n.set(\"N\", apRef);\n } else {\n n.set(\"N\", ap);\n }\n }\n return freetext;\n }\n static async createNewAppearanceStream(annotation, xref, params) {\n const {\n baseFontRef,\n evaluator,\n task\n } = params;\n const {\n color,\n fontSize,\n rect,\n rotation,\n value\n } = annotation;\n const resources = new _primitives.Dict(xref);\n const font = new _primitives.Dict(xref);\n if (baseFontRef) {\n font.set(\"Helv\", baseFontRef);\n } else {\n const baseFont = new _primitives.Dict(xref);\n baseFont.set(\"BaseFont\", _primitives.Name.get(\"Helvetica\"));\n baseFont.set(\"Type\", _primitives.Name.get(\"Font\"));\n baseFont.set(\"Subtype\", _primitives.Name.get(\"Type1\"));\n baseFont.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n font.set(\"Helv\", baseFont);\n }\n resources.set(\"Font\", font);\n const helv = await WidgetAnnotation._getFontData(evaluator, task, {\n fontName: \"Helv\",\n fontSize\n }, resources);\n const [x1, y1, x2, y2] = rect;\n let w = x2 - x1;\n let h = y2 - y1;\n if (rotation % 180 !== 0) {\n [w, h] = [h, w];\n }\n const lines = value.split(\"\\n\");\n const scale = fontSize / 1000;\n let totalWidth = -Infinity;\n const encodedLines = [];\n for (let line of lines) {\n const encoded = helv.encodeString(line);\n if (encoded.length > 1) {\n return null;\n }\n line = encoded.join(\"\");\n encodedLines.push(line);\n let lineWidth = 0;\n const glyphs = helv.charsToGlyphs(line);\n for (const glyph of glyphs) {\n lineWidth += glyph.width * scale;\n }\n totalWidth = Math.max(totalWidth, lineWidth);\n }\n let hscale = 1;\n if (totalWidth > w) {\n hscale = w / totalWidth;\n }\n let vscale = 1;\n const lineHeight = _util.LINE_FACTOR * fontSize;\n const lineAscent = (_util.LINE_FACTOR - _util.LINE_DESCENT_FACTOR) * fontSize;\n const totalHeight = lineHeight * lines.length;\n if (totalHeight > h) {\n vscale = h / totalHeight;\n }\n const fscale = Math.min(hscale, vscale);\n const newFontSize = fontSize * fscale;\n let firstPoint, clipBox, matrix;\n switch (rotation) {\n case 0:\n matrix = [1, 0, 0, 1];\n clipBox = [rect[0], rect[1], w, h];\n firstPoint = [rect[0], rect[3] - lineAscent];\n break;\n case 90:\n matrix = [0, 1, -1, 0];\n clipBox = [rect[1], -rect[2], w, h];\n firstPoint = [rect[1], -rect[0] - lineAscent];\n break;\n case 180:\n matrix = [-1, 0, 0, -1];\n clipBox = [-rect[2], -rect[3], w, h];\n firstPoint = [-rect[2], -rect[1] - lineAscent];\n break;\n case 270:\n matrix = [0, -1, 1, 0];\n clipBox = [-rect[3], rect[0], w, h];\n firstPoint = [-rect[3], rect[2] - lineAscent];\n break;\n }\n const buffer = [\"q\", `${matrix.join(\" \")} 0 0 cm`, `${clipBox.join(\" \")} re W n`, `BT`, `${(0, _default_appearance.getPdfColor)(color, true)}`, `0 Tc /Helv ${(0, _core_utils.numberToString)(newFontSize)} Tf`];\n buffer.push(`${firstPoint.join(\" \")} Td (${(0, _core_utils.escapeString)(encodedLines[0])}) Tj`);\n const vShift = (0, _core_utils.numberToString)(lineHeight);\n for (let i = 1, ii = encodedLines.length; i < ii; i++) {\n const line = encodedLines[i];\n buffer.push(`0 -${vShift} Td (${(0, _core_utils.escapeString)(line)}) Tj`);\n }\n buffer.push(\"ET\", \"Q\");\n const appearance = buffer.join(\"\\n\");\n const appearanceStreamDict = new _primitives.Dict(xref);\n appearanceStreamDict.set(\"FormType\", 1);\n appearanceStreamDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceStreamDict.set(\"Type\", _primitives.Name.get(\"XObject\"));\n appearanceStreamDict.set(\"BBox\", rect);\n appearanceStreamDict.set(\"Resources\", resources);\n appearanceStreamDict.set(\"Matrix\", [1, 0, 0, 1, -rect[0], -rect[1]]);\n const ap = new _stream.StringStream(appearance);\n ap.dict = appearanceStreamDict;\n return ap;\n }\n}\nclass LineAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.LINE;\n this.data.hasOwnCanvas = this.data.noRotate;\n const lineCoordinates = dict.getArray(\"L\");\n this.data.lineCoordinates = _util.Util.normalizeRect(lineCoordinates);\n this.setLineEndings(dict.getArray(\"LE\"));\n this.data.lineEndings = this.lineEndings;\n if (!this.appearance) {\n const strokeColor = this.color ? getPdfColorArray(this.color) : [0, 0, 0];\n const strokeAlpha = dict.get(\"CA\");\n const interiorColor = getRgbColor(dict.getArray(\"IC\"), null);\n const fillColor = interiorColor ? getPdfColorArray(interiorColor) : null;\n const fillAlpha = fillColor ? strokeAlpha : null;\n const borderWidth = this.borderStyle.width || 1,\n borderAdjust = 2 * borderWidth;\n const bbox = [this.data.lineCoordinates[0] - borderAdjust, this.data.lineCoordinates[1] - borderAdjust, this.data.lineCoordinates[2] + borderAdjust, this.data.lineCoordinates[3] + borderAdjust];\n if (!_util.Util.intersect(this.rectangle, bbox)) {\n this.rectangle = bbox;\n }\n this._setDefaultAppearance({\n xref,\n extra: `${borderWidth} w`,\n strokeColor,\n fillColor,\n strokeAlpha,\n fillAlpha,\n pointsCallback: (buffer, points) => {\n buffer.push(`${lineCoordinates[0]} ${lineCoordinates[1]} m`, `${lineCoordinates[2]} ${lineCoordinates[3]} l`, \"S\");\n return [points[0].x - borderWidth, points[1].x + borderWidth, points[3].y - borderWidth, points[1].y + borderWidth];\n }\n });\n }\n }\n}\nclass SquareAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.SQUARE;\n this.data.hasOwnCanvas = this.data.noRotate;\n if (!this.appearance) {\n const strokeColor = this.color ? getPdfColorArray(this.color) : [0, 0, 0];\n const strokeAlpha = dict.get(\"CA\");\n const interiorColor = getRgbColor(dict.getArray(\"IC\"), null);\n const fillColor = interiorColor ? getPdfColorArray(interiorColor) : null;\n const fillAlpha = fillColor ? strokeAlpha : null;\n if (this.borderStyle.width === 0 && !fillColor) {\n return;\n }\n this._setDefaultAppearance({\n xref,\n extra: `${this.borderStyle.width} w`,\n strokeColor,\n fillColor,\n strokeAlpha,\n fillAlpha,\n pointsCallback: (buffer, points) => {\n const x = points[2].x + this.borderStyle.width / 2;\n const y = points[2].y + this.borderStyle.width / 2;\n const width = points[3].x - points[2].x - this.borderStyle.width;\n const height = points[1].y - points[3].y - this.borderStyle.width;\n buffer.push(`${x} ${y} ${width} ${height} re`);\n if (fillColor) {\n buffer.push(\"B\");\n } else {\n buffer.push(\"S\");\n }\n return [points[0].x, points[1].x, points[3].y, points[1].y];\n }\n });\n }\n }\n}\nclass CircleAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.CIRCLE;\n if (!this.appearance) {\n const strokeColor = this.color ? getPdfColorArray(this.color) : [0, 0, 0];\n const strokeAlpha = dict.get(\"CA\");\n const interiorColor = getRgbColor(dict.getArray(\"IC\"), null);\n const fillColor = interiorColor ? getPdfColorArray(interiorColor) : null;\n const fillAlpha = fillColor ? strokeAlpha : null;\n if (this.borderStyle.width === 0 && !fillColor) {\n return;\n }\n const controlPointsDistance = 4 / 3 * Math.tan(Math.PI / (2 * 4));\n this._setDefaultAppearance({\n xref,\n extra: `${this.borderStyle.width} w`,\n strokeColor,\n fillColor,\n strokeAlpha,\n fillAlpha,\n pointsCallback: (buffer, points) => {\n const x0 = points[0].x + this.borderStyle.width / 2;\n const y0 = points[0].y - this.borderStyle.width / 2;\n const x1 = points[3].x - this.borderStyle.width / 2;\n const y1 = points[3].y + this.borderStyle.width / 2;\n const xMid = x0 + (x1 - x0) / 2;\n const yMid = y0 + (y1 - y0) / 2;\n const xOffset = (x1 - x0) / 2 * controlPointsDistance;\n const yOffset = (y1 - y0) / 2 * controlPointsDistance;\n buffer.push(`${xMid} ${y1} m`, `${xMid + xOffset} ${y1} ${x1} ${yMid + yOffset} ${x1} ${yMid} c`, `${x1} ${yMid - yOffset} ${xMid + xOffset} ${y0} ${xMid} ${y0} c`, `${xMid - xOffset} ${y0} ${x0} ${yMid - yOffset} ${x0} ${yMid} c`, `${x0} ${yMid + yOffset} ${xMid - xOffset} ${y1} ${xMid} ${y1} c`, \"h\");\n if (fillColor) {\n buffer.push(\"B\");\n } else {\n buffer.push(\"S\");\n }\n return [points[0].x, points[1].x, points[3].y, points[1].y];\n }\n });\n }\n }\n}\nclass PolylineAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.POLYLINE;\n this.data.hasOwnCanvas = this.data.noRotate;\n this.data.vertices = [];\n if (!(this instanceof PolygonAnnotation)) {\n this.setLineEndings(dict.getArray(\"LE\"));\n this.data.lineEndings = this.lineEndings;\n }\n const rawVertices = dict.getArray(\"Vertices\");\n if (!Array.isArray(rawVertices)) {\n return;\n }\n for (let i = 0, ii = rawVertices.length; i < ii; i += 2) {\n this.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n if (!this.appearance) {\n const strokeColor = this.color ? getPdfColorArray(this.color) : [0, 0, 0];\n const strokeAlpha = dict.get(\"CA\");\n const borderWidth = this.borderStyle.width || 1,\n borderAdjust = 2 * borderWidth;\n const bbox = [Infinity, Infinity, -Infinity, -Infinity];\n for (const vertex of this.data.vertices) {\n bbox[0] = Math.min(bbox[0], vertex.x - borderAdjust);\n bbox[1] = Math.min(bbox[1], vertex.y - borderAdjust);\n bbox[2] = Math.max(bbox[2], vertex.x + borderAdjust);\n bbox[3] = Math.max(bbox[3], vertex.y + borderAdjust);\n }\n if (!_util.Util.intersect(this.rectangle, bbox)) {\n this.rectangle = bbox;\n }\n this._setDefaultAppearance({\n xref,\n extra: `${borderWidth} w`,\n strokeColor,\n strokeAlpha,\n pointsCallback: (buffer, points) => {\n const vertices = this.data.vertices;\n for (let i = 0, ii = vertices.length; i < ii; i++) {\n buffer.push(`${vertices[i].x} ${vertices[i].y} ${i === 0 ? \"m\" : \"l\"}`);\n }\n buffer.push(\"S\");\n return [points[0].x, points[1].x, points[3].y, points[1].y];\n }\n });\n }\n }\n}\nclass PolygonAnnotation extends PolylineAnnotation {\n constructor(params) {\n super(params);\n this.data.annotationType = _util.AnnotationType.POLYGON;\n }\n}\nclass CaretAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n this.data.annotationType = _util.AnnotationType.CARET;\n }\n}\nclass InkAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n this.data.hasOwnCanvas = this.data.noRotate;\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.INK;\n this.data.inkLists = [];\n const rawInkLists = dict.getArray(\"InkList\");\n if (!Array.isArray(rawInkLists)) {\n return;\n }\n for (let i = 0, ii = rawInkLists.length; i < ii; ++i) {\n this.data.inkLists.push([]);\n for (let j = 0, jj = rawInkLists[i].length; j < jj; j += 2) {\n this.data.inkLists[i].push({\n x: xref.fetchIfRef(rawInkLists[i][j]),\n y: xref.fetchIfRef(rawInkLists[i][j + 1])\n });\n }\n }\n if (!this.appearance) {\n const strokeColor = this.color ? getPdfColorArray(this.color) : [0, 0, 0];\n const strokeAlpha = dict.get(\"CA\");\n const borderWidth = this.borderStyle.width || 1,\n borderAdjust = 2 * borderWidth;\n const bbox = [Infinity, Infinity, -Infinity, -Infinity];\n for (const inkLists of this.data.inkLists) {\n for (const vertex of inkLists) {\n bbox[0] = Math.min(bbox[0], vertex.x - borderAdjust);\n bbox[1] = Math.min(bbox[1], vertex.y - borderAdjust);\n bbox[2] = Math.max(bbox[2], vertex.x + borderAdjust);\n bbox[3] = Math.max(bbox[3], vertex.y + borderAdjust);\n }\n }\n if (!_util.Util.intersect(this.rectangle, bbox)) {\n this.rectangle = bbox;\n }\n this._setDefaultAppearance({\n xref,\n extra: `${borderWidth} w`,\n strokeColor,\n strokeAlpha,\n pointsCallback: (buffer, points) => {\n for (const inkList of this.data.inkLists) {\n for (let i = 0, ii = inkList.length; i < ii; i++) {\n buffer.push(`${inkList[i].x} ${inkList[i].y} ${i === 0 ? \"m\" : \"l\"}`);\n }\n buffer.push(\"S\");\n }\n return [points[0].x, points[1].x, points[3].y, points[1].y];\n }\n });\n }\n }\n static createNewDict(annotation, xref, {\n apRef,\n ap\n }) {\n const {\n color,\n opacity,\n paths,\n rect,\n rotation,\n thickness\n } = annotation;\n const ink = new _primitives.Dict(xref);\n ink.set(\"Type\", _primitives.Name.get(\"Annot\"));\n ink.set(\"Subtype\", _primitives.Name.get(\"Ink\"));\n ink.set(\"CreationDate\", `D:${(0, _util.getModificationDate)()}`);\n ink.set(\"Rect\", rect);\n ink.set(\"InkList\", paths.map(p => p.points));\n ink.set(\"F\", 4);\n ink.set(\"Rotate\", rotation);\n const bs = new _primitives.Dict(xref);\n ink.set(\"BS\", bs);\n bs.set(\"W\", thickness);\n ink.set(\"C\", Array.from(color, c => c / 255));\n ink.set(\"CA\", opacity);\n const n = new _primitives.Dict(xref);\n ink.set(\"AP\", n);\n if (apRef) {\n n.set(\"N\", apRef);\n } else {\n n.set(\"N\", ap);\n }\n return ink;\n }\n static async createNewAppearanceStream(annotation, xref, params) {\n const {\n color,\n rect,\n paths,\n thickness,\n opacity\n } = annotation;\n const appearanceBuffer = [`${thickness} w 1 J 1 j`, `${(0, _default_appearance.getPdfColor)(color, false)}`];\n if (opacity !== 1) {\n appearanceBuffer.push(\"/R0 gs\");\n }\n const buffer = [];\n for (const {\n bezier\n } of paths) {\n buffer.length = 0;\n buffer.push(`${(0, _core_utils.numberToString)(bezier[0])} ${(0, _core_utils.numberToString)(bezier[1])} m`);\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const curve = bezier.slice(i, i + 6).map(_core_utils.numberToString).join(\" \");\n buffer.push(`${curve} c`);\n }\n buffer.push(\"S\");\n appearanceBuffer.push(buffer.join(\"\\n\"));\n }\n const appearance = appearanceBuffer.join(\"\\n\");\n const appearanceStreamDict = new _primitives.Dict(xref);\n appearanceStreamDict.set(\"FormType\", 1);\n appearanceStreamDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceStreamDict.set(\"Type\", _primitives.Name.get(\"XObject\"));\n appearanceStreamDict.set(\"BBox\", rect);\n appearanceStreamDict.set(\"Length\", appearance.length);\n if (opacity !== 1) {\n const resources = new _primitives.Dict(xref);\n const extGState = new _primitives.Dict(xref);\n const r0 = new _primitives.Dict(xref);\n r0.set(\"CA\", opacity);\n r0.set(\"Type\", _primitives.Name.get(\"ExtGState\"));\n extGState.set(\"R0\", r0);\n resources.set(\"ExtGState\", extGState);\n appearanceStreamDict.set(\"Resources\", resources);\n }\n const ap = new _stream.StringStream(appearance);\n ap.dict = appearanceStreamDict;\n return ap;\n }\n}\nclass HighlightAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n const quadPoints = this.data.quadPoints = getQuadPoints(dict, null);\n if (quadPoints) {\n const resources = this.appearance?.dict.get(\"Resources\");\n if (!this.appearance || !resources?.has(\"ExtGState\")) {\n if (this.appearance) {\n (0, _util.warn)(\"HighlightAnnotation - ignoring built-in appearance stream.\");\n }\n const fillColor = this.color ? getPdfColorArray(this.color) : [1, 1, 0];\n const fillAlpha = dict.get(\"CA\");\n this._setDefaultAppearance({\n xref,\n fillColor,\n blendMode: \"Multiply\",\n fillAlpha,\n pointsCallback: (buffer, points) => {\n buffer.push(`${points[0].x} ${points[0].y} m`, `${points[1].x} ${points[1].y} l`, `${points[3].x} ${points[3].y} l`, `${points[2].x} ${points[2].y} l`, \"f\");\n return [points[0].x, points[1].x, points[3].y, points[1].y];\n }\n });\n }\n } else {\n this.data.popupRef = null;\n }\n }\n}\nclass UnderlineAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.UNDERLINE;\n const quadPoints = this.data.quadPoints = getQuadPoints(dict, null);\n if (quadPoints) {\n if (!this.appearance) {\n const strokeColor = this.color ? getPdfColorArray(this.color) : [0, 0, 0];\n const strokeAlpha = dict.get(\"CA\");\n this._setDefaultAppearance({\n xref,\n extra: \"[] 0 d 0.571 w\",\n strokeColor,\n strokeAlpha,\n pointsCallback: (buffer, points) => {\n buffer.push(`${points[2].x} ${points[2].y + 1.3} m`, `${points[3].x} ${points[3].y + 1.3} l`, \"S\");\n return [points[0].x, points[1].x, points[3].y, points[1].y];\n }\n });\n }\n } else {\n this.data.popupRef = null;\n }\n }\n}\nclass SquigglyAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.SQUIGGLY;\n const quadPoints = this.data.quadPoints = getQuadPoints(dict, null);\n if (quadPoints) {\n if (!this.appearance) {\n const strokeColor = this.color ? getPdfColorArray(this.color) : [0, 0, 0];\n const strokeAlpha = dict.get(\"CA\");\n this._setDefaultAppearance({\n xref,\n extra: \"[] 0 d 1 w\",\n strokeColor,\n strokeAlpha,\n pointsCallback: (buffer, points) => {\n const dy = (points[0].y - points[2].y) / 6;\n let shift = dy;\n let x = points[2].x;\n const y = points[2].y;\n const xEnd = points[3].x;\n buffer.push(`${x} ${y + shift} m`);\n do {\n x += 2;\n shift = shift === 0 ? dy : 0;\n buffer.push(`${x} ${y + shift} l`);\n } while (x < xEnd);\n buffer.push(\"S\");\n return [points[2].x, xEnd, y - 2 * dy, y + 2 * dy];\n }\n });\n }\n } else {\n this.data.popupRef = null;\n }\n }\n}\nclass StrikeOutAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n this.data.annotationType = _util.AnnotationType.STRIKEOUT;\n const quadPoints = this.data.quadPoints = getQuadPoints(dict, null);\n if (quadPoints) {\n if (!this.appearance) {\n const strokeColor = this.color ? getPdfColorArray(this.color) : [0, 0, 0];\n const strokeAlpha = dict.get(\"CA\");\n this._setDefaultAppearance({\n xref,\n extra: \"[] 0 d 1 w\",\n strokeColor,\n strokeAlpha,\n pointsCallback: (buffer, points) => {\n buffer.push(`${(points[0].x + points[2].x) / 2} ` + `${(points[0].y + points[2].y) / 2} m`, `${(points[1].x + points[3].x) / 2} ` + `${(points[1].y + points[3].y) / 2} l`, \"S\");\n return [points[0].x, points[1].x, points[3].y, points[1].y];\n }\n });\n }\n } else {\n this.data.popupRef = null;\n }\n }\n}\nclass StampAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n this.data.annotationType = _util.AnnotationType.STAMP;\n this.data.hasOwnCanvas = this.data.noRotate;\n }\n static async createImage(bitmap, xref) {\n const {\n width,\n height\n } = bitmap;\n const canvas = new OffscreenCanvas(width, height);\n const ctx = canvas.getContext(\"2d\", {\n alpha: true\n });\n ctx.drawImage(bitmap, 0, 0);\n const data = ctx.getImageData(0, 0, width, height).data;\n const buf32 = new Uint32Array(data.buffer);\n const hasAlpha = buf32.some(_util.FeatureTest.isLittleEndian ? x => x >>> 24 !== 0xff : x => (x & 0xff) !== 0xff);\n if (hasAlpha) {\n ctx.fillStyle = \"white\";\n ctx.fillRect(0, 0, width, height);\n ctx.drawImage(bitmap, 0, 0);\n }\n const jpegBufferPromise = canvas.convertToBlob({\n type: \"image/jpeg\",\n quality: 1\n }).then(blob => {\n return blob.arrayBuffer();\n });\n const xobjectName = _primitives.Name.get(\"XObject\");\n const imageName = _primitives.Name.get(\"Image\");\n const image = new _primitives.Dict(xref);\n image.set(\"Type\", xobjectName);\n image.set(\"Subtype\", imageName);\n image.set(\"BitsPerComponent\", 8);\n image.set(\"ColorSpace\", _primitives.Name.get(\"DeviceRGB\"));\n image.set(\"Filter\", _primitives.Name.get(\"DCTDecode\"));\n image.set(\"BBox\", [0, 0, width, height]);\n image.set(\"Width\", width);\n image.set(\"Height\", height);\n let smaskStream = null;\n if (hasAlpha) {\n const alphaBuffer = new Uint8Array(buf32.length);\n if (_util.FeatureTest.isLittleEndian) {\n for (let i = 0, ii = buf32.length; i < ii; i++) {\n alphaBuffer[i] = buf32[i] >>> 24;\n }\n } else {\n for (let i = 0, ii = buf32.length; i < ii; i++) {\n alphaBuffer[i] = buf32[i] & 0xff;\n }\n }\n const smask = new _primitives.Dict(xref);\n smask.set(\"Type\", xobjectName);\n smask.set(\"Subtype\", imageName);\n smask.set(\"BitsPerComponent\", 8);\n smask.set(\"ColorSpace\", _primitives.Name.get(\"DeviceGray\"));\n smask.set(\"Width\", width);\n smask.set(\"Height\", height);\n smaskStream = new _stream.Stream(alphaBuffer, 0, 0, smask);\n }\n const imageStream = new _stream.Stream(await jpegBufferPromise, 0, 0, image);\n return {\n imageStream,\n smaskStream,\n width,\n height\n };\n }\n static createNewDict(annotation, xref, {\n apRef,\n ap\n }) {\n const {\n rect,\n rotation,\n user\n } = annotation;\n const stamp = new _primitives.Dict(xref);\n stamp.set(\"Type\", _primitives.Name.get(\"Annot\"));\n stamp.set(\"Subtype\", _primitives.Name.get(\"Stamp\"));\n stamp.set(\"CreationDate\", `D:${(0, _util.getModificationDate)()}`);\n stamp.set(\"Rect\", rect);\n stamp.set(\"F\", 4);\n stamp.set(\"Border\", [0, 0, 0]);\n stamp.set(\"Rotate\", rotation);\n if (user) {\n stamp.set(\"T\", (0, _core_utils.isAscii)(user) ? user : (0, _core_utils.stringToUTF16String)(user, true));\n }\n if (apRef || ap) {\n const n = new _primitives.Dict(xref);\n stamp.set(\"AP\", n);\n if (apRef) {\n n.set(\"N\", apRef);\n } else {\n n.set(\"N\", ap);\n }\n }\n return stamp;\n }\n static async createNewAppearanceStream(annotation, xref, params) {\n const {\n rotation\n } = annotation;\n const {\n imageRef,\n width,\n height\n } = params.image;\n const resources = new _primitives.Dict(xref);\n const xobject = new _primitives.Dict(xref);\n resources.set(\"XObject\", xobject);\n xobject.set(\"Im0\", imageRef);\n const appearance = `q ${width} 0 0 ${height} 0 0 cm /Im0 Do Q`;\n const appearanceStreamDict = new _primitives.Dict(xref);\n appearanceStreamDict.set(\"FormType\", 1);\n appearanceStreamDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceStreamDict.set(\"Type\", _primitives.Name.get(\"XObject\"));\n appearanceStreamDict.set(\"BBox\", [0, 0, width, height]);\n appearanceStreamDict.set(\"Resources\", resources);\n if (rotation) {\n const matrix = (0, _core_utils.getRotationMatrix)(rotation, width, height);\n appearanceStreamDict.set(\"Matrix\", matrix);\n }\n const ap = new _stream.StringStream(appearance);\n ap.dict = appearanceStreamDict;\n return ap;\n }\n}\nclass FileAttachmentAnnotation extends MarkupAnnotation {\n constructor(params) {\n super(params);\n const {\n dict,\n xref\n } = params;\n const file = new _file_spec.FileSpec(dict.get(\"FS\"), xref);\n this.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n this.data.hasOwnCanvas = this.data.noRotate;\n this.data.file = file.serializable;\n const name = dict.get(\"Name\");\n this.data.name = name instanceof _primitives.Name ? (0, _util.stringToPDFString)(name.name) : \"PushPin\";\n const fillAlpha = dict.get(\"ca\");\n this.data.fillAlpha = typeof fillAlpha === \"number\" && fillAlpha >= 0 && fillAlpha <= 1 ? fillAlpha : null;\n }\n}\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FakeUnicodeFont = void 0;\nexports.createDefaultAppearance = createDefaultAppearance;\nexports.getPdfColor = getPdfColor;\nexports.parseAppearanceStream = parseAppearanceStream;\nexports.parseDefaultAppearance = parseDefaultAppearance;\nvar _primitives = __w_pdfjs_require__(4);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _util = __w_pdfjs_require__(2);\nvar _colorspace = __w_pdfjs_require__(12);\nvar _evaluator = __w_pdfjs_require__(13);\nvar _image_utils = __w_pdfjs_require__(59);\nvar _function = __w_pdfjs_require__(57);\nvar _stream = __w_pdfjs_require__(8);\nclass DefaultAppearanceEvaluator extends _evaluator.EvaluatorPreprocessor {\n constructor(str) {\n super(new _stream.StringStream(str));\n }\n parse() {\n const operation = {\n fn: 0,\n args: []\n };\n const result = {\n fontSize: 0,\n fontName: \"\",\n fontColor: new Uint8ClampedArray(3)\n };\n try {\n while (true) {\n operation.args.length = 0;\n if (!this.read(operation)) {\n break;\n }\n if (this.savedStatesDepth !== 0) {\n continue;\n }\n const {\n fn,\n args\n } = operation;\n switch (fn | 0) {\n case _util.OPS.setFont:\n const [fontName, fontSize] = args;\n if (fontName instanceof _primitives.Name) {\n result.fontName = fontName.name;\n }\n if (typeof fontSize === \"number\" && fontSize > 0) {\n result.fontSize = fontSize;\n }\n break;\n case _util.OPS.setFillRGBColor:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(args, 0, result.fontColor, 0);\n break;\n case _util.OPS.setFillGray:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(args, 0, result.fontColor, 0);\n break;\n case _util.OPS.setFillCMYKColor:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(args, 0, result.fontColor, 0);\n break;\n }\n }\n } catch (reason) {\n (0, _util.warn)(`parseDefaultAppearance - ignoring errors: \"${reason}\".`);\n }\n return result;\n }\n}\nfunction parseDefaultAppearance(str) {\n return new DefaultAppearanceEvaluator(str).parse();\n}\nclass AppearanceStreamEvaluator extends _evaluator.EvaluatorPreprocessor {\n constructor(stream, evaluatorOptions, xref) {\n super(stream);\n this.stream = stream;\n this.evaluatorOptions = evaluatorOptions;\n this.xref = xref;\n this.resources = stream.dict?.get(\"Resources\");\n }\n parse() {\n const operation = {\n fn: 0,\n args: []\n };\n let result = {\n scaleFactor: 1,\n fontSize: 0,\n fontName: \"\",\n fontColor: new Uint8ClampedArray(3),\n fillColorSpace: _colorspace.ColorSpace.singletons.gray\n };\n let breakLoop = false;\n const stack = [];\n try {\n while (true) {\n operation.args.length = 0;\n if (breakLoop || !this.read(operation)) {\n break;\n }\n const {\n fn,\n args\n } = operation;\n switch (fn | 0) {\n case _util.OPS.save:\n stack.push({\n scaleFactor: result.scaleFactor,\n fontSize: result.fontSize,\n fontName: result.fontName,\n fontColor: result.fontColor.slice(),\n fillColorSpace: result.fillColorSpace\n });\n break;\n case _util.OPS.restore:\n result = stack.pop() || result;\n break;\n case _util.OPS.setTextMatrix:\n result.scaleFactor *= Math.hypot(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n const [fontName, fontSize] = args;\n if (fontName instanceof _primitives.Name) {\n result.fontName = fontName.name;\n }\n if (typeof fontSize === \"number\" && fontSize > 0) {\n result.fontSize = fontSize * result.scaleFactor;\n }\n break;\n case _util.OPS.setFillColorSpace:\n result.fillColorSpace = _colorspace.ColorSpace.parse({\n cs: args[0],\n xref: this.xref,\n resources: this.resources,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache: this._localColorSpaceCache\n });\n break;\n case _util.OPS.setFillColor:\n const cs = result.fillColorSpace;\n cs.getRgbItem(args, 0, result.fontColor, 0);\n break;\n case _util.OPS.setFillRGBColor:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(args, 0, result.fontColor, 0);\n break;\n case _util.OPS.setFillGray:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(args, 0, result.fontColor, 0);\n break;\n case _util.OPS.setFillCMYKColor:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(args, 0, result.fontColor, 0);\n break;\n case _util.OPS.showText:\n case _util.OPS.showSpacedText:\n case _util.OPS.nextLineShowText:\n case _util.OPS.nextLineSetSpacingShowText:\n breakLoop = true;\n break;\n }\n }\n } catch (reason) {\n (0, _util.warn)(`parseAppearanceStream - ignoring errors: \"${reason}\".`);\n }\n this.stream.reset();\n delete result.scaleFactor;\n delete result.fillColorSpace;\n return result;\n }\n get _localColorSpaceCache() {\n return (0, _util.shadow)(this, \"_localColorSpaceCache\", new _image_utils.LocalColorSpaceCache());\n }\n get _pdfFunctionFactory() {\n const pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: this.evaluatorOptions.isEvalSupported\n });\n return (0, _util.shadow)(this, \"_pdfFunctionFactory\", pdfFunctionFactory);\n }\n}\nfunction parseAppearanceStream(stream, evaluatorOptions, xref) {\n return new AppearanceStreamEvaluator(stream, evaluatorOptions, xref).parse();\n}\nfunction getPdfColor(color, isFill) {\n if (color[0] === color[1] && color[1] === color[2]) {\n const gray = color[0] / 255;\n return `${(0, _core_utils.numberToString)(gray)} ${isFill ? \"g\" : \"G\"}`;\n }\n return Array.from(color, c => (0, _core_utils.numberToString)(c / 255)).join(\" \") + ` ${isFill ? \"rg\" : \"RG\"}`;\n}\nfunction createDefaultAppearance({\n fontSize,\n fontName,\n fontColor\n}) {\n return `/${(0, _core_utils.escapePDFName)(fontName)} ${fontSize} Tf ${getPdfColor(fontColor, true)}`;\n}\nclass FakeUnicodeFont {\n constructor(xref, fontFamily) {\n this.xref = xref;\n this.widths = null;\n this.firstChar = Infinity;\n this.lastChar = -Infinity;\n this.fontFamily = fontFamily;\n const canvas = new OffscreenCanvas(1, 1);\n this.ctxMeasure = canvas.getContext(\"2d\");\n if (!FakeUnicodeFont._fontNameId) {\n FakeUnicodeFont._fontNameId = 1;\n }\n this.fontName = _primitives.Name.get(`InvalidPDFjsFont_${fontFamily}_${FakeUnicodeFont._fontNameId++}`);\n }\n get toUnicodeRef() {\n if (!FakeUnicodeFont._toUnicodeRef) {\n const toUnicode = `/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo\n<< /Registry (Adobe)\n/Ordering (UCS) /Supplement 0 >> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000> \nendcodespacerange\n1 beginbfrange\n<0000> <0000>\nendbfrange\nendcmap CMapName currentdict /CMap defineresource pop end end`;\n const toUnicodeStream = FakeUnicodeFont.toUnicodeStream = new _stream.StringStream(toUnicode);\n const toUnicodeDict = new _primitives.Dict(this.xref);\n toUnicodeStream.dict = toUnicodeDict;\n toUnicodeDict.set(\"Length\", toUnicode.length);\n FakeUnicodeFont._toUnicodeRef = this.xref.getNewPersistentRef(toUnicodeStream);\n }\n return FakeUnicodeFont._toUnicodeRef;\n }\n get fontDescriptorRef() {\n if (!FakeUnicodeFont._fontDescriptorRef) {\n const fontDescriptor = new _primitives.Dict(this.xref);\n fontDescriptor.set(\"Type\", _primitives.Name.get(\"FontDescriptor\"));\n fontDescriptor.set(\"FontName\", this.fontName);\n fontDescriptor.set(\"FontFamily\", \"MyriadPro Regular\");\n fontDescriptor.set(\"FontBBox\", [0, 0, 0, 0]);\n fontDescriptor.set(\"FontStretch\", _primitives.Name.get(\"Normal\"));\n fontDescriptor.set(\"FontWeight\", 400);\n fontDescriptor.set(\"ItalicAngle\", 0);\n FakeUnicodeFont._fontDescriptorRef = this.xref.getNewPersistentRef(fontDescriptor);\n }\n return FakeUnicodeFont._fontDescriptorRef;\n }\n get descendantFontRef() {\n const descendantFont = new _primitives.Dict(this.xref);\n descendantFont.set(\"BaseFont\", this.fontName);\n descendantFont.set(\"Type\", _primitives.Name.get(\"Font\"));\n descendantFont.set(\"Subtype\", _primitives.Name.get(\"CIDFontType0\"));\n descendantFont.set(\"CIDToGIDMap\", _primitives.Name.get(\"Identity\"));\n descendantFont.set(\"FirstChar\", this.firstChar);\n descendantFont.set(\"LastChar\", this.lastChar);\n descendantFont.set(\"FontDescriptor\", this.fontDescriptorRef);\n descendantFont.set(\"DW\", 1000);\n const widths = [];\n const chars = [...this.widths.entries()].sort();\n let currentChar = null;\n let currentWidths = null;\n for (const [char, width] of chars) {\n if (!currentChar) {\n currentChar = char;\n currentWidths = [width];\n continue;\n }\n if (char === currentChar + currentWidths.length) {\n currentWidths.push(width);\n } else {\n widths.push(currentChar, currentWidths);\n currentChar = char;\n currentWidths = [width];\n }\n }\n if (currentChar) {\n widths.push(currentChar, currentWidths);\n }\n descendantFont.set(\"W\", widths);\n const cidSystemInfo = new _primitives.Dict(this.xref);\n cidSystemInfo.set(\"Ordering\", \"Identity\");\n cidSystemInfo.set(\"Registry\", \"Adobe\");\n cidSystemInfo.set(\"Supplement\", 0);\n descendantFont.set(\"CIDSystemInfo\", cidSystemInfo);\n return this.xref.getNewPersistentRef(descendantFont);\n }\n get baseFontRef() {\n const baseFont = new _primitives.Dict(this.xref);\n baseFont.set(\"BaseFont\", this.fontName);\n baseFont.set(\"Type\", _primitives.Name.get(\"Font\"));\n baseFont.set(\"Subtype\", _primitives.Name.get(\"Type0\"));\n baseFont.set(\"Encoding\", _primitives.Name.get(\"Identity-H\"));\n baseFont.set(\"DescendantFonts\", [this.descendantFontRef]);\n baseFont.set(\"ToUnicode\", this.toUnicodeRef);\n return this.xref.getNewPersistentRef(baseFont);\n }\n get resources() {\n const resources = new _primitives.Dict(this.xref);\n const font = new _primitives.Dict(this.xref);\n font.set(this.fontName.name, this.baseFontRef);\n resources.set(\"Font\", font);\n return resources;\n }\n _createContext() {\n this.widths = new Map();\n this.ctxMeasure.font = `1000px ${this.fontFamily}`;\n return this.ctxMeasure;\n }\n createFontResources(text) {\n const ctx = this._createContext();\n for (const line of text.split(/\\r\\n?|\\n/)) {\n for (const char of line.split(\"\")) {\n const code = char.charCodeAt(0);\n if (this.widths.has(code)) {\n continue;\n }\n const metrics = ctx.measureText(char);\n const width = Math.ceil(metrics.width);\n this.widths.set(code, width);\n this.firstChar = Math.min(code, this.firstChar);\n this.lastChar = Math.max(code, this.lastChar);\n }\n }\n return this.resources;\n }\n createAppearance(text, rect, rotation, fontSize, bgColor, strokeAlpha) {\n const ctx = this._createContext();\n const lines = [];\n let maxWidth = -Infinity;\n for (const line of text.split(/\\r\\n?|\\n/)) {\n lines.push(line);\n const lineWidth = ctx.measureText(line).width;\n maxWidth = Math.max(maxWidth, lineWidth);\n for (const char of line.split(\"\")) {\n const code = char.charCodeAt(0);\n let width = this.widths.get(code);\n if (width === undefined) {\n const metrics = ctx.measureText(char);\n width = Math.ceil(metrics.width);\n this.widths.set(code, width);\n this.firstChar = Math.min(code, this.firstChar);\n this.lastChar = Math.max(code, this.lastChar);\n }\n }\n }\n maxWidth *= fontSize / 1000;\n const [x1, y1, x2, y2] = rect;\n let w = x2 - x1;\n let h = y2 - y1;\n if (rotation % 180 !== 0) {\n [w, h] = [h, w];\n }\n let hscale = 1;\n if (maxWidth > w) {\n hscale = w / maxWidth;\n }\n let vscale = 1;\n const lineHeight = _util.LINE_FACTOR * fontSize;\n const lineDescent = _util.LINE_DESCENT_FACTOR * fontSize;\n const maxHeight = lineHeight * lines.length;\n if (maxHeight > h) {\n vscale = h / maxHeight;\n }\n const fscale = Math.min(hscale, vscale);\n const newFontSize = fontSize * fscale;\n const buffer = [\"q\", `0 0 ${(0, _core_utils.numberToString)(w)} ${(0, _core_utils.numberToString)(h)} re W n`, `BT`, `1 0 0 1 0 ${(0, _core_utils.numberToString)(h + lineDescent)} Tm 0 Tc ${getPdfColor(bgColor, true)}`, `/${this.fontName.name} ${(0, _core_utils.numberToString)(newFontSize)} Tf`];\n const {\n resources\n } = this;\n strokeAlpha = typeof strokeAlpha === \"number\" && strokeAlpha >= 0 && strokeAlpha <= 1 ? strokeAlpha : 1;\n if (strokeAlpha !== 1) {\n buffer.push(\"/R0 gs\");\n const extGState = new _primitives.Dict(this.xref);\n const r0 = new _primitives.Dict(this.xref);\n r0.set(\"ca\", strokeAlpha);\n r0.set(\"CA\", strokeAlpha);\n r0.set(\"Type\", _primitives.Name.get(\"ExtGState\"));\n extGState.set(\"R0\", r0);\n resources.set(\"ExtGState\", extGState);\n }\n const vShift = (0, _core_utils.numberToString)(lineHeight);\n for (const line of lines) {\n buffer.push(`0 -${vShift} Td <${(0, _core_utils.stringToUTF16HexString)(line)}> Tj`);\n }\n buffer.push(\"ET\", \"Q\");\n const appearance = buffer.join(\"\\n\");\n const appearanceStreamDict = new _primitives.Dict(this.xref);\n appearanceStreamDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceStreamDict.set(\"Type\", _primitives.Name.get(\"XObject\"));\n appearanceStreamDict.set(\"BBox\", [0, 0, w, h]);\n appearanceStreamDict.set(\"Length\", appearance.length);\n appearanceStreamDict.set(\"Resources\", resources);\n if (rotation) {\n const matrix = (0, _core_utils.getRotationMatrix)(rotation, w, h);\n appearanceStreamDict.set(\"Matrix\", matrix);\n }\n const ap = new _stream.StringStream(appearance);\n ap.dict = appearanceStreamDict;\n return ap;\n }\n}\nexports.FakeUnicodeFont = FakeUnicodeFont;\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorSpace = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _core_utils = __w_pdfjs_require__(3);\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n const COMPONENTS = 3;\n alpha01 = alpha01 !== 1 ? 0 : alpha01;\n const xRatio = w1 / w2;\n const yRatio = h1 / h2;\n let newIndex = 0,\n oldIndex;\n const xScaled = new Uint16Array(w2);\n const w1Scanline = w1 * COMPONENTS;\n for (let i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n }\n for (let i = 0; i < h2; i++) {\n const py = Math.floor(i * yRatio) * w1Scanline;\n for (let j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n newIndex += alpha01;\n }\n }\n}\nclass ColorSpace {\n constructor(name, numComps) {\n if (this.constructor === ColorSpace) {\n (0, _util.unreachable)(\"Cannot initialize ColorSpace.\");\n }\n this.name = name;\n this.numComps = numComps;\n }\n getRgb(src, srcOffset) {\n const rgb = new Uint8ClampedArray(3);\n this.getRgbItem(src, srcOffset, rgb, 0);\n return rgb;\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getRgbItem\");\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getRgbBuffer\");\n }\n getOutputLength(inputLength, alpha01) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getOutputLength\");\n }\n isPassthrough(bits) {\n return false;\n }\n isDefaultDecode(decodeMap, bpc) {\n return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n }\n fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n const count = originalWidth * originalHeight;\n let rgbBuf = null;\n const numComponentColors = 1 << bpc;\n const needsResizing = originalHeight !== height || originalWidth !== width;\n if (this.isPassthrough(bpc)) {\n rgbBuf = comps;\n } else if (this.numComps === 1 && count > numComponentColors && this.name !== \"DeviceGray\" && this.name !== \"DeviceRGB\") {\n const allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n for (let i = 0; i < numComponentColors; i++) {\n allColors[i] = i;\n }\n const colorMap = new Uint8ClampedArray(numComponentColors * 3);\n this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n if (!needsResizing) {\n let destPos = 0;\n for (let i = 0; i < count; ++i) {\n const key = comps[i] * 3;\n dest[destPos++] = colorMap[key];\n dest[destPos++] = colorMap[key + 1];\n dest[destPos++] = colorMap[key + 2];\n destPos += alpha01;\n }\n } else {\n rgbBuf = new Uint8Array(count * 3);\n let rgbPos = 0;\n for (let i = 0; i < count; ++i) {\n const key = comps[i] * 3;\n rgbBuf[rgbPos++] = colorMap[key];\n rgbBuf[rgbPos++] = colorMap[key + 1];\n rgbBuf[rgbPos++] = colorMap[key + 2];\n }\n }\n } else if (!needsResizing) {\n this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n } else {\n rgbBuf = new Uint8ClampedArray(count * 3);\n this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n }\n if (rgbBuf) {\n if (needsResizing) {\n resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n } else {\n let destPos = 0,\n rgbPos = 0;\n for (let i = 0, ii = width * actualHeight; i < ii; i++) {\n dest[destPos++] = rgbBuf[rgbPos++];\n dest[destPos++] = rgbBuf[rgbPos++];\n dest[destPos++] = rgbBuf[rgbPos++];\n destPos += alpha01;\n }\n }\n }\n }\n get usesZeroToOneRange() {\n return (0, _util.shadow)(this, \"usesZeroToOneRange\", true);\n }\n static _cache(cacheKey, xref, localColorSpaceCache, parsedColorSpace) {\n if (!localColorSpaceCache) {\n throw new Error('ColorSpace._cache - expected \"localColorSpaceCache\" argument.');\n }\n if (!parsedColorSpace) {\n throw new Error('ColorSpace._cache - expected \"parsedColorSpace\" argument.');\n }\n let csName, csRef;\n if (cacheKey instanceof _primitives.Ref) {\n csRef = cacheKey;\n cacheKey = xref.fetch(cacheKey);\n }\n if (cacheKey instanceof _primitives.Name) {\n csName = cacheKey.name;\n }\n if (csName || csRef) {\n localColorSpaceCache.set(csName, csRef, parsedColorSpace);\n }\n }\n static getCached(cacheKey, xref, localColorSpaceCache) {\n if (!localColorSpaceCache) {\n throw new Error('ColorSpace.getCached - expected \"localColorSpaceCache\" argument.');\n }\n if (cacheKey instanceof _primitives.Ref) {\n const localColorSpace = localColorSpaceCache.getByRef(cacheKey);\n if (localColorSpace) {\n return localColorSpace;\n }\n try {\n cacheKey = xref.fetch(cacheKey);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n }\n if (cacheKey instanceof _primitives.Name) {\n const localColorSpace = localColorSpaceCache.getByName(cacheKey.name);\n if (localColorSpace) {\n return localColorSpace;\n }\n }\n return null;\n }\n static async parseAsync({\n cs,\n xref,\n resources = null,\n pdfFunctionFactory,\n localColorSpaceCache\n }) {\n const parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n return parsedColorSpace;\n }\n static parse({\n cs,\n xref,\n resources = null,\n pdfFunctionFactory,\n localColorSpaceCache\n }) {\n const cachedColorSpace = this.getCached(cs, xref, localColorSpaceCache);\n if (cachedColorSpace) {\n return cachedColorSpace;\n }\n const parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n return parsedColorSpace;\n }\n static _parse(cs, xref, resources = null, pdfFunctionFactory) {\n cs = xref.fetchIfRef(cs);\n if (cs instanceof _primitives.Name) {\n switch (cs.name) {\n case \"G\":\n case \"DeviceGray\":\n return this.singletons.gray;\n case \"RGB\":\n case \"DeviceRGB\":\n return this.singletons.rgb;\n case \"CMYK\":\n case \"DeviceCMYK\":\n return this.singletons.cmyk;\n case \"Pattern\":\n return new PatternCS(null);\n default:\n if (resources instanceof _primitives.Dict) {\n const colorSpaces = resources.get(\"ColorSpace\");\n if (colorSpaces instanceof _primitives.Dict) {\n const resourcesCS = colorSpaces.get(cs.name);\n if (resourcesCS) {\n if (resourcesCS instanceof _primitives.Name) {\n return this._parse(resourcesCS, xref, resources, pdfFunctionFactory);\n }\n cs = resourcesCS;\n break;\n }\n }\n }\n throw new _util.FormatError(`Unrecognized ColorSpace: ${cs.name}`);\n }\n }\n if (Array.isArray(cs)) {\n const mode = xref.fetchIfRef(cs[0]).name;\n let params, numComps, baseCS, whitePoint, blackPoint, gamma;\n switch (mode) {\n case \"G\":\n case \"DeviceGray\":\n return this.singletons.gray;\n case \"RGB\":\n case \"DeviceRGB\":\n return this.singletons.rgb;\n case \"CMYK\":\n case \"DeviceCMYK\":\n return this.singletons.cmyk;\n case \"CalGray\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n gamma = params.get(\"Gamma\");\n return new CalGrayCS(whitePoint, blackPoint, gamma);\n case \"CalRGB\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n gamma = params.getArray(\"Gamma\");\n const matrix = params.getArray(\"Matrix\");\n return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n case \"ICCBased\":\n const stream = xref.fetchIfRef(cs[1]);\n const dict = stream.dict;\n numComps = dict.get(\"N\");\n const alt = dict.get(\"Alternate\");\n if (alt) {\n const altCS = this._parse(alt, xref, resources, pdfFunctionFactory);\n if (altCS.numComps === numComps) {\n return altCS;\n }\n (0, _util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n }\n if (numComps === 1) {\n return this.singletons.gray;\n } else if (numComps === 3) {\n return this.singletons.rgb;\n } else if (numComps === 4) {\n return this.singletons.cmyk;\n }\n break;\n case \"Pattern\":\n baseCS = cs[1] || null;\n if (baseCS) {\n baseCS = this._parse(baseCS, xref, resources, pdfFunctionFactory);\n }\n return new PatternCS(baseCS);\n case \"I\":\n case \"Indexed\":\n baseCS = this._parse(cs[1], xref, resources, pdfFunctionFactory);\n const hiVal = xref.fetchIfRef(cs[2]) + 1;\n const lookup = xref.fetchIfRef(cs[3]);\n return new IndexedCS(baseCS, hiVal, lookup);\n case \"Separation\":\n case \"DeviceN\":\n const name = xref.fetchIfRef(cs[1]);\n numComps = Array.isArray(name) ? name.length : 1;\n baseCS = this._parse(cs[2], xref, resources, pdfFunctionFactory);\n const tintFn = pdfFunctionFactory.create(cs[3]);\n return new AlternateCS(numComps, baseCS, tintFn);\n case \"Lab\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n const range = params.getArray(\"Range\");\n return new LabCS(whitePoint, blackPoint, range);\n default:\n throw new _util.FormatError(`Unimplemented ColorSpace object: ${mode}`);\n }\n }\n throw new _util.FormatError(`Unrecognized ColorSpace object: ${cs}`);\n }\n static isDefaultDecode(decode, numComps) {\n if (!Array.isArray(decode)) {\n return true;\n }\n if (numComps * 2 !== decode.length) {\n (0, _util.warn)(\"The decode map is not the correct length\");\n return true;\n }\n for (let i = 0, ii = decode.length; i < ii; i += 2) {\n if (decode[i] !== 0 || decode[i + 1] !== 1) {\n return false;\n }\n }\n return true;\n }\n static get singletons() {\n return (0, _util.shadow)(this, \"singletons\", {\n get gray() {\n return (0, _util.shadow)(this, \"gray\", new DeviceGrayCS());\n },\n get rgb() {\n return (0, _util.shadow)(this, \"rgb\", new DeviceRgbCS());\n },\n get cmyk() {\n return (0, _util.shadow)(this, \"cmyk\", new DeviceCmykCS());\n }\n });\n }\n}\nexports.ColorSpace = ColorSpace;\nclass AlternateCS extends ColorSpace {\n constructor(numComps, base, tintFn) {\n super(\"Alternate\", numComps);\n this.base = base;\n this.tintFn = tintFn;\n this.tmpBuf = new Float32Array(base.numComps);\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n const tmpBuf = this.tmpBuf;\n this.tintFn(src, srcOffset, tmpBuf, 0);\n this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const tintFn = this.tintFn;\n const base = this.base;\n const scale = 1 / ((1 << bits) - 1);\n const baseNumComps = base.numComps;\n const usesZeroToOneRange = base.usesZeroToOneRange;\n const isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n let pos = isPassthrough ? destOffset : 0;\n const baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n const numComps = this.numComps;\n const scaled = new Float32Array(numComps);\n const tinted = new Float32Array(baseNumComps);\n let i, j;\n for (i = 0; i < count; i++) {\n for (j = 0; j < numComps; j++) {\n scaled[j] = src[srcOffset++] * scale;\n }\n tintFn(scaled, 0, tinted, 0);\n if (usesZeroToOneRange) {\n for (j = 0; j < baseNumComps; j++) {\n baseBuf[pos++] = tinted[j] * 255;\n }\n } else {\n base.getRgbItem(tinted, 0, baseBuf, pos);\n pos += baseNumComps;\n }\n }\n if (!isPassthrough) {\n base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n }\n }\n getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n }\n}\nclass PatternCS extends ColorSpace {\n constructor(baseCS) {\n super(\"Pattern\", null);\n this.base = baseCS;\n }\n isDefaultDecode(decodeMap, bpc) {\n (0, _util.unreachable)(\"Should not call PatternCS.isDefaultDecode\");\n }\n}\nclass IndexedCS extends ColorSpace {\n constructor(base, highVal, lookup) {\n super(\"Indexed\", 1);\n this.base = base;\n this.highVal = highVal;\n const length = base.numComps * highVal;\n this.lookup = new Uint8Array(length);\n if (lookup instanceof _base_stream.BaseStream) {\n const bytes = lookup.getBytes(length);\n this.lookup.set(bytes);\n } else if (typeof lookup === \"string\") {\n for (let i = 0; i < length; ++i) {\n this.lookup[i] = lookup.charCodeAt(i) & 0xff;\n }\n } else {\n throw new _util.FormatError(`IndexedCS - unrecognized lookup table: ${lookup}`);\n }\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n const numComps = this.base.numComps;\n const start = src[srcOffset] * numComps;\n this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const base = this.base;\n const numComps = base.numComps;\n const outputDelta = base.getOutputLength(numComps, alpha01);\n const lookup = this.lookup;\n for (let i = 0; i < count; ++i) {\n const lookupPos = src[srcOffset++] * numComps;\n base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n destOffset += outputDelta;\n }\n }\n getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n }\n isDefaultDecode(decodeMap, bpc) {\n if (!Array.isArray(decodeMap)) {\n return true;\n }\n if (decodeMap.length !== 2) {\n (0, _util.warn)(\"Decode map length is not correct\");\n return true;\n }\n if (!Number.isInteger(bpc) || bpc < 1) {\n (0, _util.warn)(\"Bits per component is not correct\");\n return true;\n }\n return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n }\n}\nclass DeviceGrayCS extends ColorSpace {\n constructor() {\n super(\"DeviceGray\", 1);\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n const c = src[srcOffset] * 255;\n dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const scale = 255 / ((1 << bits) - 1);\n let j = srcOffset,\n q = destOffset;\n for (let i = 0; i < count; ++i) {\n const c = scale * src[j++];\n dest[q++] = c;\n dest[q++] = c;\n dest[q++] = c;\n q += alpha01;\n }\n }\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n}\nclass DeviceRgbCS extends ColorSpace {\n constructor() {\n super(\"DeviceRGB\", 3);\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n dest[destOffset] = src[srcOffset] * 255;\n dest[destOffset + 1] = src[srcOffset + 1] * 255;\n dest[destOffset + 2] = src[srcOffset + 2] * 255;\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n if (bits === 8 && alpha01 === 0) {\n dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n return;\n }\n const scale = 255 / ((1 << bits) - 1);\n let j = srcOffset,\n q = destOffset;\n for (let i = 0; i < count; ++i) {\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n q += alpha01;\n }\n }\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n isPassthrough(bits) {\n return bits === 8;\n }\n}\nclass DeviceCmykCS extends ColorSpace {\n constructor() {\n super(\"DeviceCMYK\", 4);\n }\n #toRgb(src, srcOffset, srcScale, dest, destOffset) {\n const c = src[srcOffset] * srcScale;\n const m = src[srcOffset + 1] * srcScale;\n const y = src[srcOffset + 2] * srcScale;\n const k = src[srcOffset + 3] * srcScale;\n dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n this.#toRgb(src, srcOffset, 1, dest, destOffset);\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const scale = 1 / ((1 << bits) - 1);\n for (let i = 0; i < count; i++) {\n this.#toRgb(src, srcOffset, scale, dest, destOffset);\n srcOffset += 4;\n destOffset += 3 + alpha01;\n }\n }\n getOutputLength(inputLength, alpha01) {\n return inputLength / 4 * (3 + alpha01) | 0;\n }\n}\nclass CalGrayCS extends ColorSpace {\n constructor(whitePoint, blackPoint, gamma) {\n super(\"CalGray\", 1);\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space CalGray\");\n }\n [this.XW, this.YW, this.ZW] = whitePoint;\n [this.XB, this.YB, this.ZB] = blackPoint || [0, 0, 0];\n this.G = gamma || 1;\n if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {\n throw new _util.FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);\n }\n if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {\n (0, _util.info)(`Invalid BlackPoint for ${this.name}, falling back to default.`);\n this.XB = this.YB = this.ZB = 0;\n }\n if (this.XB !== 0 || this.YB !== 0 || this.ZB !== 0) {\n (0, _util.warn)(`${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ` + `ZB: ${this.ZB}, only default values are supported.`);\n }\n if (this.G < 1) {\n (0, _util.info)(`Invalid Gamma: ${this.G} for ${this.name}, falling back to default.`);\n this.G = 1;\n }\n }\n #toRgb(src, srcOffset, dest, destOffset, scale) {\n const A = src[srcOffset] * scale;\n const AG = A ** this.G;\n const L = this.YW * AG;\n const val = Math.max(295.8 * L ** 0.3333333333333333 - 40.8, 0);\n dest[destOffset] = val;\n dest[destOffset + 1] = val;\n dest[destOffset + 2] = val;\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n this.#toRgb(src, srcOffset, dest, destOffset, 1);\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const scale = 1 / ((1 << bits) - 1);\n for (let i = 0; i < count; ++i) {\n this.#toRgb(src, srcOffset, dest, destOffset, scale);\n srcOffset += 1;\n destOffset += 3 + alpha01;\n }\n }\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n}\nclass CalRGBCS extends ColorSpace {\n static #BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n static #BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n static #SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n static #FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n static #tempNormalizeMatrix = new Float32Array(3);\n static #tempConvertMatrix1 = new Float32Array(3);\n static #tempConvertMatrix2 = new Float32Array(3);\n static #DECODE_L_CONSTANT = ((8 + 16) / 116) ** 3 / 8.0;\n constructor(whitePoint, blackPoint, gamma, matrix) {\n super(\"CalRGB\", 3);\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space CalRGB\");\n }\n const [XW, YW, ZW] = this.whitePoint = whitePoint;\n const [XB, YB, ZB] = this.blackPoint = blackPoint || new Float32Array(3);\n [this.GR, this.GG, this.GB] = gamma || new Float32Array([1, 1, 1]);\n [this.MXA, this.MYA, this.MZA, this.MXB, this.MYB, this.MZB, this.MXC, this.MYC, this.MZC] = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n if (XW < 0 || ZW < 0 || YW !== 1) {\n throw new _util.FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);\n }\n if (XB < 0 || YB < 0 || ZB < 0) {\n (0, _util.info)(`Invalid BlackPoint for ${this.name} [${XB}, ${YB}, ${ZB}], ` + \"falling back to default.\");\n this.blackPoint = new Float32Array(3);\n }\n if (this.GR < 0 || this.GG < 0 || this.GB < 0) {\n (0, _util.info)(`Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ` + `${this.name}, falling back to default.`);\n this.GR = this.GG = this.GB = 1;\n }\n }\n #matrixProduct(a, b, result) {\n result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n }\n #toFlat(sourceWhitePoint, LMS, result) {\n result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n }\n #toD65(sourceWhitePoint, LMS, result) {\n const D65X = 0.95047;\n const D65Y = 1;\n const D65Z = 1.08883;\n result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n }\n #sRGBTransferFunction(color) {\n if (color <= 0.0031308) {\n return this.#adjustToRange(0, 1, 12.92 * color);\n }\n if (color >= 0.99554525) {\n return 1;\n }\n return this.#adjustToRange(0, 1, (1 + 0.055) * color ** (1 / 2.4) - 0.055);\n }\n #adjustToRange(min, max, value) {\n return Math.max(min, Math.min(max, value));\n }\n #decodeL(L) {\n if (L < 0) {\n return -this.#decodeL(-L);\n }\n if (L > 8.0) {\n return ((L + 16) / 116) ** 3;\n }\n return L * CalRGBCS.#DECODE_L_CONSTANT;\n }\n #compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n result[0] = XYZ_Flat[0];\n result[1] = XYZ_Flat[1];\n result[2] = XYZ_Flat[2];\n return;\n }\n const zeroDecodeL = this.#decodeL(0);\n const X_DST = zeroDecodeL;\n const X_SRC = this.#decodeL(sourceBlackPoint[0]);\n const Y_DST = zeroDecodeL;\n const Y_SRC = this.#decodeL(sourceBlackPoint[1]);\n const Z_DST = zeroDecodeL;\n const Z_SRC = this.#decodeL(sourceBlackPoint[2]);\n const X_Scale = (1 - X_DST) / (1 - X_SRC);\n const X_Offset = 1 - X_Scale;\n const Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n const Y_Offset = 1 - Y_Scale;\n const Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n const Z_Offset = 1 - Z_Scale;\n result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n }\n #normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n result[0] = XYZ_In[0];\n result[1] = XYZ_In[1];\n result[2] = XYZ_In[2];\n return;\n }\n const LMS = result;\n this.#matrixProduct(CalRGBCS.#BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n const LMS_Flat = CalRGBCS.#tempNormalizeMatrix;\n this.#toFlat(sourceWhitePoint, LMS, LMS_Flat);\n this.#matrixProduct(CalRGBCS.#BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n }\n #normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n const LMS = result;\n this.#matrixProduct(CalRGBCS.#BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n const LMS_D65 = CalRGBCS.#tempNormalizeMatrix;\n this.#toD65(sourceWhitePoint, LMS, LMS_D65);\n this.#matrixProduct(CalRGBCS.#BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n }\n #toRgb(src, srcOffset, dest, destOffset, scale) {\n const A = this.#adjustToRange(0, 1, src[srcOffset] * scale);\n const B = this.#adjustToRange(0, 1, src[srcOffset + 1] * scale);\n const C = this.#adjustToRange(0, 1, src[srcOffset + 2] * scale);\n const AGR = A === 1 ? 1 : A ** this.GR;\n const BGG = B === 1 ? 1 : B ** this.GG;\n const CGB = C === 1 ? 1 : C ** this.GB;\n const X = this.MXA * AGR + this.MXB * BGG + this.MXC * CGB;\n const Y = this.MYA * AGR + this.MYB * BGG + this.MYC * CGB;\n const Z = this.MZA * AGR + this.MZB * BGG + this.MZC * CGB;\n const XYZ = CalRGBCS.#tempConvertMatrix1;\n XYZ[0] = X;\n XYZ[1] = Y;\n XYZ[2] = Z;\n const XYZ_Flat = CalRGBCS.#tempConvertMatrix2;\n this.#normalizeWhitePointToFlat(this.whitePoint, XYZ, XYZ_Flat);\n const XYZ_Black = CalRGBCS.#tempConvertMatrix1;\n this.#compensateBlackPoint(this.blackPoint, XYZ_Flat, XYZ_Black);\n const XYZ_D65 = CalRGBCS.#tempConvertMatrix2;\n this.#normalizeWhitePointToD65(CalRGBCS.#FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n const SRGB = CalRGBCS.#tempConvertMatrix1;\n this.#matrixProduct(CalRGBCS.#SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n dest[destOffset] = this.#sRGBTransferFunction(SRGB[0]) * 255;\n dest[destOffset + 1] = this.#sRGBTransferFunction(SRGB[1]) * 255;\n dest[destOffset + 2] = this.#sRGBTransferFunction(SRGB[2]) * 255;\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n this.#toRgb(src, srcOffset, dest, destOffset, 1);\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const scale = 1 / ((1 << bits) - 1);\n for (let i = 0; i < count; ++i) {\n this.#toRgb(src, srcOffset, dest, destOffset, scale);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n}\nclass LabCS extends ColorSpace {\n constructor(whitePoint, blackPoint, range) {\n super(\"Lab\", 3);\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space Lab\");\n }\n [this.XW, this.YW, this.ZW] = whitePoint;\n [this.amin, this.amax, this.bmin, this.bmax] = range || [-100, 100, -100, 100];\n [this.XB, this.YB, this.ZB] = blackPoint || [0, 0, 0];\n if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components, no fallback available\");\n }\n if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint, falling back to default\");\n this.XB = this.YB = this.ZB = 0;\n }\n if (this.amin > this.amax || this.bmin > this.bmax) {\n (0, _util.info)(\"Invalid Range, falling back to defaults\");\n this.amin = -100;\n this.amax = 100;\n this.bmin = -100;\n this.bmax = 100;\n }\n }\n #fn_g(x) {\n return x >= 6 / 29 ? x ** 3 : 108 / 841 * (x - 4 / 29);\n }\n #decode(value, high1, low2, high2) {\n return low2 + value * (high2 - low2) / high1;\n }\n #toRgb(src, srcOffset, maxVal, dest, destOffset) {\n let Ls = src[srcOffset];\n let as = src[srcOffset + 1];\n let bs = src[srcOffset + 2];\n if (maxVal !== false) {\n Ls = this.#decode(Ls, maxVal, 0, 100);\n as = this.#decode(as, maxVal, this.amin, this.amax);\n bs = this.#decode(bs, maxVal, this.bmin, this.bmax);\n }\n if (as > this.amax) {\n as = this.amax;\n } else if (as < this.amin) {\n as = this.amin;\n }\n if (bs > this.bmax) {\n bs = this.bmax;\n } else if (bs < this.bmin) {\n bs = this.bmin;\n }\n const M = (Ls + 16) / 116;\n const L = M + as / 500;\n const N = M - bs / 200;\n const X = this.XW * this.#fn_g(L);\n const Y = this.YW * this.#fn_g(M);\n const Z = this.ZW * this.#fn_g(N);\n let r, g, b;\n if (this.ZW < 1) {\n r = X * 3.1339 + Y * -1.617 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n b = X * 0.072 + Y * -0.229 + Z * 1.4057;\n } else {\n r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n b = X * 0.0557 + Y * -0.204 + Z * 1.057;\n }\n dest[destOffset] = Math.sqrt(r) * 255;\n dest[destOffset + 1] = Math.sqrt(g) * 255;\n dest[destOffset + 2] = Math.sqrt(b) * 255;\n }\n getRgbItem(src, srcOffset, dest, destOffset) {\n this.#toRgb(src, srcOffset, false, dest, destOffset);\n }\n getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n const maxVal = (1 << bits) - 1;\n for (let i = 0; i < count; i++) {\n this.#toRgb(src, srcOffset, maxVal, dest, destOffset);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n isDefaultDecode(decodeMap, bpc) {\n return true;\n }\n get usesZeroToOneRange() {\n return (0, _util.shadow)(this, \"usesZeroToOneRange\", false);\n }\n}\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PartialEvaluator = exports.EvaluatorPreprocessor = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _cmap = __w_pdfjs_require__(14);\nvar _primitives = __w_pdfjs_require__(4);\nvar _fonts = __w_pdfjs_require__(34);\nvar _encodings = __w_pdfjs_require__(37);\nvar _standard_fonts = __w_pdfjs_require__(41);\nvar _pattern = __w_pdfjs_require__(50);\nvar _xfa_fonts = __w_pdfjs_require__(51);\nvar _to_unicode_map = __w_pdfjs_require__(42);\nvar _function = __w_pdfjs_require__(57);\nvar _parser = __w_pdfjs_require__(16);\nvar _image_utils = __w_pdfjs_require__(59);\nvar _stream = __w_pdfjs_require__(8);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _bidi = __w_pdfjs_require__(60);\nvar _colorspace = __w_pdfjs_require__(12);\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _fonts_utils = __w_pdfjs_require__(38);\nvar _font_substitutions = __w_pdfjs_require__(61);\nvar _glyphlist = __w_pdfjs_require__(39);\nvar _metrics = __w_pdfjs_require__(45);\nvar _unicode = __w_pdfjs_require__(40);\nvar _image_resizer = __w_pdfjs_require__(62);\nvar _murmurhash = __w_pdfjs_require__(63);\nvar _operator_list = __w_pdfjs_require__(64);\nvar _image = __w_pdfjs_require__(65);\nconst DefaultPartialEvaluatorOptions = Object.freeze({\n maxImageSize: -1,\n disableFontFace: false,\n ignoreErrors: false,\n isEvalSupported: true,\n isOffscreenCanvasSupported: false,\n canvasMaxAreaInBytes: -1,\n fontExtraProperties: false,\n useSystemFonts: true,\n cMapUrl: null,\n standardFontDataUrl: null\n});\nconst PatternType = {\n TILING: 1,\n SHADING: 2\n};\nconst TEXT_CHUNK_BATCH_SIZE = 10;\nconst deferred = Promise.resolve();\nfunction normalizeBlendMode(value, parsingArray = false) {\n if (Array.isArray(value)) {\n for (const val of value) {\n const maybeBM = normalizeBlendMode(val, true);\n if (maybeBM) {\n return maybeBM;\n }\n }\n (0, _util.warn)(`Unsupported blend mode Array: ${value}`);\n return \"source-over\";\n }\n if (!(value instanceof _primitives.Name)) {\n if (parsingArray) {\n return null;\n }\n return \"source-over\";\n }\n switch (value.name) {\n case \"Normal\":\n case \"Compatible\":\n return \"source-over\";\n case \"Multiply\":\n return \"multiply\";\n case \"Screen\":\n return \"screen\";\n case \"Overlay\":\n return \"overlay\";\n case \"Darken\":\n return \"darken\";\n case \"Lighten\":\n return \"lighten\";\n case \"ColorDodge\":\n return \"color-dodge\";\n case \"ColorBurn\":\n return \"color-burn\";\n case \"HardLight\":\n return \"hard-light\";\n case \"SoftLight\":\n return \"soft-light\";\n case \"Difference\":\n return \"difference\";\n case \"Exclusion\":\n return \"exclusion\";\n case \"Hue\":\n return \"hue\";\n case \"Saturation\":\n return \"saturation\";\n case \"Color\":\n return \"color\";\n case \"Luminosity\":\n return \"luminosity\";\n }\n if (parsingArray) {\n return null;\n }\n (0, _util.warn)(`Unsupported blend mode: ${value.name}`);\n return \"source-over\";\n}\nfunction incrementCachedImageMaskCount(data) {\n if (data.fn === _util.OPS.paintImageMaskXObject && data.args[0]?.count > 0) {\n data.args[0].count++;\n }\n}\nclass TimeSlotManager {\n static TIME_SLOT_DURATION_MS = 20;\n static CHECK_TIME_EVERY = 100;\n constructor() {\n this.reset();\n }\n check() {\n if (++this.checked < TimeSlotManager.CHECK_TIME_EVERY) {\n return false;\n }\n this.checked = 0;\n return this.endTime <= Date.now();\n }\n reset() {\n this.endTime = Date.now() + TimeSlotManager.TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n}\nclass PartialEvaluator {\n constructor({\n xref,\n handler,\n pageIndex,\n idFactory,\n fontCache,\n builtInCMapCache,\n standardFontDataCache,\n globalImageCache,\n systemFontCache,\n options = null\n }) {\n this.xref = xref;\n this.handler = handler;\n this.pageIndex = pageIndex;\n this.idFactory = idFactory;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.standardFontDataCache = standardFontDataCache;\n this.globalImageCache = globalImageCache;\n this.systemFontCache = systemFontCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.parsingType3Font = false;\n this._regionalImageCache = new _image_utils.RegionalImageCache();\n this._fetchBuiltInCMapBound = this.fetchBuiltInCMap.bind(this);\n _image_resizer.ImageResizer.setMaxArea(this.options.canvasMaxAreaInBytes);\n }\n get _pdfFunctionFactory() {\n const pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: this.options.isEvalSupported\n });\n return (0, _util.shadow)(this, \"_pdfFunctionFactory\", pdfFunctionFactory);\n }\n clone(newOptions = null) {\n const newEvaluator = Object.create(this);\n newEvaluator.options = Object.assign(Object.create(null), this.options, newOptions);\n return newEvaluator;\n }\n hasBlendModes(resources, nonBlendModesSet) {\n if (!(resources instanceof _primitives.Dict)) {\n return false;\n }\n if (resources.objId && nonBlendModesSet.has(resources.objId)) {\n return false;\n }\n const processed = new _primitives.RefSet(nonBlendModesSet);\n if (resources.objId) {\n processed.put(resources.objId);\n }\n const nodes = [resources],\n xref = this.xref;\n while (nodes.length) {\n const node = nodes.shift();\n const graphicStates = node.get(\"ExtGState\");\n if (graphicStates instanceof _primitives.Dict) {\n for (let graphicState of graphicStates.getRawValues()) {\n if (graphicState instanceof _primitives.Ref) {\n if (processed.has(graphicState)) {\n continue;\n }\n try {\n graphicState = xref.fetch(graphicState);\n } catch (ex) {\n processed.put(graphicState);\n (0, _util.info)(`hasBlendModes - ignoring ExtGState: \"${ex}\".`);\n continue;\n }\n }\n if (!(graphicState instanceof _primitives.Dict)) {\n continue;\n }\n if (graphicState.objId) {\n processed.put(graphicState.objId);\n }\n const bm = graphicState.get(\"BM\");\n if (bm instanceof _primitives.Name) {\n if (bm.name !== \"Normal\") {\n return true;\n }\n continue;\n }\n if (bm !== undefined && Array.isArray(bm)) {\n for (const element of bm) {\n if (element instanceof _primitives.Name && element.name !== \"Normal\") {\n return true;\n }\n }\n }\n }\n }\n const xObjects = node.get(\"XObject\");\n if (!(xObjects instanceof _primitives.Dict)) {\n continue;\n }\n for (let xObject of xObjects.getRawValues()) {\n if (xObject instanceof _primitives.Ref) {\n if (processed.has(xObject)) {\n continue;\n }\n try {\n xObject = xref.fetch(xObject);\n } catch (ex) {\n processed.put(xObject);\n (0, _util.info)(`hasBlendModes - ignoring XObject: \"${ex}\".`);\n continue;\n }\n }\n if (!(xObject instanceof _base_stream.BaseStream)) {\n continue;\n }\n if (xObject.dict.objId) {\n processed.put(xObject.dict.objId);\n }\n const xResources = xObject.dict.get(\"Resources\");\n if (!(xResources instanceof _primitives.Dict)) {\n continue;\n }\n if (xResources.objId && processed.has(xResources.objId)) {\n continue;\n }\n nodes.push(xResources);\n if (xResources.objId) {\n processed.put(xResources.objId);\n }\n }\n }\n for (const ref of processed) {\n nonBlendModesSet.put(ref);\n }\n return false;\n }\n async fetchBuiltInCMap(name) {\n const cachedData = this.builtInCMapCache.get(name);\n if (cachedData) {\n return cachedData;\n }\n let data;\n if (this.options.cMapUrl !== null) {\n const url = `${this.options.cMapUrl}${name}.bcmap`;\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`fetchBuiltInCMap: failed to fetch file \"${url}\" with \"${response.statusText}\".`);\n }\n data = {\n cMapData: new Uint8Array(await response.arrayBuffer()),\n compressionType: _util.CMapCompressionType.BINARY\n };\n } else {\n data = await this.handler.sendWithPromise(\"FetchBuiltInCMap\", {\n name\n });\n }\n if (data.compressionType !== _util.CMapCompressionType.NONE) {\n this.builtInCMapCache.set(name, data);\n }\n return data;\n }\n async fetchStandardFontData(name) {\n const cachedData = this.standardFontDataCache.get(name);\n if (cachedData) {\n return new _stream.Stream(cachedData);\n }\n if (this.options.useSystemFonts && name !== \"Symbol\" && name !== \"ZapfDingbats\") {\n return null;\n }\n const standardFontNameToFileName = (0, _standard_fonts.getFontNameToFileMap)(),\n filename = standardFontNameToFileName[name];\n let data;\n if (this.options.standardFontDataUrl !== null) {\n const url = `${this.options.standardFontDataUrl}${filename}`;\n const response = await fetch(url);\n if (!response.ok) {\n (0, _util.warn)(`fetchStandardFontData: failed to fetch file \"${url}\" with \"${response.statusText}\".`);\n } else {\n data = await response.arrayBuffer();\n }\n } else {\n try {\n data = await this.handler.sendWithPromise(\"FetchStandardFontData\", {\n filename\n });\n } catch (e) {\n (0, _util.warn)(`fetchStandardFontData: failed to fetch file \"${filename}\" with \"${e}\".`);\n }\n }\n if (!data) {\n return null;\n }\n this.standardFontDataCache.set(name, data);\n return new _stream.Stream(data);\n }\n async buildFormXObject(resources, xobj, smask, operatorList, task, initialState, localColorSpaceCache) {\n const dict = xobj.dict;\n const matrix = dict.getArray(\"Matrix\");\n let bbox = dict.getArray(\"BBox\");\n bbox = Array.isArray(bbox) && bbox.length === 4 ? _util.Util.normalizeRect(bbox) : null;\n let optionalContent, groupOptions;\n if (dict.has(\"OC\")) {\n optionalContent = await this.parseMarkedContentProps(dict.get(\"OC\"), resources);\n }\n if (optionalContent !== undefined) {\n operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", optionalContent]);\n }\n const group = dict.get(\"Group\");\n if (group) {\n groupOptions = {\n matrix,\n bbox,\n smask,\n isolated: false,\n knockout: false\n };\n const groupSubtype = group.get(\"S\");\n let colorSpace = null;\n if ((0, _primitives.isName)(groupSubtype, \"Transparency\")) {\n groupOptions.isolated = group.get(\"I\") || false;\n groupOptions.knockout = group.get(\"K\") || false;\n if (group.has(\"CS\")) {\n const cs = group.getRaw(\"CS\");\n const cachedColorSpace = _colorspace.ColorSpace.getCached(cs, this.xref, localColorSpaceCache);\n if (cachedColorSpace) {\n colorSpace = cachedColorSpace;\n } else {\n colorSpace = await this.parseColorSpace({\n cs,\n resources,\n localColorSpaceCache\n });\n }\n }\n }\n if (smask?.backdrop) {\n colorSpace ||= _colorspace.ColorSpace.singletons.rgb;\n smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n }\n operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n }\n const args = group ? [matrix, null] : [matrix, bbox];\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, args);\n return this.getOperatorList({\n stream: xobj,\n task,\n resources: dict.get(\"Resources\") || resources,\n operatorList,\n initialState\n }).then(function () {\n operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n if (group) {\n operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n }\n if (optionalContent !== undefined) {\n operatorList.addOp(_util.OPS.endMarkedContent, []);\n }\n });\n }\n _sendImgData(objId, imgData, cacheGlobally = false) {\n const transfers = imgData ? [imgData.bitmap || imgData.data.buffer] : null;\n if (this.parsingType3Font || cacheGlobally) {\n return this.handler.send(\"commonobj\", [objId, \"Image\", imgData], transfers);\n }\n return this.handler.send(\"obj\", [objId, this.pageIndex, \"Image\", imgData], transfers);\n }\n async buildPaintImageXObject({\n resources,\n image,\n isInline = false,\n operatorList,\n cacheKey,\n localImageCache,\n localColorSpaceCache\n }) {\n const dict = image.dict;\n const imageRef = dict.objId;\n const w = dict.get(\"W\", \"Width\");\n const h = dict.get(\"H\", \"Height\");\n if (!(w && typeof w === \"number\") || !(h && typeof h === \"number\")) {\n (0, _util.warn)(\"Image dimensions are missing, or not numbers.\");\n return;\n }\n const maxImageSize = this.options.maxImageSize;\n if (maxImageSize !== -1 && w * h > maxImageSize) {\n const msg = \"Image exceeded maximum allowed size and was removed.\";\n if (this.options.ignoreErrors) {\n (0, _util.warn)(msg);\n return;\n }\n throw new Error(msg);\n }\n let optionalContent;\n if (dict.has(\"OC\")) {\n optionalContent = await this.parseMarkedContentProps(dict.get(\"OC\"), resources);\n }\n const imageMask = dict.get(\"IM\", \"ImageMask\") || false;\n let imgData, args;\n if (imageMask) {\n const interpolate = dict.get(\"I\", \"Interpolate\");\n const bitStrideLength = w + 7 >> 3;\n const imgArray = image.getBytes(bitStrideLength * h);\n const decode = dict.getArray(\"D\", \"Decode\");\n if (this.parsingType3Font) {\n imgData = _image.PDFImage.createRawMask({\n imgArray,\n width: w,\n height: h,\n imageIsFromDecodeStream: image instanceof _decode_stream.DecodeStream,\n inverseDecode: decode?.[0] > 0,\n interpolate\n });\n imgData.cached = !!cacheKey;\n args = [imgData];\n operatorList.addImageOps(_util.OPS.paintImageMaskXObject, args, optionalContent);\n if (cacheKey) {\n const cacheData = {\n fn: _util.OPS.paintImageMaskXObject,\n args,\n optionalContent\n };\n localImageCache.set(cacheKey, imageRef, cacheData);\n if (imageRef) {\n this._regionalImageCache.set(null, imageRef, cacheData);\n }\n }\n return;\n }\n imgData = await _image.PDFImage.createMask({\n imgArray,\n width: w,\n height: h,\n imageIsFromDecodeStream: image instanceof _decode_stream.DecodeStream,\n inverseDecode: decode?.[0] > 0,\n interpolate,\n isOffscreenCanvasSupported: this.options.isOffscreenCanvasSupported\n });\n if (imgData.isSingleOpaquePixel) {\n operatorList.addImageOps(_util.OPS.paintSolidColorImageMask, [], optionalContent);\n if (cacheKey) {\n const cacheData = {\n fn: _util.OPS.paintSolidColorImageMask,\n args: [],\n optionalContent\n };\n localImageCache.set(cacheKey, imageRef, cacheData);\n if (imageRef) {\n this._regionalImageCache.set(null, imageRef, cacheData);\n }\n }\n return;\n }\n const objId = `mask_${this.idFactory.createObjId()}`;\n operatorList.addDependency(objId);\n this._sendImgData(objId, imgData);\n args = [{\n data: objId,\n width: imgData.width,\n height: imgData.height,\n interpolate: imgData.interpolate,\n count: 1\n }];\n operatorList.addImageOps(_util.OPS.paintImageMaskXObject, args, optionalContent);\n if (cacheKey) {\n const cacheData = {\n fn: _util.OPS.paintImageMaskXObject,\n args,\n optionalContent\n };\n localImageCache.set(cacheKey, imageRef, cacheData);\n if (imageRef) {\n this._regionalImageCache.set(null, imageRef, cacheData);\n }\n }\n return;\n }\n const SMALL_IMAGE_DIMENSIONS = 200;\n if (isInline && !dict.has(\"SMask\") && !dict.has(\"Mask\") && w + h < SMALL_IMAGE_DIMENSIONS) {\n const imageObj = new _image.PDFImage({\n xref: this.xref,\n res: resources,\n image,\n isInline,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache\n });\n imgData = await imageObj.createImageData(true, false);\n operatorList.isOffscreenCanvasSupported = this.options.isOffscreenCanvasSupported;\n operatorList.addImageOps(_util.OPS.paintInlineImageXObject, [imgData], optionalContent);\n return;\n }\n let objId = `img_${this.idFactory.createObjId()}`,\n cacheGlobally = false;\n if (this.parsingType3Font) {\n objId = `${this.idFactory.getDocId()}_type3_${objId}`;\n } else if (imageRef) {\n cacheGlobally = this.globalImageCache.shouldCache(imageRef, this.pageIndex);\n if (cacheGlobally) {\n objId = `${this.idFactory.getDocId()}_${objId}`;\n }\n }\n operatorList.addDependency(objId);\n args = [objId, w, h];\n _image.PDFImage.buildImage({\n xref: this.xref,\n res: resources,\n image,\n isInline,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache\n }).then(async imageObj => {\n imgData = await imageObj.createImageData(false, this.options.isOffscreenCanvasSupported);\n if (cacheKey && imageRef && cacheGlobally) {\n const length = imgData.bitmap ? imgData.width * imgData.height * 4 : imgData.data.length;\n this.globalImageCache.addByteSize(imageRef, length);\n }\n return this._sendImgData(objId, imgData, cacheGlobally);\n }).catch(reason => {\n (0, _util.warn)(`Unable to decode image \"${objId}\": \"${reason}\".`);\n return this._sendImgData(objId, null, cacheGlobally);\n });\n operatorList.addImageOps(_util.OPS.paintImageXObject, args, optionalContent);\n if (cacheKey) {\n const cacheData = {\n fn: _util.OPS.paintImageXObject,\n args,\n optionalContent\n };\n localImageCache.set(cacheKey, imageRef, cacheData);\n if (imageRef) {\n this._regionalImageCache.set(null, imageRef, cacheData);\n if (cacheGlobally) {\n (0, _util.assert)(!isInline, \"Cannot cache an inline image globally.\");\n this.globalImageCache.setData(imageRef, {\n objId,\n fn: _util.OPS.paintImageXObject,\n args,\n optionalContent,\n byteSize: 0\n });\n }\n }\n }\n }\n handleSMask(smask, resources, operatorList, task, stateManager, localColorSpaceCache) {\n const smaskContent = smask.get(\"G\");\n const smaskOptions = {\n subtype: smask.get(\"S\").name,\n backdrop: smask.get(\"BC\")\n };\n const transferObj = smask.get(\"TR\");\n if ((0, _function.isPDFFunction)(transferObj)) {\n const transferFn = this._pdfFunctionFactory.create(transferObj);\n const transferMap = new Uint8Array(256);\n const tmp = new Float32Array(1);\n for (let i = 0; i < 256; i++) {\n tmp[0] = i / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[i] = tmp[0] * 255 | 0;\n }\n smaskOptions.transferMap = transferMap;\n }\n return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone(), localColorSpaceCache);\n }\n handleTransferFunction(tr) {\n let transferArray;\n if (Array.isArray(tr)) {\n transferArray = tr;\n } else if ((0, _function.isPDFFunction)(tr)) {\n transferArray = [tr];\n } else {\n return null;\n }\n const transferMaps = [];\n let numFns = 0,\n numEffectfulFns = 0;\n for (const entry of transferArray) {\n const transferObj = this.xref.fetchIfRef(entry);\n numFns++;\n if ((0, _primitives.isName)(transferObj, \"Identity\")) {\n transferMaps.push(null);\n continue;\n } else if (!(0, _function.isPDFFunction)(transferObj)) {\n return null;\n }\n const transferFn = this._pdfFunctionFactory.create(transferObj);\n const transferMap = new Uint8Array(256),\n tmp = new Float32Array(1);\n for (let j = 0; j < 256; j++) {\n tmp[0] = j / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[j] = tmp[0] * 255 | 0;\n }\n transferMaps.push(transferMap);\n numEffectfulFns++;\n }\n if (!(numFns === 1 || numFns === 4)) {\n return null;\n }\n if (numEffectfulFns === 0) {\n return null;\n }\n return transferMaps;\n }\n handleTilingType(fn, color, resources, pattern, patternDict, operatorList, task, localTilingPatternCache) {\n const tilingOpList = new _operator_list.OperatorList();\n const patternResources = _primitives.Dict.merge({\n xref: this.xref,\n dictArray: [patternDict.get(\"Resources\"), resources]\n });\n return this.getOperatorList({\n stream: pattern,\n task,\n resources: patternResources,\n operatorList: tilingOpList\n }).then(function () {\n const operatorListIR = tilingOpList.getIR();\n const tilingPatternIR = (0, _pattern.getTilingPatternIR)(operatorListIR, patternDict, color);\n operatorList.addDependencies(tilingOpList.dependencies);\n operatorList.addOp(fn, tilingPatternIR);\n if (patternDict.objId) {\n localTilingPatternCache.set(null, patternDict.objId, {\n operatorListIR,\n dict: patternDict\n });\n }\n }).catch(reason => {\n if (reason instanceof _util.AbortException) {\n return;\n }\n if (this.options.ignoreErrors) {\n (0, _util.warn)(`handleTilingType - ignoring pattern: \"${reason}\".`);\n return;\n }\n throw reason;\n });\n }\n handleSetFont(resources, fontArgs, fontRef, operatorList, task, state, fallbackFontDict = null, cssFontInfo = null) {\n const fontName = fontArgs?.[0] instanceof _primitives.Name ? fontArgs[0].name : null;\n return this.loadFont(fontName, fontRef, resources, fallbackFontDict, cssFontInfo).then(translated => {\n if (!translated.font.isType3Font) {\n return translated;\n }\n return translated.loadType3Data(this, resources, task).then(function () {\n operatorList.addDependencies(translated.type3Dependencies);\n return translated;\n }).catch(reason => {\n return new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(`Type3 font load error: ${reason}`),\n dict: translated.font,\n evaluatorOptions: this.options\n });\n });\n }).then(translated => {\n state.font = translated.font;\n translated.send(this.handler);\n return translated.loadedName;\n });\n }\n handleText(chars, state) {\n const font = state.font;\n const glyphs = font.charsToGlyphs(chars);\n if (font.data) {\n const isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n if (isAddToPathSet || state.fillColorSpace.name === \"Pattern\" || font.disableFontFace || this.options.disableFontFace) {\n PartialEvaluator.buildFontPaths(font, glyphs, this.handler, this.options);\n }\n }\n return glyphs;\n }\n ensureStateFont(state) {\n if (state.font) {\n return;\n }\n const reason = new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");\n if (this.options.ignoreErrors) {\n (0, _util.warn)(`ensureStateFont: \"${reason}\".`);\n return;\n }\n throw reason;\n }\n async setGState({\n resources,\n gState,\n operatorList,\n cacheKey,\n task,\n stateManager,\n localGStateCache,\n localColorSpaceCache\n }) {\n const gStateRef = gState.objId;\n let isSimpleGState = true;\n const gStateObj = [];\n let promise = Promise.resolve();\n for (const key of gState.getKeys()) {\n const value = gState.get(key);\n switch (key) {\n case \"Type\":\n break;\n case \"LW\":\n case \"LC\":\n case \"LJ\":\n case \"ML\":\n case \"D\":\n case \"RI\":\n case \"FL\":\n case \"CA\":\n case \"ca\":\n gStateObj.push([key, value]);\n break;\n case \"Font\":\n isSimpleGState = false;\n promise = promise.then(() => {\n return this.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n gStateObj.push([key, [loadedName, value[1]]]);\n });\n });\n break;\n case \"BM\":\n gStateObj.push([key, normalizeBlendMode(value)]);\n break;\n case \"SMask\":\n if ((0, _primitives.isName)(value, \"None\")) {\n gStateObj.push([key, false]);\n break;\n }\n if (value instanceof _primitives.Dict) {\n isSimpleGState = false;\n promise = promise.then(() => {\n return this.handleSMask(value, resources, operatorList, task, stateManager, localColorSpaceCache);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)(\"Unsupported SMask type\");\n }\n break;\n case \"TR\":\n const transferMaps = this.handleTransferFunction(value);\n gStateObj.push([key, transferMaps]);\n break;\n case \"OP\":\n case \"op\":\n case \"OPM\":\n case \"BG\":\n case \"BG2\":\n case \"UCR\":\n case \"UCR2\":\n case \"TR2\":\n case \"HT\":\n case \"SM\":\n case \"SA\":\n case \"AIS\":\n case \"TK\":\n (0, _util.info)(\"graphic state operator \" + key);\n break;\n default:\n (0, _util.info)(\"Unknown graphic state operator \" + key);\n break;\n }\n }\n return promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n if (isSimpleGState) {\n localGStateCache.set(cacheKey, gStateRef, gStateObj);\n }\n });\n }\n loadFont(fontName, font, resources, fallbackFontDict = null, cssFontInfo = null) {\n const errorFont = async () => {\n return new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(`Font \"${fontName}\" is not available.`),\n dict: font,\n evaluatorOptions: this.options\n });\n };\n let fontRef;\n if (font) {\n if (font instanceof _primitives.Ref) {\n fontRef = font;\n }\n } else {\n const fontRes = resources.get(\"Font\");\n if (fontRes) {\n fontRef = fontRes.getRaw(fontName);\n }\n }\n if (fontRef) {\n if (this.parsingType3Font && this.type3FontRefs.has(fontRef)) {\n return errorFont();\n }\n if (this.fontCache.has(fontRef)) {\n return this.fontCache.get(fontRef);\n }\n font = this.xref.fetchIfRef(fontRef);\n }\n if (!(font instanceof _primitives.Dict)) {\n if (!this.options.ignoreErrors && !this.parsingType3Font) {\n (0, _util.warn)(`Font \"${fontName}\" is not available.`);\n return errorFont();\n }\n (0, _util.warn)(`Font \"${fontName}\" is not available -- attempting to fallback to a default font.`);\n font = fallbackFontDict || PartialEvaluator.fallbackFontDict;\n }\n if (font.cacheKey && this.fontCache.has(font.cacheKey)) {\n return this.fontCache.get(font.cacheKey);\n }\n const fontCapability = new _util.PromiseCapability();\n let preEvaluatedFont;\n try {\n preEvaluatedFont = this.preEvaluateFont(font);\n preEvaluatedFont.cssFontInfo = cssFontInfo;\n } catch (reason) {\n (0, _util.warn)(`loadFont - preEvaluateFont failed: \"${reason}\".`);\n return errorFont();\n }\n const {\n descriptor,\n hash\n } = preEvaluatedFont;\n const fontRefIsRef = fontRef instanceof _primitives.Ref;\n let fontID;\n if (hash && descriptor instanceof _primitives.Dict) {\n const fontAliases = descriptor.fontAliases ||= Object.create(null);\n if (fontAliases[hash]) {\n const aliasFontRef = fontAliases[hash].aliasRef;\n if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n this.fontCache.putAlias(fontRef, aliasFontRef);\n return this.fontCache.get(fontRef);\n }\n } else {\n fontAliases[hash] = {\n fontID: this.idFactory.createFontId()\n };\n }\n if (fontRefIsRef) {\n fontAliases[hash].aliasRef = fontRef;\n }\n fontID = fontAliases[hash].fontID;\n } else {\n fontID = this.idFactory.createFontId();\n }\n (0, _util.assert)(fontID?.startsWith(\"f\"), 'The \"fontID\" must be (correctly) defined.');\n if (fontRefIsRef) {\n this.fontCache.put(fontRef, fontCapability.promise);\n } else {\n font.cacheKey = `cacheKey_${fontID}`;\n this.fontCache.put(font.cacheKey, fontCapability.promise);\n }\n font.loadedName = `${this.idFactory.getDocId()}_${fontID}`;\n this.translateFont(preEvaluatedFont).then(translatedFont => {\n fontCapability.resolve(new TranslatedFont({\n loadedName: font.loadedName,\n font: translatedFont,\n dict: font,\n evaluatorOptions: this.options\n }));\n }).catch(reason => {\n (0, _util.warn)(`loadFont - translateFont failed: \"${reason}\".`);\n fontCapability.resolve(new TranslatedFont({\n loadedName: font.loadedName,\n font: new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason),\n dict: font,\n evaluatorOptions: this.options\n }));\n });\n return fontCapability.promise;\n }\n buildPath(operatorList, fn, args, parsingText = false) {\n const lastIndex = operatorList.length - 1;\n if (!args) {\n args = [];\n }\n if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n if (parsingText) {\n (0, _util.warn)(`Encountered path operator \"${fn}\" inside of a text object.`);\n operatorList.addOp(_util.OPS.save, null);\n }\n let minMax;\n switch (fn) {\n case _util.OPS.rectangle:\n const x = args[0] + args[2];\n const y = args[1] + args[3];\n minMax = [Math.min(args[0], x), Math.max(args[0], x), Math.min(args[1], y), Math.max(args[1], y)];\n break;\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n minMax = [args[0], args[0], args[1], args[1]];\n break;\n default:\n minMax = [Infinity, -Infinity, Infinity, -Infinity];\n break;\n }\n operatorList.addOp(_util.OPS.constructPath, [[fn], args, minMax]);\n if (parsingText) {\n operatorList.addOp(_util.OPS.restore, null);\n }\n } else {\n const opArgs = operatorList.argsArray[lastIndex];\n opArgs[0].push(fn);\n opArgs[1].push(...args);\n const minMax = opArgs[2];\n switch (fn) {\n case _util.OPS.rectangle:\n const x = args[0] + args[2];\n const y = args[1] + args[3];\n minMax[0] = Math.min(minMax[0], args[0], x);\n minMax[1] = Math.max(minMax[1], args[0], x);\n minMax[2] = Math.min(minMax[2], args[1], y);\n minMax[3] = Math.max(minMax[3], args[1], y);\n break;\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n minMax[0] = Math.min(minMax[0], args[0]);\n minMax[1] = Math.max(minMax[1], args[0]);\n minMax[2] = Math.min(minMax[2], args[1]);\n minMax[3] = Math.max(minMax[3], args[1]);\n break;\n }\n }\n }\n parseColorSpace({\n cs,\n resources,\n localColorSpaceCache\n }) {\n return _colorspace.ColorSpace.parseAsync({\n cs,\n xref: this.xref,\n resources,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache\n }).catch(reason => {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n if (this.options.ignoreErrors) {\n (0, _util.warn)(`parseColorSpace - ignoring ColorSpace: \"${reason}\".`);\n return null;\n }\n throw reason;\n });\n }\n parseShading({\n shading,\n resources,\n localColorSpaceCache,\n localShadingPatternCache\n }) {\n let id = localShadingPatternCache.get(shading);\n if (!id) {\n var shadingFill = _pattern.Pattern.parseShading(shading, this.xref, resources, this._pdfFunctionFactory, localColorSpaceCache);\n const patternIR = shadingFill.getIR();\n id = `pattern_${this.idFactory.createObjId()}`;\n if (this.parsingType3Font) {\n id = `${this.idFactory.getDocId()}_type3_${id}`;\n }\n localShadingPatternCache.set(shading, id);\n if (this.parsingType3Font) {\n this.handler.send(\"commonobj\", [id, \"Pattern\", patternIR]);\n } else {\n this.handler.send(\"obj\", [id, this.pageIndex, \"Pattern\", patternIR]);\n }\n }\n return id;\n }\n handleColorN(operatorList, fn, args, cs, patterns, resources, task, localColorSpaceCache, localTilingPatternCache, localShadingPatternCache) {\n const patternName = args.pop();\n if (patternName instanceof _primitives.Name) {\n const rawPattern = patterns.getRaw(patternName.name);\n const localTilingPattern = rawPattern instanceof _primitives.Ref && localTilingPatternCache.getByRef(rawPattern);\n if (localTilingPattern) {\n try {\n const color = cs.base ? cs.base.getRgb(args, 0) : null;\n const tilingPatternIR = (0, _pattern.getTilingPatternIR)(localTilingPattern.operatorListIR, localTilingPattern.dict, color);\n operatorList.addOp(fn, tilingPatternIR);\n return undefined;\n } catch {}\n }\n const pattern = this.xref.fetchIfRef(rawPattern);\n if (pattern) {\n const dict = pattern instanceof _base_stream.BaseStream ? pattern.dict : pattern;\n const typeNum = dict.get(\"PatternType\");\n if (typeNum === PatternType.TILING) {\n const color = cs.base ? cs.base.getRgb(args, 0) : null;\n return this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task, localTilingPatternCache);\n } else if (typeNum === PatternType.SHADING) {\n const shading = dict.get(\"Shading\");\n const matrix = dict.getArray(\"Matrix\");\n const objId = this.parseShading({\n shading,\n resources,\n localColorSpaceCache,\n localShadingPatternCache\n });\n operatorList.addOp(fn, [\"Shading\", objId, matrix]);\n return undefined;\n }\n throw new _util.FormatError(`Unknown PatternType: ${typeNum}`);\n }\n }\n throw new _util.FormatError(`Unknown PatternName: ${patternName}`);\n }\n _parseVisibilityExpression(array, nestingCounter, currentResult) {\n const MAX_NESTING = 10;\n if (++nestingCounter > MAX_NESTING) {\n (0, _util.warn)(\"Visibility expression is too deeply nested\");\n return;\n }\n const length = array.length;\n const operator = this.xref.fetchIfRef(array[0]);\n if (length < 2 || !(operator instanceof _primitives.Name)) {\n (0, _util.warn)(\"Invalid visibility expression\");\n return;\n }\n switch (operator.name) {\n case \"And\":\n case \"Or\":\n case \"Not\":\n currentResult.push(operator.name);\n break;\n default:\n (0, _util.warn)(`Invalid operator ${operator.name} in visibility expression`);\n return;\n }\n for (let i = 1; i < length; i++) {\n const raw = array[i];\n const object = this.xref.fetchIfRef(raw);\n if (Array.isArray(object)) {\n const nestedResult = [];\n currentResult.push(nestedResult);\n this._parseVisibilityExpression(object, nestingCounter, nestedResult);\n } else if (raw instanceof _primitives.Ref) {\n currentResult.push(raw.toString());\n }\n }\n }\n async parseMarkedContentProps(contentProperties, resources) {\n let optionalContent;\n if (contentProperties instanceof _primitives.Name) {\n const properties = resources.get(\"Properties\");\n optionalContent = properties.get(contentProperties.name);\n } else if (contentProperties instanceof _primitives.Dict) {\n optionalContent = contentProperties;\n } else {\n throw new _util.FormatError(\"Optional content properties malformed.\");\n }\n const optionalContentType = optionalContent.get(\"Type\")?.name;\n if (optionalContentType === \"OCG\") {\n return {\n type: optionalContentType,\n id: optionalContent.objId\n };\n } else if (optionalContentType === \"OCMD\") {\n const expression = optionalContent.get(\"VE\");\n if (Array.isArray(expression)) {\n const result = [];\n this._parseVisibilityExpression(expression, 0, result);\n if (result.length > 0) {\n return {\n type: \"OCMD\",\n expression: result\n };\n }\n }\n const optionalContentGroups = optionalContent.get(\"OCGs\");\n if (Array.isArray(optionalContentGroups) || optionalContentGroups instanceof _primitives.Dict) {\n const groupIds = [];\n if (Array.isArray(optionalContentGroups)) {\n for (const ocg of optionalContentGroups) {\n groupIds.push(ocg.toString());\n }\n } else {\n groupIds.push(optionalContentGroups.objId);\n }\n return {\n type: optionalContentType,\n ids: groupIds,\n policy: optionalContent.get(\"P\") instanceof _primitives.Name ? optionalContent.get(\"P\").name : null,\n expression: null\n };\n } else if (optionalContentGroups instanceof _primitives.Ref) {\n return {\n type: optionalContentType,\n id: optionalContentGroups.toString()\n };\n }\n }\n return null;\n }\n getOperatorList({\n stream,\n task,\n resources,\n operatorList,\n initialState = null,\n fallbackFontDict = null\n }) {\n resources ||= _primitives.Dict.empty;\n initialState ||= new EvalState();\n if (!operatorList) {\n throw new Error('getOperatorList: missing \"operatorList\" parameter');\n }\n const self = this;\n const xref = this.xref;\n let parsingText = false;\n const localImageCache = new _image_utils.LocalImageCache();\n const localColorSpaceCache = new _image_utils.LocalColorSpaceCache();\n const localGStateCache = new _image_utils.LocalGStateCache();\n const localTilingPatternCache = new _image_utils.LocalTilingPatternCache();\n const localShadingPatternCache = new Map();\n const xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n const patterns = resources.get(\"Pattern\") || _primitives.Dict.empty;\n const stateManager = new StateManager(initialState);\n const preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n const timeSlotManager = new TimeSlotManager();\n function closePendingRestoreOPS(argument) {\n for (let i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n operatorList.addOp(_util.OPS.restore, []);\n }\n }\n return new Promise(function promiseBody(resolve, reject) {\n const next = function (promise) {\n Promise.all([promise, operatorList.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n task.ensureNotTerminated();\n timeSlotManager.reset();\n const operation = {};\n let stop, i, ii, cs, name, isValidName;\n while (!(stop = timeSlotManager.check())) {\n operation.args = null;\n if (!preprocessor.read(operation)) {\n break;\n }\n let args = operation.args;\n let fn = operation.fn;\n switch (fn | 0) {\n case _util.OPS.paintXObject:\n isValidName = args[0] instanceof _primitives.Name;\n name = args[0].name;\n if (isValidName) {\n const localImage = localImageCache.getByName(name);\n if (localImage) {\n operatorList.addImageOps(localImage.fn, localImage.args, localImage.optionalContent);\n incrementCachedImageMaskCount(localImage);\n args = null;\n continue;\n }\n }\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!isValidName) {\n throw new _util.FormatError(\"XObject must be referred to by name.\");\n }\n let xobj = xobjs.getRaw(name);\n if (xobj instanceof _primitives.Ref) {\n const localImage = localImageCache.getByRef(xobj) || self._regionalImageCache.getByRef(xobj);\n if (localImage) {\n operatorList.addImageOps(localImage.fn, localImage.args, localImage.optionalContent);\n incrementCachedImageMaskCount(localImage);\n resolveXObject();\n return;\n }\n const globalImage = self.globalImageCache.getData(xobj, self.pageIndex);\n if (globalImage) {\n operatorList.addDependency(globalImage.objId);\n operatorList.addImageOps(globalImage.fn, globalImage.args, globalImage.optionalContent);\n resolveXObject();\n return;\n }\n xobj = xref.fetch(xobj);\n }\n if (!(xobj instanceof _base_stream.BaseStream)) {\n throw new _util.FormatError(\"XObject should be a stream\");\n }\n const type = xobj.dict.get(\"Subtype\");\n if (!(type instanceof _primitives.Name)) {\n throw new _util.FormatError(\"XObject should have a Name subtype\");\n }\n if (type.name === \"Form\") {\n stateManager.save();\n self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone(), localColorSpaceCache).then(function () {\n stateManager.restore();\n resolveXObject();\n }, rejectXObject);\n return;\n } else if (type.name === \"Image\") {\n self.buildPaintImageXObject({\n resources,\n image: xobj,\n operatorList,\n cacheKey: name,\n localImageCache,\n localColorSpaceCache\n }).then(resolveXObject, rejectXObject);\n return;\n } else if (type.name === \"PS\") {\n (0, _util.info)(\"Ignored XObject subtype PS\");\n } else {\n throw new _util.FormatError(`Unhandled XObject subtype ${type.name}`);\n }\n resolveXObject();\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n if (self.options.ignoreErrors) {\n (0, _util.warn)(`getOperatorList - ignoring XObject: \"${reason}\".`);\n return;\n }\n throw reason;\n }));\n return;\n case _util.OPS.setFont:\n var fontSize = args[1];\n next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state, fallbackFontDict).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n }));\n return;\n case _util.OPS.beginText:\n parsingText = true;\n break;\n case _util.OPS.endText:\n parsingText = false;\n break;\n case _util.OPS.endInlineImage:\n var cacheKey = args[0].cacheKey;\n if (cacheKey) {\n const localImage = localImageCache.getByName(cacheKey);\n if (localImage) {\n operatorList.addImageOps(localImage.fn, localImage.args, localImage.optionalContent);\n incrementCachedImageMaskCount(localImage);\n args = null;\n continue;\n }\n }\n next(self.buildPaintImageXObject({\n resources,\n image: args[0],\n isInline: true,\n operatorList,\n cacheKey,\n localImageCache,\n localColorSpaceCache\n }));\n return;\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n var combinedGlyphs = [];\n var state = stateManager.state;\n for (const arrItem of args[0]) {\n if (typeof arrItem === \"string\") {\n combinedGlyphs.push(...self.handleText(arrItem, state));\n } else if (typeof arrItem === \"number\") {\n combinedGlyphs.push(arrItem);\n }\n }\n args[0] = combinedGlyphs;\n fn = _util.OPS.showText;\n break;\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n operatorList.addOp(_util.OPS.nextLine);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n operatorList.addOp(_util.OPS.nextLine);\n operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n case _util.OPS.setTextRenderingMode:\n stateManager.state.textRenderingMode = args[0];\n break;\n case _util.OPS.setFillColorSpace:\n {\n const cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n if (cachedColorSpace) {\n stateManager.state.fillColorSpace = cachedColorSpace;\n continue;\n }\n next(self.parseColorSpace({\n cs: args[0],\n resources,\n localColorSpaceCache\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.fillColorSpace = colorSpace;\n }\n }));\n return;\n }\n case _util.OPS.setStrokeColorSpace:\n {\n const cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n if (cachedColorSpace) {\n stateManager.state.strokeColorSpace = cachedColorSpace;\n continue;\n }\n next(self.parseColorSpace({\n cs: args[0],\n resources,\n localColorSpaceCache\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.strokeColorSpace = colorSpace;\n }\n }));\n return;\n }\n case _util.OPS.setFillColor:\n cs = stateManager.state.fillColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n case _util.OPS.setStrokeColor:\n cs = stateManager.state.strokeColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n case _util.OPS.setFillGray:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n case _util.OPS.setStrokeGray:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n case _util.OPS.setFillCMYKColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n case _util.OPS.setStrokeCMYKColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n case _util.OPS.setFillRGBColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n case _util.OPS.setStrokeRGBColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n case _util.OPS.setFillColorN:\n cs = stateManager.state.fillColorSpace;\n if (cs.name === \"Pattern\") {\n next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task, localColorSpaceCache, localTilingPatternCache, localShadingPatternCache));\n return;\n }\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n case _util.OPS.setStrokeColorN:\n cs = stateManager.state.strokeColorSpace;\n if (cs.name === \"Pattern\") {\n next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task, localColorSpaceCache, localTilingPatternCache, localShadingPatternCache));\n return;\n }\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n case _util.OPS.shadingFill:\n var shadingRes = resources.get(\"Shading\");\n if (!shadingRes) {\n throw new _util.FormatError(\"No shading resource found\");\n }\n var shading = shadingRes.get(args[0].name);\n if (!shading) {\n throw new _util.FormatError(\"No shading object found\");\n }\n const patternId = self.parseShading({\n shading,\n resources,\n localColorSpaceCache,\n localShadingPatternCache\n });\n args = [patternId];\n fn = _util.OPS.shadingFill;\n break;\n case _util.OPS.setGState:\n isValidName = args[0] instanceof _primitives.Name;\n name = args[0].name;\n if (isValidName) {\n const localGStateObj = localGStateCache.getByName(name);\n if (localGStateObj) {\n if (localGStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [localGStateObj]);\n }\n args = null;\n continue;\n }\n }\n next(new Promise(function (resolveGState, rejectGState) {\n if (!isValidName) {\n throw new _util.FormatError(\"GState must be referred to by name.\");\n }\n const extGState = resources.get(\"ExtGState\");\n if (!(extGState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n }\n const gState = extGState.get(name);\n if (!(gState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"GState should be a dictionary.\");\n }\n self.setGState({\n resources,\n gState,\n operatorList,\n cacheKey: name,\n task,\n stateManager,\n localGStateCache,\n localColorSpaceCache\n }).then(resolveGState, rejectGState);\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n if (self.options.ignoreErrors) {\n (0, _util.warn)(`getOperatorList - ignoring ExtGState: \"${reason}\".`);\n return;\n }\n throw reason;\n }));\n return;\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n case _util.OPS.curveTo:\n case _util.OPS.curveTo2:\n case _util.OPS.curveTo3:\n case _util.OPS.closePath:\n case _util.OPS.rectangle:\n self.buildPath(operatorList, fn, args, parsingText);\n continue;\n case _util.OPS.markPoint:\n case _util.OPS.markPointProps:\n case _util.OPS.beginCompat:\n case _util.OPS.endCompat:\n continue;\n case _util.OPS.beginMarkedContentProps:\n if (!(args[0] instanceof _primitives.Name)) {\n (0, _util.warn)(`Expected name for beginMarkedContentProps arg0=${args[0]}`);\n continue;\n }\n if (args[0].name === \"OC\") {\n next(self.parseMarkedContentProps(args[1], resources).then(data => {\n operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", data]);\n }).catch(reason => {\n if (reason instanceof _util.AbortException) {\n return;\n }\n if (self.options.ignoreErrors) {\n (0, _util.warn)(`getOperatorList - ignoring beginMarkedContentProps: \"${reason}\".`);\n return;\n }\n throw reason;\n }));\n return;\n }\n args = [args[0].name, args[1] instanceof _primitives.Dict ? args[1].get(\"MCID\") : null];\n break;\n case _util.OPS.beginMarkedContent:\n case _util.OPS.endMarkedContent:\n default:\n if (args !== null) {\n for (i = 0, ii = args.length; i < ii; i++) {\n if (args[i] instanceof _primitives.Dict) {\n break;\n }\n }\n if (i < ii) {\n (0, _util.warn)(\"getOperatorList - ignoring operator: \" + fn);\n continue;\n }\n }\n }\n operatorList.addOp(fn, args);\n }\n if (stop) {\n next(deferred);\n return;\n }\n closePendingRestoreOPS();\n resolve();\n }).catch(reason => {\n if (reason instanceof _util.AbortException) {\n return;\n }\n if (this.options.ignoreErrors) {\n (0, _util.warn)(`getOperatorList - ignoring errors during \"${task.name}\" ` + `task: \"${reason}\".`);\n closePendingRestoreOPS();\n return;\n }\n throw reason;\n });\n }\n getTextContent({\n stream,\n task,\n resources,\n stateManager = null,\n includeMarkedContent = false,\n sink,\n seenStyles = new Set(),\n viewBox,\n markedContentData = null,\n disableNormalization = false\n }) {\n resources ||= _primitives.Dict.empty;\n stateManager ||= new StateManager(new TextState());\n if (includeMarkedContent) {\n markedContentData ||= {\n level: 0\n };\n }\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n const textContentItem = {\n initialized: false,\n str: [],\n totalWidth: 0,\n totalHeight: 0,\n width: 0,\n height: 0,\n vertical: false,\n prevTransform: null,\n textAdvanceScale: 0,\n spaceInFlowMin: 0,\n spaceInFlowMax: 0,\n trackingSpaceMin: Infinity,\n negativeSpaceMax: -Infinity,\n notASpace: -Infinity,\n transform: null,\n fontName: null,\n hasEOL: false\n };\n const twoLastChars = [\" \", \" \"];\n let twoLastCharsPos = 0;\n function saveLastChar(char) {\n const nextPos = (twoLastCharsPos + 1) % 2;\n const ret = twoLastChars[twoLastCharsPos] !== \" \" && twoLastChars[nextPos] === \" \";\n twoLastChars[twoLastCharsPos] = char;\n twoLastCharsPos = nextPos;\n return ret;\n }\n function shouldAddWhitepsace() {\n return twoLastChars[twoLastCharsPos] !== \" \" && twoLastChars[(twoLastCharsPos + 1) % 2] === \" \";\n }\n function resetLastChars() {\n twoLastChars[0] = twoLastChars[1] = \" \";\n twoLastCharsPos = 0;\n }\n const TRACKING_SPACE_FACTOR = 0.102;\n const NOT_A_SPACE_FACTOR = 0.03;\n const NEGATIVE_SPACE_FACTOR = -0.2;\n const SPACE_IN_FLOW_MIN_FACTOR = 0.102;\n const SPACE_IN_FLOW_MAX_FACTOR = 0.6;\n const VERTICAL_SHIFT_RATIO = 0.25;\n const self = this;\n const xref = this.xref;\n const showSpacedTextBuffer = [];\n let xobjs = null;\n const emptyXObjectCache = new _image_utils.LocalImageCache();\n const emptyGStateCache = new _image_utils.LocalGStateCache();\n const preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n let textState;\n function pushWhitespace({\n width = 0,\n height = 0,\n transform = textContentItem.prevTransform,\n fontName = textContentItem.fontName\n }) {\n textContent.items.push({\n str: \" \",\n dir: \"ltr\",\n width,\n height,\n transform,\n fontName,\n hasEOL: false\n });\n }\n function getCurrentTextTransform() {\n const font = textState.font;\n const tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n if (font.isType3Font && (textState.fontSize <= 1 || font.isCharBBox) && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n const glyphHeight = font.bbox[3] - font.bbox[1];\n if (glyphHeight > 0) {\n tsm[3] *= glyphHeight * textState.fontMatrix[3];\n }\n }\n return _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n }\n function ensureTextContentItem() {\n if (textContentItem.initialized) {\n return textContentItem;\n }\n const {\n font,\n loadedName\n } = textState;\n if (!seenStyles.has(loadedName)) {\n seenStyles.add(loadedName);\n textContent.styles[loadedName] = {\n fontFamily: font.fallbackName,\n ascent: font.ascent,\n descent: font.descent,\n vertical: font.vertical\n };\n }\n textContentItem.fontName = loadedName;\n const trm = textContentItem.transform = getCurrentTextTransform();\n if (!font.vertical) {\n textContentItem.width = textContentItem.totalWidth = 0;\n textContentItem.height = textContentItem.totalHeight = Math.hypot(trm[2], trm[3]);\n textContentItem.vertical = false;\n } else {\n textContentItem.width = textContentItem.totalWidth = Math.hypot(trm[0], trm[1]);\n textContentItem.height = textContentItem.totalHeight = 0;\n textContentItem.vertical = true;\n }\n const scaleLineX = Math.hypot(textState.textLineMatrix[0], textState.textLineMatrix[1]);\n const scaleCtmX = Math.hypot(textState.ctm[0], textState.ctm[1]);\n textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n const {\n fontSize\n } = textState;\n textContentItem.trackingSpaceMin = fontSize * TRACKING_SPACE_FACTOR;\n textContentItem.notASpace = fontSize * NOT_A_SPACE_FACTOR;\n textContentItem.negativeSpaceMax = fontSize * NEGATIVE_SPACE_FACTOR;\n textContentItem.spaceInFlowMin = fontSize * SPACE_IN_FLOW_MIN_FACTOR;\n textContentItem.spaceInFlowMax = fontSize * SPACE_IN_FLOW_MAX_FACTOR;\n textContentItem.hasEOL = false;\n textContentItem.initialized = true;\n return textContentItem;\n }\n function updateAdvanceScale() {\n if (!textContentItem.initialized) {\n return;\n }\n const scaleLineX = Math.hypot(textState.textLineMatrix[0], textState.textLineMatrix[1]);\n const scaleCtmX = Math.hypot(textState.ctm[0], textState.ctm[1]);\n const scaleFactor = scaleCtmX * scaleLineX;\n if (scaleFactor === textContentItem.textAdvanceScale) {\n return;\n }\n if (!textContentItem.vertical) {\n textContentItem.totalWidth += textContentItem.width * textContentItem.textAdvanceScale;\n textContentItem.width = 0;\n } else {\n textContentItem.totalHeight += textContentItem.height * textContentItem.textAdvanceScale;\n textContentItem.height = 0;\n }\n textContentItem.textAdvanceScale = scaleFactor;\n }\n function runBidiTransform(textChunk) {\n let text = textChunk.str.join(\"\");\n if (!disableNormalization) {\n text = (0, _util.normalizeUnicode)(text);\n }\n const bidiResult = (0, _bidi.bidi)(text, -1, textChunk.vertical);\n return {\n str: bidiResult.str,\n dir: bidiResult.dir,\n width: Math.abs(textChunk.totalWidth),\n height: Math.abs(textChunk.totalHeight),\n transform: textChunk.transform,\n fontName: textChunk.fontName,\n hasEOL: textChunk.hasEOL\n };\n }\n function handleSetFont(fontName, fontRef) {\n return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n if (!translated.font.isType3Font) {\n return translated;\n }\n return translated.loadType3Data(self, resources, task).catch(function () {}).then(function () {\n return translated;\n });\n }).then(function (translated) {\n textState.loadedName = translated.loadedName;\n textState.font = translated.font;\n textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n });\n }\n function applyInverseRotation(x, y, matrix) {\n const scale = Math.hypot(matrix[0], matrix[1]);\n return [(matrix[0] * x + matrix[1] * y) / scale, (matrix[2] * x + matrix[3] * y) / scale];\n }\n function compareWithLastPosition(glyphWidth) {\n const currentTransform = getCurrentTextTransform();\n let posX = currentTransform[4];\n let posY = currentTransform[5];\n if (textState.font?.vertical) {\n if (posX < viewBox[0] || posX > viewBox[2] || posY + glyphWidth < viewBox[1] || posY > viewBox[3]) {\n return false;\n }\n } else if (posX + glyphWidth < viewBox[0] || posX > viewBox[2] || posY < viewBox[1] || posY > viewBox[3]) {\n return false;\n }\n if (!textState.font || !textContentItem.prevTransform) {\n return true;\n }\n let lastPosX = textContentItem.prevTransform[4];\n let lastPosY = textContentItem.prevTransform[5];\n if (lastPosX === posX && lastPosY === posY) {\n return true;\n }\n let rotate = -1;\n if (currentTransform[0] && currentTransform[1] === 0 && currentTransform[2] === 0) {\n rotate = currentTransform[0] > 0 ? 0 : 180;\n } else if (currentTransform[1] && currentTransform[0] === 0 && currentTransform[3] === 0) {\n rotate = currentTransform[1] > 0 ? 90 : 270;\n }\n switch (rotate) {\n case 0:\n break;\n case 90:\n [posX, posY] = [posY, posX];\n [lastPosX, lastPosY] = [lastPosY, lastPosX];\n break;\n case 180:\n [posX, posY, lastPosX, lastPosY] = [-posX, -posY, -lastPosX, -lastPosY];\n break;\n case 270:\n [posX, posY] = [-posY, -posX];\n [lastPosX, lastPosY] = [-lastPosY, -lastPosX];\n break;\n default:\n [posX, posY] = applyInverseRotation(posX, posY, currentTransform);\n [lastPosX, lastPosY] = applyInverseRotation(lastPosX, lastPosY, textContentItem.prevTransform);\n }\n if (textState.font.vertical) {\n const advanceY = (lastPosY - posY) / textContentItem.textAdvanceScale;\n const advanceX = posX - lastPosX;\n const textOrientation = Math.sign(textContentItem.height);\n if (advanceY < textOrientation * textContentItem.negativeSpaceMax) {\n if (Math.abs(advanceX) > 0.5 * textContentItem.width) {\n appendEOL();\n return true;\n }\n resetLastChars();\n flushTextContentItem();\n return true;\n }\n if (Math.abs(advanceX) > textContentItem.width) {\n appendEOL();\n return true;\n }\n if (advanceY <= textOrientation * textContentItem.notASpace) {\n resetLastChars();\n }\n if (advanceY <= textOrientation * textContentItem.trackingSpaceMin) {\n if (shouldAddWhitepsace()) {\n resetLastChars();\n flushTextContentItem();\n pushWhitespace({\n height: Math.abs(advanceY)\n });\n } else {\n textContentItem.height += advanceY;\n }\n } else if (!addFakeSpaces(advanceY, textContentItem.prevTransform, textOrientation)) {\n if (textContentItem.str.length === 0) {\n resetLastChars();\n pushWhitespace({\n height: Math.abs(advanceY)\n });\n } else {\n textContentItem.height += advanceY;\n }\n }\n if (Math.abs(advanceX) > textContentItem.width * VERTICAL_SHIFT_RATIO) {\n flushTextContentItem();\n }\n return true;\n }\n const advanceX = (posX - lastPosX) / textContentItem.textAdvanceScale;\n const advanceY = posY - lastPosY;\n const textOrientation = Math.sign(textContentItem.width);\n if (advanceX < textOrientation * textContentItem.negativeSpaceMax) {\n if (Math.abs(advanceY) > 0.5 * textContentItem.height) {\n appendEOL();\n return true;\n }\n resetLastChars();\n flushTextContentItem();\n return true;\n }\n if (Math.abs(advanceY) > textContentItem.height) {\n appendEOL();\n return true;\n }\n if (advanceX <= textOrientation * textContentItem.notASpace) {\n resetLastChars();\n }\n if (advanceX <= textOrientation * textContentItem.trackingSpaceMin) {\n if (shouldAddWhitepsace()) {\n resetLastChars();\n flushTextContentItem();\n pushWhitespace({\n width: Math.abs(advanceX)\n });\n } else {\n textContentItem.width += advanceX;\n }\n } else if (!addFakeSpaces(advanceX, textContentItem.prevTransform, textOrientation)) {\n if (textContentItem.str.length === 0) {\n resetLastChars();\n pushWhitespace({\n width: Math.abs(advanceX)\n });\n } else {\n textContentItem.width += advanceX;\n }\n }\n if (Math.abs(advanceY) > textContentItem.height * VERTICAL_SHIFT_RATIO) {\n flushTextContentItem();\n }\n return true;\n }\n function buildTextContentItem({\n chars,\n extraSpacing\n }) {\n const font = textState.font;\n if (!chars) {\n const charSpacing = textState.charSpacing + extraSpacing;\n if (charSpacing) {\n if (!font.vertical) {\n textState.translateTextMatrix(charSpacing * textState.textHScale, 0);\n } else {\n textState.translateTextMatrix(0, -charSpacing);\n }\n }\n return;\n }\n const glyphs = font.charsToGlyphs(chars);\n const scale = textState.fontMatrix[0] * textState.fontSize;\n for (let i = 0, ii = glyphs.length; i < ii; i++) {\n const glyph = glyphs[i];\n const {\n category\n } = glyph;\n if (category.isInvisibleFormatMark) {\n continue;\n }\n let charSpacing = textState.charSpacing + (i + 1 === ii ? extraSpacing : 0);\n let glyphWidth = glyph.width;\n if (font.vertical) {\n glyphWidth = glyph.vmetric ? glyph.vmetric[0] : -glyphWidth;\n }\n let scaledDim = glyphWidth * scale;\n if (category.isWhitespace) {\n if (!font.vertical) {\n charSpacing += scaledDim + textState.wordSpacing;\n textState.translateTextMatrix(charSpacing * textState.textHScale, 0);\n } else {\n charSpacing += -scaledDim + textState.wordSpacing;\n textState.translateTextMatrix(0, -charSpacing);\n }\n saveLastChar(\" \");\n continue;\n }\n if (!category.isZeroWidthDiacritic && !compareWithLastPosition(scaledDim)) {\n if (!font.vertical) {\n textState.translateTextMatrix(scaledDim * textState.textHScale, 0);\n } else {\n textState.translateTextMatrix(0, scaledDim);\n }\n continue;\n }\n const textChunk = ensureTextContentItem();\n if (category.isZeroWidthDiacritic) {\n scaledDim = 0;\n }\n if (!font.vertical) {\n scaledDim *= textState.textHScale;\n textState.translateTextMatrix(scaledDim, 0);\n textChunk.width += scaledDim;\n } else {\n textState.translateTextMatrix(0, scaledDim);\n scaledDim = Math.abs(scaledDim);\n textChunk.height += scaledDim;\n }\n if (scaledDim) {\n textChunk.prevTransform = getCurrentTextTransform();\n }\n const glyphUnicode = glyph.unicode;\n if (saveLastChar(glyphUnicode)) {\n textChunk.str.push(\" \");\n }\n textChunk.str.push(glyphUnicode);\n if (charSpacing) {\n if (!font.vertical) {\n textState.translateTextMatrix(charSpacing * textState.textHScale, 0);\n } else {\n textState.translateTextMatrix(0, -charSpacing);\n }\n }\n }\n }\n function appendEOL() {\n resetLastChars();\n if (textContentItem.initialized) {\n textContentItem.hasEOL = true;\n flushTextContentItem();\n } else {\n textContent.items.push({\n str: \"\",\n dir: \"ltr\",\n width: 0,\n height: 0,\n transform: getCurrentTextTransform(),\n fontName: textState.loadedName,\n hasEOL: true\n });\n }\n }\n function addFakeSpaces(width, transf, textOrientation) {\n if (textOrientation * textContentItem.spaceInFlowMin <= width && width <= textOrientation * textContentItem.spaceInFlowMax) {\n if (textContentItem.initialized) {\n resetLastChars();\n textContentItem.str.push(\" \");\n }\n return false;\n }\n const fontName = textContentItem.fontName;\n let height = 0;\n if (textContentItem.vertical) {\n height = width;\n width = 0;\n }\n flushTextContentItem();\n resetLastChars();\n pushWhitespace({\n width: Math.abs(width),\n height: Math.abs(height),\n transform: transf || getCurrentTextTransform(),\n fontName\n });\n return true;\n }\n function flushTextContentItem() {\n if (!textContentItem.initialized || !textContentItem.str) {\n return;\n }\n if (!textContentItem.vertical) {\n textContentItem.totalWidth += textContentItem.width * textContentItem.textAdvanceScale;\n } else {\n textContentItem.totalHeight += textContentItem.height * textContentItem.textAdvanceScale;\n }\n textContent.items.push(runBidiTransform(textContentItem));\n textContentItem.initialized = false;\n textContentItem.str.length = 0;\n }\n function enqueueChunk(batch = false) {\n const length = textContent.items.length;\n if (length === 0) {\n return;\n }\n if (batch && length < TEXT_CHUNK_BATCH_SIZE) {\n return;\n }\n sink.enqueue(textContent, length);\n textContent.items = [];\n textContent.styles = Object.create(null);\n }\n const timeSlotManager = new TimeSlotManager();\n return new Promise(function promiseBody(resolve, reject) {\n const next = function (promise) {\n enqueueChunk(true);\n Promise.all([promise, sink.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n task.ensureNotTerminated();\n timeSlotManager.reset();\n const operation = {};\n let stop,\n args = [];\n while (!(stop = timeSlotManager.check())) {\n args.length = 0;\n operation.args = args;\n if (!preprocessor.read(operation)) {\n break;\n }\n const previousState = textState;\n textState = stateManager.state;\n const fn = operation.fn;\n args = operation.args;\n switch (fn | 0) {\n case _util.OPS.setFont:\n var fontNameArg = args[0].name,\n fontSizeArg = args[1];\n if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n break;\n }\n flushTextContentItem();\n textState.fontName = fontNameArg;\n textState.fontSize = fontSizeArg;\n next(handleSetFont(fontNameArg, null));\n return;\n case _util.OPS.setTextRise:\n textState.textRise = args[0];\n break;\n case _util.OPS.setHScale:\n textState.textHScale = args[0] / 100;\n break;\n case _util.OPS.setLeading:\n textState.leading = args[0];\n break;\n case _util.OPS.moveText:\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n case _util.OPS.setLeadingMoveText:\n textState.leading = -args[1];\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n case _util.OPS.nextLine:\n textState.carriageReturn();\n break;\n case _util.OPS.setTextMatrix:\n textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n updateAdvanceScale();\n break;\n case _util.OPS.setCharSpacing:\n textState.charSpacing = args[0];\n break;\n case _util.OPS.setWordSpacing:\n textState.wordSpacing = args[0];\n break;\n case _util.OPS.beginText:\n textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n break;\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n const spaceFactor = (textState.font.vertical ? 1 : -1) * textState.fontSize / 1000;\n const elements = args[0];\n for (let i = 0, ii = elements.length; i < ii; i++) {\n const item = elements[i];\n if (typeof item === \"string\") {\n showSpacedTextBuffer.push(item);\n } else if (typeof item === \"number\" && item !== 0) {\n const str = showSpacedTextBuffer.join(\"\");\n showSpacedTextBuffer.length = 0;\n buildTextContentItem({\n chars: str,\n extraSpacing: item * spaceFactor\n });\n }\n }\n if (showSpacedTextBuffer.length > 0) {\n const str = showSpacedTextBuffer.join(\"\");\n showSpacedTextBuffer.length = 0;\n buildTextContentItem({\n chars: str,\n extraSpacing: 0\n });\n }\n break;\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n buildTextContentItem({\n chars: args[0],\n extraSpacing: 0\n });\n break;\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n textState.carriageReturn();\n buildTextContentItem({\n chars: args[0],\n extraSpacing: 0\n });\n break;\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n textState.wordSpacing = args[0];\n textState.charSpacing = args[1];\n textState.carriageReturn();\n buildTextContentItem({\n chars: args[2],\n extraSpacing: 0\n });\n break;\n case _util.OPS.paintXObject:\n flushTextContentItem();\n if (!xobjs) {\n xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n }\n var isValidName = args[0] instanceof _primitives.Name;\n var name = args[0].name;\n if (isValidName && emptyXObjectCache.getByName(name)) {\n break;\n }\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!isValidName) {\n throw new _util.FormatError(\"XObject must be referred to by name.\");\n }\n let xobj = xobjs.getRaw(name);\n if (xobj instanceof _primitives.Ref) {\n if (emptyXObjectCache.getByRef(xobj)) {\n resolveXObject();\n return;\n }\n const globalImage = self.globalImageCache.getData(xobj, self.pageIndex);\n if (globalImage) {\n resolveXObject();\n return;\n }\n xobj = xref.fetch(xobj);\n }\n if (!(xobj instanceof _base_stream.BaseStream)) {\n throw new _util.FormatError(\"XObject should be a stream\");\n }\n const type = xobj.dict.get(\"Subtype\");\n if (!(type instanceof _primitives.Name)) {\n throw new _util.FormatError(\"XObject should have a Name subtype\");\n }\n if (type.name !== \"Form\") {\n emptyXObjectCache.set(name, xobj.dict.objId, true);\n resolveXObject();\n return;\n }\n const currentState = stateManager.state.clone();\n const xObjStateManager = new StateManager(currentState);\n const matrix = xobj.dict.getArray(\"Matrix\");\n if (Array.isArray(matrix) && matrix.length === 6) {\n xObjStateManager.transform(matrix);\n }\n enqueueChunk();\n const sinkWrapper = {\n enqueueInvoked: false,\n enqueue(chunk, size) {\n this.enqueueInvoked = true;\n sink.enqueue(chunk, size);\n },\n get desiredSize() {\n return sink.desiredSize;\n },\n get ready() {\n return sink.ready;\n }\n };\n self.getTextContent({\n stream: xobj,\n task,\n resources: xobj.dict.get(\"Resources\") || resources,\n stateManager: xObjStateManager,\n includeMarkedContent,\n sink: sinkWrapper,\n seenStyles,\n viewBox,\n markedContentData,\n disableNormalization\n }).then(function () {\n if (!sinkWrapper.enqueueInvoked) {\n emptyXObjectCache.set(name, xobj.dict.objId, true);\n }\n resolveXObject();\n }, rejectXObject);\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n if (self.options.ignoreErrors) {\n (0, _util.warn)(`getTextContent - ignoring XObject: \"${reason}\".`);\n return;\n }\n throw reason;\n }));\n return;\n case _util.OPS.setGState:\n isValidName = args[0] instanceof _primitives.Name;\n name = args[0].name;\n if (isValidName && emptyGStateCache.getByName(name)) {\n break;\n }\n next(new Promise(function (resolveGState, rejectGState) {\n if (!isValidName) {\n throw new _util.FormatError(\"GState must be referred to by name.\");\n }\n const extGState = resources.get(\"ExtGState\");\n if (!(extGState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n }\n const gState = extGState.get(name);\n if (!(gState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"GState should be a dictionary.\");\n }\n const gStateFont = gState.get(\"Font\");\n if (!gStateFont) {\n emptyGStateCache.set(name, gState.objId, true);\n resolveGState();\n return;\n }\n flushTextContentItem();\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n handleSetFont(null, gStateFont[0]).then(resolveGState, rejectGState);\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n if (self.options.ignoreErrors) {\n (0, _util.warn)(`getTextContent - ignoring ExtGState: \"${reason}\".`);\n return;\n }\n throw reason;\n }));\n return;\n case _util.OPS.beginMarkedContent:\n flushTextContentItem();\n if (includeMarkedContent) {\n markedContentData.level++;\n textContent.items.push({\n type: \"beginMarkedContent\",\n tag: args[0] instanceof _primitives.Name ? args[0].name : null\n });\n }\n break;\n case _util.OPS.beginMarkedContentProps:\n flushTextContentItem();\n if (includeMarkedContent) {\n markedContentData.level++;\n let mcid = null;\n if (args[1] instanceof _primitives.Dict) {\n mcid = args[1].get(\"MCID\");\n }\n textContent.items.push({\n type: \"beginMarkedContentProps\",\n id: Number.isInteger(mcid) ? `${self.idFactory.getPageObjId()}_mc${mcid}` : null,\n tag: args[0] instanceof _primitives.Name ? args[0].name : null\n });\n }\n break;\n case _util.OPS.endMarkedContent:\n flushTextContentItem();\n if (includeMarkedContent) {\n if (markedContentData.level === 0) {\n break;\n }\n markedContentData.level--;\n textContent.items.push({\n type: \"endMarkedContent\"\n });\n }\n break;\n case _util.OPS.restore:\n if (previousState && (previousState.font !== textState.font || previousState.fontSize !== textState.fontSize || previousState.fontName !== textState.fontName)) {\n flushTextContentItem();\n }\n break;\n }\n if (textContent.items.length >= sink.desiredSize) {\n stop = true;\n break;\n }\n }\n if (stop) {\n next(deferred);\n return;\n }\n flushTextContentItem();\n enqueueChunk();\n resolve();\n }).catch(reason => {\n if (reason instanceof _util.AbortException) {\n return;\n }\n if (this.options.ignoreErrors) {\n (0, _util.warn)(`getTextContent - ignoring errors during \"${task.name}\" ` + `task: \"${reason}\".`);\n flushTextContentItem();\n enqueueChunk();\n return;\n }\n throw reason;\n });\n }\n extractDataStructures(dict, baseDict, properties) {\n const xref = this.xref;\n let cidToGidBytes;\n const toUnicodePromise = this.readToUnicode(properties.toUnicode || dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\"));\n if (properties.composite) {\n const cidSystemInfo = dict.get(\"CIDSystemInfo\");\n if (cidSystemInfo instanceof _primitives.Dict) {\n properties.cidSystemInfo = {\n registry: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Registry\")),\n ordering: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Ordering\")),\n supplement: cidSystemInfo.get(\"Supplement\")\n };\n }\n try {\n const cidToGidMap = dict.get(\"CIDToGIDMap\");\n if (cidToGidMap instanceof _base_stream.BaseStream) {\n cidToGidBytes = cidToGidMap.getBytes();\n }\n } catch (ex) {\n if (!this.options.ignoreErrors) {\n throw ex;\n }\n (0, _util.warn)(`extractDataStructures - ignoring CIDToGIDMap data: \"${ex}\".`);\n }\n }\n const differences = [];\n let baseEncodingName = null;\n let encoding;\n if (dict.has(\"Encoding\")) {\n encoding = dict.get(\"Encoding\");\n if (encoding instanceof _primitives.Dict) {\n baseEncodingName = encoding.get(\"BaseEncoding\");\n baseEncodingName = baseEncodingName instanceof _primitives.Name ? baseEncodingName.name : null;\n if (encoding.has(\"Differences\")) {\n const diffEncoding = encoding.get(\"Differences\");\n let index = 0;\n for (const entry of diffEncoding) {\n const data = xref.fetchIfRef(entry);\n if (typeof data === \"number\") {\n index = data;\n } else if (data instanceof _primitives.Name) {\n differences[index++] = data.name;\n } else {\n throw new _util.FormatError(`Invalid entry in 'Differences' array: ${data}`);\n }\n }\n }\n } else if (encoding instanceof _primitives.Name) {\n baseEncodingName = encoding.name;\n } else {\n const msg = \"Encoding is not a Name nor a Dict\";\n if (!this.options.ignoreErrors) {\n throw new _util.FormatError(msg);\n }\n (0, _util.warn)(msg);\n }\n if (baseEncodingName !== \"MacRomanEncoding\" && baseEncodingName !== \"MacExpertEncoding\" && baseEncodingName !== \"WinAnsiEncoding\") {\n baseEncodingName = null;\n }\n }\n const nonEmbeddedFont = !properties.file || properties.isInternalFont,\n isSymbolsFontName = (0, _standard_fonts.getSymbolsFonts)()[properties.name];\n if (baseEncodingName && nonEmbeddedFont && isSymbolsFontName) {\n baseEncodingName = null;\n }\n if (baseEncodingName) {\n properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n } else {\n const isSymbolicFont = !!(properties.flags & _fonts_utils.FontFlags.Symbolic);\n const isNonsymbolicFont = !!(properties.flags & _fonts_utils.FontFlags.Nonsymbolic);\n encoding = _encodings.StandardEncoding;\n if (properties.type === \"TrueType\" && !isNonsymbolicFont) {\n encoding = _encodings.WinAnsiEncoding;\n }\n if (isSymbolicFont || isSymbolsFontName) {\n encoding = _encodings.MacRomanEncoding;\n if (nonEmbeddedFont) {\n if (/Symbol/i.test(properties.name)) {\n encoding = _encodings.SymbolSetEncoding;\n } else if (/Dingbats/i.test(properties.name)) {\n encoding = _encodings.ZapfDingbatsEncoding;\n } else if (/Wingdings/i.test(properties.name)) {\n encoding = _encodings.WinAnsiEncoding;\n }\n }\n }\n properties.defaultEncoding = encoding;\n }\n properties.differences = differences;\n properties.baseEncodingName = baseEncodingName;\n properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n properties.dict = dict;\n return toUnicodePromise.then(readToUnicode => {\n properties.toUnicode = readToUnicode;\n return this.buildToUnicode(properties);\n }).then(builtToUnicode => {\n properties.toUnicode = builtToUnicode;\n if (cidToGidBytes) {\n properties.cidToGidMap = this.readCidToGidMap(cidToGidBytes, builtToUnicode);\n }\n return properties;\n });\n }\n _simpleFontToUnicode(properties, forceGlyphs = false) {\n (0, _util.assert)(!properties.composite, \"Must be a simple font.\");\n const toUnicode = [];\n const encoding = properties.defaultEncoding.slice();\n const baseEncodingName = properties.baseEncodingName;\n const differences = properties.differences;\n for (const charcode in differences) {\n const glyphName = differences[charcode];\n if (glyphName === \".notdef\") {\n continue;\n }\n encoding[charcode] = glyphName;\n }\n const glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n for (const charcode in encoding) {\n let glyphName = encoding[charcode];\n if (glyphName === \"\") {\n continue;\n }\n let unicode = glyphsUnicodeMap[glyphName];\n if (unicode !== undefined) {\n toUnicode[charcode] = String.fromCharCode(unicode);\n continue;\n }\n let code = 0;\n switch (glyphName[0]) {\n case \"G\":\n if (glyphName.length === 3) {\n code = parseInt(glyphName.substring(1), 16);\n }\n break;\n case \"g\":\n if (glyphName.length === 5) {\n code = parseInt(glyphName.substring(1), 16);\n }\n break;\n case \"C\":\n case \"c\":\n if (glyphName.length >= 3 && glyphName.length <= 4) {\n const codeStr = glyphName.substring(1);\n if (forceGlyphs) {\n code = parseInt(codeStr, 16);\n break;\n }\n code = +codeStr;\n if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {\n return this._simpleFontToUnicode(properties, true);\n }\n }\n break;\n case \"u\":\n unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n if (unicode !== -1) {\n code = unicode;\n }\n break;\n default:\n switch (glyphName) {\n case \"f_h\":\n case \"f_t\":\n case \"T_h\":\n toUnicode[charcode] = glyphName.replaceAll(\"_\", \"\");\n continue;\n }\n break;\n }\n if (code > 0 && code <= 0x10ffff && Number.isInteger(code)) {\n if (baseEncodingName && code === +charcode) {\n const baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n if (baseEncoding && (glyphName = baseEncoding[charcode])) {\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n continue;\n }\n }\n toUnicode[charcode] = String.fromCodePoint(code);\n }\n }\n return toUnicode;\n }\n async buildToUnicode(properties) {\n properties.hasIncludedToUnicodeMap = properties.toUnicode?.length > 0;\n if (properties.hasIncludedToUnicodeMap) {\n if (!properties.composite && properties.hasEncoding) {\n properties.fallbackToUnicode = this._simpleFontToUnicode(properties);\n }\n return properties.toUnicode;\n }\n if (!properties.composite) {\n return new _to_unicode_map.ToUnicodeMap(this._simpleFontToUnicode(properties));\n }\n if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === \"Adobe\" && (properties.cidSystemInfo.ordering === \"GB1\" || properties.cidSystemInfo.ordering === \"CNS1\" || properties.cidSystemInfo.ordering === \"Japan1\" || properties.cidSystemInfo.ordering === \"Korea1\"))) {\n const {\n registry,\n ordering\n } = properties.cidSystemInfo;\n const ucs2CMapName = _primitives.Name.get(`${registry}-${ordering}-UCS2`);\n const ucs2CMap = await _cmap.CMapFactory.create({\n encoding: ucs2CMapName,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n useCMap: null\n });\n const toUnicode = [],\n buf = [];\n properties.cMap.forEach(function (charcode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError(\"Max size of CID is 65,535\");\n }\n const ucs2 = ucs2CMap.lookup(cid);\n if (ucs2) {\n buf.length = 0;\n for (let i = 0, ii = ucs2.length; i < ii; i += 2) {\n buf.push((ucs2.charCodeAt(i) << 8) + ucs2.charCodeAt(i + 1));\n }\n toUnicode[charcode] = String.fromCharCode(...buf);\n }\n });\n return new _to_unicode_map.ToUnicodeMap(toUnicode);\n }\n return new _to_unicode_map.IdentityToUnicodeMap(properties.firstChar, properties.lastChar);\n }\n readToUnicode(cmapObj) {\n if (!cmapObj) {\n return Promise.resolve(null);\n }\n if (cmapObj instanceof _primitives.Name) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _to_unicode_map.IdentityToUnicodeMap(0, 0xffff);\n }\n return new _to_unicode_map.ToUnicodeMap(cmap.getMap());\n });\n } else if (cmapObj instanceof _base_stream.BaseStream) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _to_unicode_map.IdentityToUnicodeMap(0, 0xffff);\n }\n const map = new Array(cmap.length);\n cmap.forEach(function (charCode, token) {\n if (typeof token === \"number\") {\n map[charCode] = String.fromCodePoint(token);\n return;\n }\n const str = [];\n for (let k = 0; k < token.length; k += 2) {\n const w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n if ((w1 & 0xf800) !== 0xd800) {\n str.push(w1);\n continue;\n }\n k += 2;\n const w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n }\n map[charCode] = String.fromCodePoint(...str);\n });\n return new _to_unicode_map.ToUnicodeMap(map);\n }, reason => {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n if (this.options.ignoreErrors) {\n (0, _util.warn)(`readToUnicode - ignoring ToUnicode data: \"${reason}\".`);\n return null;\n }\n throw reason;\n });\n }\n return Promise.resolve(null);\n }\n readCidToGidMap(glyphsData, toUnicode) {\n const result = [];\n for (let j = 0, jj = glyphsData.length; j < jj; j++) {\n const glyphID = glyphsData[j++] << 8 | glyphsData[j];\n const code = j >> 1;\n if (glyphID === 0 && !toUnicode.has(code)) {\n continue;\n }\n result[code] = glyphID;\n }\n return result;\n }\n extractWidths(dict, descriptor, properties) {\n const xref = this.xref;\n let glyphsWidths = [];\n let defaultWidth = 0;\n const glyphsVMetrics = [];\n let defaultVMetrics;\n let i, ii, j, jj, start, code, widths;\n if (properties.composite) {\n defaultWidth = dict.has(\"DW\") ? dict.get(\"DW\") : 1000;\n widths = dict.get(\"W\");\n if (widths) {\n for (i = 0, ii = widths.length; i < ii; i++) {\n start = xref.fetchIfRef(widths[i++]);\n code = xref.fetchIfRef(widths[i]);\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n }\n } else {\n const width = xref.fetchIfRef(widths[++i]);\n for (j = start; j <= code; j++) {\n glyphsWidths[j] = width;\n }\n }\n }\n }\n if (properties.vertical) {\n let vmetrics = dict.getArray(\"DW2\") || [880, -1000];\n defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n vmetrics = dict.get(\"W2\");\n if (vmetrics) {\n for (i = 0, ii = vmetrics.length; i < ii; i++) {\n start = xref.fetchIfRef(vmetrics[i++]);\n code = xref.fetchIfRef(vmetrics[i]);\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n }\n } else {\n const vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n for (j = start; j <= code; j++) {\n glyphsVMetrics[j] = vmetric;\n }\n }\n }\n }\n }\n } else {\n const firstChar = properties.firstChar;\n widths = dict.get(\"Widths\");\n if (widths) {\n j = firstChar;\n for (i = 0, ii = widths.length; i < ii; i++) {\n glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n }\n defaultWidth = parseFloat(descriptor.get(\"MissingWidth\")) || 0;\n } else {\n const baseFontName = dict.get(\"BaseFont\");\n if (baseFontName instanceof _primitives.Name) {\n const metrics = this.getBaseFontMetrics(baseFontName.name);\n glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n defaultWidth = metrics.defaultWidth;\n }\n }\n }\n let isMonospace = true;\n let firstWidth = defaultWidth;\n for (const glyph in glyphsWidths) {\n const glyphWidth = glyphsWidths[glyph];\n if (!glyphWidth) {\n continue;\n }\n if (!firstWidth) {\n firstWidth = glyphWidth;\n continue;\n }\n if (firstWidth !== glyphWidth) {\n isMonospace = false;\n break;\n }\n }\n if (isMonospace) {\n properties.flags |= _fonts_utils.FontFlags.FixedPitch;\n } else {\n properties.flags &= ~_fonts_utils.FontFlags.FixedPitch;\n }\n properties.defaultWidth = defaultWidth;\n properties.widths = glyphsWidths;\n properties.defaultVMetrics = defaultVMetrics;\n properties.vmetrics = glyphsVMetrics;\n }\n isSerifFont(baseFontName) {\n const fontNameWoStyle = baseFontName.split(\"-\")[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || /serif/gi.test(fontNameWoStyle);\n }\n getBaseFontMetrics(name) {\n let defaultWidth = 0;\n let widths = Object.create(null);\n let monospace = false;\n const stdFontMap = (0, _standard_fonts.getStdFontMap)();\n let lookupName = stdFontMap[name] || name;\n const Metrics = (0, _metrics.getMetrics)();\n if (!(lookupName in Metrics)) {\n lookupName = this.isSerifFont(name) ? \"Times-Roman\" : \"Helvetica\";\n }\n const glyphWidths = Metrics[lookupName];\n if (typeof glyphWidths === \"number\") {\n defaultWidth = glyphWidths;\n monospace = true;\n } else {\n widths = glyphWidths();\n }\n return {\n defaultWidth,\n monospace,\n widths\n };\n }\n buildCharCodeToWidth(widthsByGlyphName, properties) {\n const widths = Object.create(null);\n const differences = properties.differences;\n const encoding = properties.defaultEncoding;\n for (let charCode = 0; charCode < 256; charCode++) {\n if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n widths[charCode] = widthsByGlyphName[differences[charCode]];\n continue;\n }\n if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n widths[charCode] = widthsByGlyphName[encoding[charCode]];\n continue;\n }\n }\n return widths;\n }\n preEvaluateFont(dict) {\n const baseDict = dict;\n let type = dict.get(\"Subtype\");\n if (!(type instanceof _primitives.Name)) {\n throw new _util.FormatError(\"invalid font Subtype\");\n }\n let composite = false;\n let hash, toUnicode;\n if (type.name === \"Type0\") {\n const df = dict.get(\"DescendantFonts\");\n if (!df) {\n throw new _util.FormatError(\"Descendant fonts are not specified\");\n }\n dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n if (!(dict instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"Descendant font is not a dictionary.\");\n }\n type = dict.get(\"Subtype\");\n if (!(type instanceof _primitives.Name)) {\n throw new _util.FormatError(\"invalid font Subtype\");\n }\n composite = true;\n }\n const firstChar = dict.get(\"FirstChar\") || 0,\n lastChar = dict.get(\"LastChar\") || (composite ? 0xffff : 0xff);\n const descriptor = dict.get(\"FontDescriptor\");\n if (descriptor) {\n hash = new _murmurhash.MurmurHash3_64();\n const encoding = baseDict.getRaw(\"Encoding\");\n if (encoding instanceof _primitives.Name) {\n hash.update(encoding.name);\n } else if (encoding instanceof _primitives.Ref) {\n hash.update(encoding.toString());\n } else if (encoding instanceof _primitives.Dict) {\n for (const entry of encoding.getRawValues()) {\n if (entry instanceof _primitives.Name) {\n hash.update(entry.name);\n } else if (entry instanceof _primitives.Ref) {\n hash.update(entry.toString());\n } else if (Array.isArray(entry)) {\n const diffLength = entry.length,\n diffBuf = new Array(diffLength);\n for (let j = 0; j < diffLength; j++) {\n const diffEntry = entry[j];\n if (diffEntry instanceof _primitives.Name) {\n diffBuf[j] = diffEntry.name;\n } else if (typeof diffEntry === \"number\" || diffEntry instanceof _primitives.Ref) {\n diffBuf[j] = diffEntry.toString();\n }\n }\n hash.update(diffBuf.join());\n }\n }\n }\n hash.update(`${firstChar}-${lastChar}`);\n toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n if (toUnicode instanceof _base_stream.BaseStream) {\n const stream = toUnicode.str || toUnicode;\n const uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n hash.update(uint8array);\n } else if (toUnicode instanceof _primitives.Name) {\n hash.update(toUnicode.name);\n }\n const widths = dict.get(\"Widths\") || baseDict.get(\"Widths\");\n if (Array.isArray(widths)) {\n const widthsBuf = [];\n for (const entry of widths) {\n if (typeof entry === \"number\" || entry instanceof _primitives.Ref) {\n widthsBuf.push(entry.toString());\n }\n }\n hash.update(widthsBuf.join());\n }\n if (composite) {\n hash.update(\"compositeFont\");\n const compositeWidths = dict.get(\"W\") || baseDict.get(\"W\");\n if (Array.isArray(compositeWidths)) {\n const widthsBuf = [];\n for (const entry of compositeWidths) {\n if (typeof entry === \"number\" || entry instanceof _primitives.Ref) {\n widthsBuf.push(entry.toString());\n } else if (Array.isArray(entry)) {\n const subWidthsBuf = [];\n for (const element of entry) {\n if (typeof element === \"number\" || element instanceof _primitives.Ref) {\n subWidthsBuf.push(element.toString());\n }\n }\n widthsBuf.push(`[${subWidthsBuf.join()}]`);\n }\n }\n hash.update(widthsBuf.join());\n }\n const cidToGidMap = dict.getRaw(\"CIDToGIDMap\") || baseDict.getRaw(\"CIDToGIDMap\");\n if (cidToGidMap instanceof _primitives.Name) {\n hash.update(cidToGidMap.name);\n } else if (cidToGidMap instanceof _primitives.Ref) {\n hash.update(cidToGidMap.toString());\n } else if (cidToGidMap instanceof _base_stream.BaseStream) {\n hash.update(cidToGidMap.peekBytes());\n }\n }\n }\n return {\n descriptor,\n dict,\n baseDict,\n composite,\n type: type.name,\n firstChar,\n lastChar,\n toUnicode,\n hash: hash ? hash.hexdigest() : \"\"\n };\n }\n async translateFont({\n descriptor,\n dict,\n baseDict,\n composite,\n type,\n firstChar,\n lastChar,\n toUnicode,\n cssFontInfo\n }) {\n const isType3Font = type === \"Type3\";\n let properties;\n if (!descriptor) {\n if (isType3Font) {\n descriptor = new _primitives.Dict(null);\n descriptor.set(\"FontName\", _primitives.Name.get(type));\n descriptor.set(\"FontBBox\", dict.getArray(\"FontBBox\") || [0, 0, 0, 0]);\n } else {\n let baseFontName = dict.get(\"BaseFont\");\n if (!(baseFontName instanceof _primitives.Name)) {\n throw new _util.FormatError(\"Base font is not specified\");\n }\n baseFontName = baseFontName.name.replaceAll(/[,_]/g, \"-\");\n const metrics = this.getBaseFontMetrics(baseFontName);\n const fontNameWoStyle = baseFontName.split(\"-\")[0];\n const flags = (this.isSerifFont(fontNameWoStyle) ? _fonts_utils.FontFlags.Serif : 0) | (metrics.monospace ? _fonts_utils.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts_utils.FontFlags.Symbolic : _fonts_utils.FontFlags.Nonsymbolic);\n properties = {\n type,\n name: baseFontName,\n loadedName: baseDict.loadedName,\n systemFontInfo: null,\n widths: metrics.widths,\n defaultWidth: metrics.defaultWidth,\n isSimulatedFlags: true,\n flags,\n firstChar,\n lastChar,\n toUnicode,\n xHeight: 0,\n capHeight: 0,\n italicAngle: 0,\n isType3Font\n };\n const widths = dict.get(\"Widths\");\n const standardFontName = (0, _standard_fonts.getStandardFontName)(baseFontName);\n let file = null;\n if (standardFontName) {\n file = await this.fetchStandardFontData(standardFontName);\n properties.isInternalFont = !!file;\n }\n if (!properties.isInternalFont && this.options.useSystemFonts) {\n properties.systemFontInfo = (0, _font_substitutions.getFontSubstitution)(this.systemFontCache, this.idFactory, this.options.standardFontDataUrl, baseFontName, standardFontName);\n }\n return this.extractDataStructures(dict, dict, properties).then(newProperties => {\n if (widths) {\n const glyphWidths = [];\n let j = firstChar;\n for (const width of widths) {\n glyphWidths[j++] = this.xref.fetchIfRef(width);\n }\n newProperties.widths = glyphWidths;\n } else {\n newProperties.widths = this.buildCharCodeToWidth(metrics.widths, newProperties);\n }\n return new _fonts.Font(baseFontName, file, newProperties);\n });\n }\n }\n let fontName = descriptor.get(\"FontName\");\n let baseFont = dict.get(\"BaseFont\");\n if (typeof fontName === \"string\") {\n fontName = _primitives.Name.get(fontName);\n }\n if (typeof baseFont === \"string\") {\n baseFont = _primitives.Name.get(baseFont);\n }\n const fontNameStr = fontName?.name;\n const baseFontStr = baseFont?.name;\n if (!isType3Font && fontNameStr !== baseFontStr) {\n (0, _util.info)(`The FontDescriptor's FontName is \"${fontNameStr}\" but ` + `should be the same as the Font's BaseFont \"${baseFontStr}\".`);\n if (fontNameStr && baseFontStr && (baseFontStr.startsWith(fontNameStr) || !(0, _standard_fonts.isKnownFontName)(fontNameStr) && (0, _standard_fonts.isKnownFontName)(baseFontStr))) {\n fontName = null;\n }\n }\n fontName ||= baseFont;\n if (!(fontName instanceof _primitives.Name)) {\n throw new _util.FormatError(\"invalid font name\");\n }\n let fontFile, subtype, length1, length2, length3;\n try {\n fontFile = descriptor.get(\"FontFile\", \"FontFile2\", \"FontFile3\");\n } catch (ex) {\n if (!this.options.ignoreErrors) {\n throw ex;\n }\n (0, _util.warn)(`translateFont - fetching \"${fontName.name}\" font file: \"${ex}\".`);\n fontFile = new _stream.NullStream();\n }\n let isInternalFont = false;\n let glyphScaleFactors = null;\n let systemFontInfo = null;\n if (fontFile) {\n if (fontFile.dict) {\n const subtypeEntry = fontFile.dict.get(\"Subtype\");\n if (subtypeEntry instanceof _primitives.Name) {\n subtype = subtypeEntry.name;\n }\n length1 = fontFile.dict.get(\"Length1\");\n length2 = fontFile.dict.get(\"Length2\");\n length3 = fontFile.dict.get(\"Length3\");\n }\n } else if (cssFontInfo) {\n const standardFontName = (0, _xfa_fonts.getXfaFontName)(fontName.name);\n if (standardFontName) {\n cssFontInfo.fontFamily = `${cssFontInfo.fontFamily}-PdfJS-XFA`;\n cssFontInfo.metrics = standardFontName.metrics || null;\n glyphScaleFactors = standardFontName.factors || null;\n fontFile = await this.fetchStandardFontData(standardFontName.name);\n isInternalFont = !!fontFile;\n baseDict = dict = (0, _xfa_fonts.getXfaFontDict)(fontName.name);\n composite = true;\n }\n } else if (!isType3Font) {\n const standardFontName = (0, _standard_fonts.getStandardFontName)(fontName.name);\n if (standardFontName) {\n fontFile = await this.fetchStandardFontData(standardFontName);\n isInternalFont = !!fontFile;\n }\n if (!isInternalFont && this.options.useSystemFonts) {\n systemFontInfo = (0, _font_substitutions.getFontSubstitution)(this.systemFontCache, this.idFactory, this.options.standardFontDataUrl, fontName.name, standardFontName);\n }\n }\n properties = {\n type,\n name: fontName.name,\n subtype,\n file: fontFile,\n length1,\n length2,\n length3,\n isInternalFont,\n loadedName: baseDict.loadedName,\n composite,\n fixedPitch: false,\n fontMatrix: dict.getArray(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX,\n firstChar,\n lastChar,\n toUnicode,\n bbox: descriptor.getArray(\"FontBBox\") || dict.getArray(\"FontBBox\"),\n ascent: descriptor.get(\"Ascent\"),\n descent: descriptor.get(\"Descent\"),\n xHeight: descriptor.get(\"XHeight\") || 0,\n capHeight: descriptor.get(\"CapHeight\") || 0,\n flags: descriptor.get(\"Flags\"),\n italicAngle: descriptor.get(\"ItalicAngle\") || 0,\n isType3Font,\n cssFontInfo,\n scaleFactors: glyphScaleFactors,\n systemFontInfo\n };\n if (composite) {\n const cidEncoding = baseDict.get(\"Encoding\");\n if (cidEncoding instanceof _primitives.Name) {\n properties.cidEncoding = cidEncoding.name;\n }\n const cMap = await _cmap.CMapFactory.create({\n encoding: cidEncoding,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n useCMap: null\n });\n properties.cMap = cMap;\n properties.vertical = properties.cMap.vertical;\n }\n return this.extractDataStructures(dict, baseDict, properties).then(newProperties => {\n this.extractWidths(dict, descriptor, newProperties);\n return new _fonts.Font(fontName.name, fontFile, newProperties);\n });\n }\n static buildFontPaths(font, glyphs, handler, evaluatorOptions) {\n function buildPath(fontChar) {\n const glyphName = `${font.loadedName}_path_${fontChar}`;\n try {\n if (font.renderer.hasBuiltPath(fontChar)) {\n return;\n }\n handler.send(\"commonobj\", [glyphName, \"FontPath\", font.renderer.getPathJs(fontChar)]);\n } catch (reason) {\n if (evaluatorOptions.ignoreErrors) {\n (0, _util.warn)(`buildFontPaths - ignoring ${glyphName} glyph: \"${reason}\".`);\n return;\n }\n throw reason;\n }\n }\n for (const glyph of glyphs) {\n buildPath(glyph.fontChar);\n const accent = glyph.accent;\n if (accent?.fontChar) {\n buildPath(accent.fontChar);\n }\n }\n }\n static get fallbackFontDict() {\n const dict = new _primitives.Dict();\n dict.set(\"BaseFont\", _primitives.Name.get(\"Helvetica\"));\n dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n return (0, _util.shadow)(this, \"fallbackFontDict\", dict);\n }\n}\nexports.PartialEvaluator = PartialEvaluator;\nclass TranslatedFont {\n constructor({\n loadedName,\n font,\n dict,\n evaluatorOptions\n }) {\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this._evaluatorOptions = evaluatorOptions || DefaultPartialEvaluatorOptions;\n this.type3Loaded = null;\n this.type3Dependencies = font.isType3Font ? new Set() : null;\n this.sent = false;\n }\n send(handler) {\n if (this.sent) {\n return;\n }\n this.sent = true;\n handler.send(\"commonobj\", [this.loadedName, \"Font\", this.font.exportData(this._evaluatorOptions.fontExtraProperties)]);\n }\n fallback(handler) {\n if (!this.font.data) {\n return;\n }\n this.font.disableFontFace = true;\n PartialEvaluator.buildFontPaths(this.font, this.font.glyphCacheValues, handler, this._evaluatorOptions);\n }\n loadType3Data(evaluator, resources, task) {\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n if (!this.font.isType3Font) {\n throw new Error(\"Must be a Type3 font.\");\n }\n const type3Evaluator = evaluator.clone({\n ignoreErrors: false\n });\n type3Evaluator.parsingType3Font = true;\n const type3FontRefs = new _primitives.RefSet(evaluator.type3FontRefs);\n if (this.dict.objId && !type3FontRefs.has(this.dict.objId)) {\n type3FontRefs.put(this.dict.objId);\n }\n type3Evaluator.type3FontRefs = type3FontRefs;\n const translatedFont = this.font,\n type3Dependencies = this.type3Dependencies;\n let loadCharProcsPromise = Promise.resolve();\n const charProcs = this.dict.get(\"CharProcs\");\n const fontResources = this.dict.get(\"Resources\") || resources;\n const charProcOperatorList = Object.create(null);\n const fontBBox = _util.Util.normalizeRect(translatedFont.bbox || [0, 0, 0, 0]),\n width = fontBBox[2] - fontBBox[0],\n height = fontBBox[3] - fontBBox[1];\n const fontBBoxSize = Math.hypot(width, height);\n for (const key of charProcs.getKeys()) {\n loadCharProcsPromise = loadCharProcsPromise.then(() => {\n const glyphStream = charProcs.get(key);\n const operatorList = new _operator_list.OperatorList();\n return type3Evaluator.getOperatorList({\n stream: glyphStream,\n task,\n resources: fontResources,\n operatorList\n }).then(() => {\n if (operatorList.fnArray[0] === _util.OPS.setCharWidthAndBounds) {\n this._removeType3ColorOperators(operatorList, fontBBoxSize);\n }\n charProcOperatorList[key] = operatorList.getIR();\n for (const dependency of operatorList.dependencies) {\n type3Dependencies.add(dependency);\n }\n }).catch(function (reason) {\n (0, _util.warn)(`Type3 font resource \"${key}\" is not available.`);\n const dummyOperatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = dummyOperatorList.getIR();\n });\n });\n }\n this.type3Loaded = loadCharProcsPromise.then(() => {\n translatedFont.charProcOperatorList = charProcOperatorList;\n if (this._bbox) {\n translatedFont.isCharBBox = true;\n translatedFont.bbox = this._bbox;\n }\n });\n return this.type3Loaded;\n }\n _removeType3ColorOperators(operatorList, fontBBoxSize = NaN) {\n const charBBox = _util.Util.normalizeRect(operatorList.argsArray[0].slice(2)),\n width = charBBox[2] - charBBox[0],\n height = charBBox[3] - charBBox[1];\n const charBBoxSize = Math.hypot(width, height);\n if (width === 0 || height === 0) {\n operatorList.fnArray.splice(0, 1);\n operatorList.argsArray.splice(0, 1);\n } else if (fontBBoxSize === 0 || Math.round(charBBoxSize / fontBBoxSize) >= 10) {\n if (!this._bbox) {\n this._bbox = [Infinity, Infinity, -Infinity, -Infinity];\n }\n this._bbox[0] = Math.min(this._bbox[0], charBBox[0]);\n this._bbox[1] = Math.min(this._bbox[1], charBBox[1]);\n this._bbox[2] = Math.max(this._bbox[2], charBBox[2]);\n this._bbox[3] = Math.max(this._bbox[3], charBBox[3]);\n }\n let i = 0,\n ii = operatorList.length;\n while (i < ii) {\n switch (operatorList.fnArray[i]) {\n case _util.OPS.setCharWidthAndBounds:\n break;\n case _util.OPS.setStrokeColorSpace:\n case _util.OPS.setFillColorSpace:\n case _util.OPS.setStrokeColor:\n case _util.OPS.setStrokeColorN:\n case _util.OPS.setFillColor:\n case _util.OPS.setFillColorN:\n case _util.OPS.setStrokeGray:\n case _util.OPS.setFillGray:\n case _util.OPS.setStrokeRGBColor:\n case _util.OPS.setFillRGBColor:\n case _util.OPS.setStrokeCMYKColor:\n case _util.OPS.setFillCMYKColor:\n case _util.OPS.shadingFill:\n case _util.OPS.setRenderingIntent:\n operatorList.fnArray.splice(i, 1);\n operatorList.argsArray.splice(i, 1);\n ii--;\n continue;\n case _util.OPS.setGState:\n const [gStateObj] = operatorList.argsArray[i];\n let j = 0,\n jj = gStateObj.length;\n while (j < jj) {\n const [gStateKey] = gStateObj[j];\n switch (gStateKey) {\n case \"TR\":\n case \"TR2\":\n case \"HT\":\n case \"BG\":\n case \"BG2\":\n case \"UCR\":\n case \"UCR2\":\n gStateObj.splice(j, 1);\n jj--;\n continue;\n }\n j++;\n }\n break;\n }\n i++;\n }\n }\n}\nclass StateManager {\n constructor(initialState = new EvalState()) {\n this.state = initialState;\n this.stateStack = [];\n }\n save() {\n const old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n }\n restore() {\n const prev = this.stateStack.pop();\n if (prev) {\n this.state = prev;\n }\n }\n transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n}\nclass TextState {\n constructor() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.fontName = null;\n this.fontSize = 0;\n this.loadedName = null;\n this.font = null;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.textMatrix = _util.IDENTITY_MATRIX.slice();\n this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.leading = 0;\n this.textHScale = 1;\n this.textRise = 0;\n }\n setTextMatrix(a, b, c, d, e, f) {\n const m = this.textMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n }\n setTextLineMatrix(a, b, c, d, e, f) {\n const m = this.textLineMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n }\n translateTextMatrix(x, y) {\n const m = this.textMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n }\n translateTextLineMatrix(x, y) {\n const m = this.textLineMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n }\n carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n }\n clone() {\n const clone = Object.create(this);\n clone.textMatrix = this.textMatrix.slice();\n clone.textLineMatrix = this.textLineMatrix.slice();\n clone.fontMatrix = this.fontMatrix.slice();\n return clone;\n }\n}\nclass EvalState {\n constructor() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.font = null;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n }\n clone() {\n return Object.create(this);\n }\n}\nclass EvaluatorPreprocessor {\n static get opMap() {\n return (0, _util.shadow)(this, \"opMap\", {\n w: {\n id: _util.OPS.setLineWidth,\n numArgs: 1,\n variableArgs: false\n },\n J: {\n id: _util.OPS.setLineCap,\n numArgs: 1,\n variableArgs: false\n },\n j: {\n id: _util.OPS.setLineJoin,\n numArgs: 1,\n variableArgs: false\n },\n M: {\n id: _util.OPS.setMiterLimit,\n numArgs: 1,\n variableArgs: false\n },\n d: {\n id: _util.OPS.setDash,\n numArgs: 2,\n variableArgs: false\n },\n ri: {\n id: _util.OPS.setRenderingIntent,\n numArgs: 1,\n variableArgs: false\n },\n i: {\n id: _util.OPS.setFlatness,\n numArgs: 1,\n variableArgs: false\n },\n gs: {\n id: _util.OPS.setGState,\n numArgs: 1,\n variableArgs: false\n },\n q: {\n id: _util.OPS.save,\n numArgs: 0,\n variableArgs: false\n },\n Q: {\n id: _util.OPS.restore,\n numArgs: 0,\n variableArgs: false\n },\n cm: {\n id: _util.OPS.transform,\n numArgs: 6,\n variableArgs: false\n },\n m: {\n id: _util.OPS.moveTo,\n numArgs: 2,\n variableArgs: false\n },\n l: {\n id: _util.OPS.lineTo,\n numArgs: 2,\n variableArgs: false\n },\n c: {\n id: _util.OPS.curveTo,\n numArgs: 6,\n variableArgs: false\n },\n v: {\n id: _util.OPS.curveTo2,\n numArgs: 4,\n variableArgs: false\n },\n y: {\n id: _util.OPS.curveTo3,\n numArgs: 4,\n variableArgs: false\n },\n h: {\n id: _util.OPS.closePath,\n numArgs: 0,\n variableArgs: false\n },\n re: {\n id: _util.OPS.rectangle,\n numArgs: 4,\n variableArgs: false\n },\n S: {\n id: _util.OPS.stroke,\n numArgs: 0,\n variableArgs: false\n },\n s: {\n id: _util.OPS.closeStroke,\n numArgs: 0,\n variableArgs: false\n },\n f: {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n },\n F: {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n },\n \"f*\": {\n id: _util.OPS.eoFill,\n numArgs: 0,\n variableArgs: false\n },\n B: {\n id: _util.OPS.fillStroke,\n numArgs: 0,\n variableArgs: false\n },\n \"B*\": {\n id: _util.OPS.eoFillStroke,\n numArgs: 0,\n variableArgs: false\n },\n b: {\n id: _util.OPS.closeFillStroke,\n numArgs: 0,\n variableArgs: false\n },\n \"b*\": {\n id: _util.OPS.closeEOFillStroke,\n numArgs: 0,\n variableArgs: false\n },\n n: {\n id: _util.OPS.endPath,\n numArgs: 0,\n variableArgs: false\n },\n W: {\n id: _util.OPS.clip,\n numArgs: 0,\n variableArgs: false\n },\n \"W*\": {\n id: _util.OPS.eoClip,\n numArgs: 0,\n variableArgs: false\n },\n BT: {\n id: _util.OPS.beginText,\n numArgs: 0,\n variableArgs: false\n },\n ET: {\n id: _util.OPS.endText,\n numArgs: 0,\n variableArgs: false\n },\n Tc: {\n id: _util.OPS.setCharSpacing,\n numArgs: 1,\n variableArgs: false\n },\n Tw: {\n id: _util.OPS.setWordSpacing,\n numArgs: 1,\n variableArgs: false\n },\n Tz: {\n id: _util.OPS.setHScale,\n numArgs: 1,\n variableArgs: false\n },\n TL: {\n id: _util.OPS.setLeading,\n numArgs: 1,\n variableArgs: false\n },\n Tf: {\n id: _util.OPS.setFont,\n numArgs: 2,\n variableArgs: false\n },\n Tr: {\n id: _util.OPS.setTextRenderingMode,\n numArgs: 1,\n variableArgs: false\n },\n Ts: {\n id: _util.OPS.setTextRise,\n numArgs: 1,\n variableArgs: false\n },\n Td: {\n id: _util.OPS.moveText,\n numArgs: 2,\n variableArgs: false\n },\n TD: {\n id: _util.OPS.setLeadingMoveText,\n numArgs: 2,\n variableArgs: false\n },\n Tm: {\n id: _util.OPS.setTextMatrix,\n numArgs: 6,\n variableArgs: false\n },\n \"T*\": {\n id: _util.OPS.nextLine,\n numArgs: 0,\n variableArgs: false\n },\n Tj: {\n id: _util.OPS.showText,\n numArgs: 1,\n variableArgs: false\n },\n TJ: {\n id: _util.OPS.showSpacedText,\n numArgs: 1,\n variableArgs: false\n },\n \"'\": {\n id: _util.OPS.nextLineShowText,\n numArgs: 1,\n variableArgs: false\n },\n '\"': {\n id: _util.OPS.nextLineSetSpacingShowText,\n numArgs: 3,\n variableArgs: false\n },\n d0: {\n id: _util.OPS.setCharWidth,\n numArgs: 2,\n variableArgs: false\n },\n d1: {\n id: _util.OPS.setCharWidthAndBounds,\n numArgs: 6,\n variableArgs: false\n },\n CS: {\n id: _util.OPS.setStrokeColorSpace,\n numArgs: 1,\n variableArgs: false\n },\n cs: {\n id: _util.OPS.setFillColorSpace,\n numArgs: 1,\n variableArgs: false\n },\n SC: {\n id: _util.OPS.setStrokeColor,\n numArgs: 4,\n variableArgs: true\n },\n SCN: {\n id: _util.OPS.setStrokeColorN,\n numArgs: 33,\n variableArgs: true\n },\n sc: {\n id: _util.OPS.setFillColor,\n numArgs: 4,\n variableArgs: true\n },\n scn: {\n id: _util.OPS.setFillColorN,\n numArgs: 33,\n variableArgs: true\n },\n G: {\n id: _util.OPS.setStrokeGray,\n numArgs: 1,\n variableArgs: false\n },\n g: {\n id: _util.OPS.setFillGray,\n numArgs: 1,\n variableArgs: false\n },\n RG: {\n id: _util.OPS.setStrokeRGBColor,\n numArgs: 3,\n variableArgs: false\n },\n rg: {\n id: _util.OPS.setFillRGBColor,\n numArgs: 3,\n variableArgs: false\n },\n K: {\n id: _util.OPS.setStrokeCMYKColor,\n numArgs: 4,\n variableArgs: false\n },\n k: {\n id: _util.OPS.setFillCMYKColor,\n numArgs: 4,\n variableArgs: false\n },\n sh: {\n id: _util.OPS.shadingFill,\n numArgs: 1,\n variableArgs: false\n },\n BI: {\n id: _util.OPS.beginInlineImage,\n numArgs: 0,\n variableArgs: false\n },\n ID: {\n id: _util.OPS.beginImageData,\n numArgs: 0,\n variableArgs: false\n },\n EI: {\n id: _util.OPS.endInlineImage,\n numArgs: 1,\n variableArgs: false\n },\n Do: {\n id: _util.OPS.paintXObject,\n numArgs: 1,\n variableArgs: false\n },\n MP: {\n id: _util.OPS.markPoint,\n numArgs: 1,\n variableArgs: false\n },\n DP: {\n id: _util.OPS.markPointProps,\n numArgs: 2,\n variableArgs: false\n },\n BMC: {\n id: _util.OPS.beginMarkedContent,\n numArgs: 1,\n variableArgs: false\n },\n BDC: {\n id: _util.OPS.beginMarkedContentProps,\n numArgs: 2,\n variableArgs: false\n },\n EMC: {\n id: _util.OPS.endMarkedContent,\n numArgs: 0,\n variableArgs: false\n },\n BX: {\n id: _util.OPS.beginCompat,\n numArgs: 0,\n variableArgs: false\n },\n EX: {\n id: _util.OPS.endCompat,\n numArgs: 0,\n variableArgs: false\n },\n BM: null,\n BD: null,\n true: null,\n fa: null,\n fal: null,\n fals: null,\n false: null,\n nu: null,\n nul: null,\n null: null\n });\n }\n static MAX_INVALID_PATH_OPS = 10;\n constructor(stream, xref, stateManager = new StateManager()) {\n this.parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream, EvaluatorPreprocessor.opMap),\n xref\n });\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._isPathOp = false;\n this._numInvalidPathOPS = 0;\n }\n get savedStatesDepth() {\n return this.stateManager.stateStack.length;\n }\n read(operation) {\n let args = operation.args;\n while (true) {\n const obj = this.parser.getObj();\n if (obj instanceof _primitives.Cmd) {\n const cmd = obj.cmd;\n const opSpec = EvaluatorPreprocessor.opMap[cmd];\n if (!opSpec) {\n (0, _util.warn)(`Unknown command \"${cmd}\".`);\n continue;\n }\n const fn = opSpec.id;\n const numArgs = opSpec.numArgs;\n let argsLength = args !== null ? args.length : 0;\n if (!this._isPathOp) {\n this._numInvalidPathOPS = 0;\n }\n this._isPathOp = fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath;\n if (!opSpec.variableArgs) {\n if (argsLength !== numArgs) {\n const nonProcessedArgs = this.nonProcessedArgs;\n while (argsLength > numArgs) {\n nonProcessedArgs.push(args.shift());\n argsLength--;\n }\n while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n if (args === null) {\n args = [];\n }\n args.unshift(nonProcessedArgs.pop());\n argsLength++;\n }\n }\n if (argsLength < numArgs) {\n const partialMsg = `command ${cmd}: expected ${numArgs} args, ` + `but received ${argsLength} args.`;\n if (this._isPathOp && ++this._numInvalidPathOPS > EvaluatorPreprocessor.MAX_INVALID_PATH_OPS) {\n throw new _util.FormatError(`Invalid ${partialMsg}`);\n }\n (0, _util.warn)(`Skipping ${partialMsg}`);\n if (args !== null) {\n args.length = 0;\n }\n continue;\n }\n } else if (argsLength > numArgs) {\n (0, _util.info)(`Command ${cmd}: expected [0, ${numArgs}] args, ` + `but received ${argsLength} args.`);\n }\n this.preprocessCommand(fn, args);\n operation.fn = fn;\n operation.args = args;\n return true;\n }\n if (obj === _primitives.EOF) {\n return false;\n }\n if (obj !== null) {\n if (args === null) {\n args = [];\n }\n args.push(obj);\n if (args.length > 33) {\n throw new _util.FormatError(\"Too many arguments\");\n }\n }\n }\n }\n preprocessCommand(fn, args) {\n switch (fn | 0) {\n case _util.OPS.save:\n this.stateManager.save();\n break;\n case _util.OPS.restore:\n this.stateManager.restore();\n break;\n case _util.OPS.transform:\n this.stateManager.transform(args);\n break;\n }\n }\n}\nexports.EvaluatorPreprocessor = EvaluatorPreprocessor;\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.IdentityCMap = exports.CMapFactory = exports.CMap = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _binary_cmap = __w_pdfjs_require__(15);\nvar _parser = __w_pdfjs_require__(16);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _stream = __w_pdfjs_require__(8);\nconst BUILT_IN_CMAPS = [\"Adobe-GB1-UCS2\", \"Adobe-CNS1-UCS2\", \"Adobe-Japan1-UCS2\", \"Adobe-Korea1-UCS2\", \"78-EUC-H\", \"78-EUC-V\", \"78-H\", \"78-RKSJ-H\", \"78-RKSJ-V\", \"78-V\", \"78ms-RKSJ-H\", \"78ms-RKSJ-V\", \"83pv-RKSJ-H\", \"90ms-RKSJ-H\", \"90ms-RKSJ-V\", \"90msp-RKSJ-H\", \"90msp-RKSJ-V\", \"90pv-RKSJ-H\", \"90pv-RKSJ-V\", \"Add-H\", \"Add-RKSJ-H\", \"Add-RKSJ-V\", \"Add-V\", \"Adobe-CNS1-0\", \"Adobe-CNS1-1\", \"Adobe-CNS1-2\", \"Adobe-CNS1-3\", \"Adobe-CNS1-4\", \"Adobe-CNS1-5\", \"Adobe-CNS1-6\", \"Adobe-GB1-0\", \"Adobe-GB1-1\", \"Adobe-GB1-2\", \"Adobe-GB1-3\", \"Adobe-GB1-4\", \"Adobe-GB1-5\", \"Adobe-Japan1-0\", \"Adobe-Japan1-1\", \"Adobe-Japan1-2\", \"Adobe-Japan1-3\", \"Adobe-Japan1-4\", \"Adobe-Japan1-5\", \"Adobe-Japan1-6\", \"Adobe-Korea1-0\", \"Adobe-Korea1-1\", \"Adobe-Korea1-2\", \"B5-H\", \"B5-V\", \"B5pc-H\", \"B5pc-V\", \"CNS-EUC-H\", \"CNS-EUC-V\", \"CNS1-H\", \"CNS1-V\", \"CNS2-H\", \"CNS2-V\", \"ETHK-B5-H\", \"ETHK-B5-V\", \"ETen-B5-H\", \"ETen-B5-V\", \"ETenms-B5-H\", \"ETenms-B5-V\", \"EUC-H\", \"EUC-V\", \"Ext-H\", \"Ext-RKSJ-H\", \"Ext-RKSJ-V\", \"Ext-V\", \"GB-EUC-H\", \"GB-EUC-V\", \"GB-H\", \"GB-V\", \"GBK-EUC-H\", \"GBK-EUC-V\", \"GBK2K-H\", \"GBK2K-V\", \"GBKp-EUC-H\", \"GBKp-EUC-V\", \"GBT-EUC-H\", \"GBT-EUC-V\", \"GBT-H\", \"GBT-V\", \"GBTpc-EUC-H\", \"GBTpc-EUC-V\", \"GBpc-EUC-H\", \"GBpc-EUC-V\", \"H\", \"HKdla-B5-H\", \"HKdla-B5-V\", \"HKdlb-B5-H\", \"HKdlb-B5-V\", \"HKgccs-B5-H\", \"HKgccs-B5-V\", \"HKm314-B5-H\", \"HKm314-B5-V\", \"HKm471-B5-H\", \"HKm471-B5-V\", \"HKscs-B5-H\", \"HKscs-B5-V\", \"Hankaku\", \"Hiragana\", \"KSC-EUC-H\", \"KSC-EUC-V\", \"KSC-H\", \"KSC-Johab-H\", \"KSC-Johab-V\", \"KSC-V\", \"KSCms-UHC-H\", \"KSCms-UHC-HW-H\", \"KSCms-UHC-HW-V\", \"KSCms-UHC-V\", \"KSCpc-EUC-H\", \"KSCpc-EUC-V\", \"Katakana\", \"NWP-H\", \"NWP-V\", \"RKSJ-H\", \"RKSJ-V\", \"Roman\", \"UniCNS-UCS2-H\", \"UniCNS-UCS2-V\", \"UniCNS-UTF16-H\", \"UniCNS-UTF16-V\", \"UniCNS-UTF32-H\", \"UniCNS-UTF32-V\", \"UniCNS-UTF8-H\", \"UniCNS-UTF8-V\", \"UniGB-UCS2-H\", \"UniGB-UCS2-V\", \"UniGB-UTF16-H\", \"UniGB-UTF16-V\", \"UniGB-UTF32-H\", \"UniGB-UTF32-V\", \"UniGB-UTF8-H\", \"UniGB-UTF8-V\", \"UniJIS-UCS2-H\", \"UniJIS-UCS2-HW-H\", \"UniJIS-UCS2-HW-V\", \"UniJIS-UCS2-V\", \"UniJIS-UTF16-H\", \"UniJIS-UTF16-V\", \"UniJIS-UTF32-H\", \"UniJIS-UTF32-V\", \"UniJIS-UTF8-H\", \"UniJIS-UTF8-V\", \"UniJIS2004-UTF16-H\", \"UniJIS2004-UTF16-V\", \"UniJIS2004-UTF32-H\", \"UniJIS2004-UTF32-V\", \"UniJIS2004-UTF8-H\", \"UniJIS2004-UTF8-V\", \"UniJISPro-UCS2-HW-V\", \"UniJISPro-UCS2-V\", \"UniJISPro-UTF8-V\", \"UniJISX0213-UTF32-H\", \"UniJISX0213-UTF32-V\", \"UniJISX02132004-UTF32-H\", \"UniJISX02132004-UTF32-V\", \"UniKS-UCS2-H\", \"UniKS-UCS2-V\", \"UniKS-UTF16-H\", \"UniKS-UTF16-V\", \"UniKS-UTF32-H\", \"UniKS-UTF32-V\", \"UniKS-UTF8-H\", \"UniKS-UTF8-V\", \"V\", \"WP-Symbol\"];\nconst MAX_MAP_RANGE = 2 ** 24 - 1;\nclass CMap {\n constructor(builtInCMap = false) {\n this.codespaceRanges = [[], [], [], []];\n this.numCodespaceRanges = 0;\n this._map = [];\n this.name = \"\";\n this.vertical = false;\n this.useCMap = null;\n this.builtInCMap = builtInCMap;\n }\n addCodespaceRange(n, low, high) {\n this.codespaceRanges[n - 1].push(low, high);\n this.numCodespaceRanges++;\n }\n mapCidRange(low, high, dstLow) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapCidRange - ignoring data above MAX_MAP_RANGE.\");\n }\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n mapBfRange(low, high, dstLow) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRange - ignoring data above MAX_MAP_RANGE.\");\n }\n const lastByte = dstLow.length - 1;\n while (low <= high) {\n this._map[low++] = dstLow;\n const nextCharCode = dstLow.charCodeAt(lastByte) + 1;\n if (nextCharCode > 0xff) {\n dstLow = dstLow.substring(0, lastByte - 1) + String.fromCharCode(dstLow.charCodeAt(lastByte - 1) + 1) + \"\\x00\";\n continue;\n }\n dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(nextCharCode);\n }\n }\n mapBfRangeToArray(low, high, array) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\");\n }\n const ii = array.length;\n let i = 0;\n while (low <= high && i < ii) {\n this._map[low] = array[i++];\n ++low;\n }\n }\n mapOne(src, dst) {\n this._map[src] = dst;\n }\n lookup(code) {\n return this._map[code];\n }\n contains(code) {\n return this._map[code] !== undefined;\n }\n forEach(callback) {\n const map = this._map;\n const length = map.length;\n if (length <= 0x10000) {\n for (let i = 0; i < length; i++) {\n if (map[i] !== undefined) {\n callback(i, map[i]);\n }\n }\n } else {\n for (const i in map) {\n callback(i, map[i]);\n }\n }\n }\n charCodeOf(value) {\n const map = this._map;\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n for (const charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n return -1;\n }\n getMap() {\n return this._map;\n }\n readCharCode(str, offset, out) {\n let c = 0;\n const codespaceRanges = this.codespaceRanges;\n for (let n = 0, nn = codespaceRanges.length; n < nn; n++) {\n c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n const codespaceRange = codespaceRanges[n];\n for (let k = 0, kk = codespaceRange.length; k < kk;) {\n const low = codespaceRange[k++];\n const high = codespaceRange[k++];\n if (c >= low && c <= high) {\n out.charcode = c;\n out.length = n + 1;\n return;\n }\n }\n }\n out.charcode = 0;\n out.length = 1;\n }\n getCharCodeLength(charCode) {\n const codespaceRanges = this.codespaceRanges;\n for (let n = 0, nn = codespaceRanges.length; n < nn; n++) {\n const codespaceRange = codespaceRanges[n];\n for (let k = 0, kk = codespaceRange.length; k < kk;) {\n const low = codespaceRange[k++];\n const high = codespaceRange[k++];\n if (charCode >= low && charCode <= high) {\n return n + 1;\n }\n }\n }\n return 1;\n }\n get length() {\n return this._map.length;\n }\n get isIdentityCMap() {\n if (!(this.name === \"Identity-H\" || this.name === \"Identity-V\")) {\n return false;\n }\n if (this._map.length !== 0x10000) {\n return false;\n }\n for (let i = 0; i < 0x10000; i++) {\n if (this._map[i] !== i) {\n return false;\n }\n }\n return true;\n }\n}\nexports.CMap = CMap;\nclass IdentityCMap extends CMap {\n constructor(vertical, n) {\n super();\n this.vertical = vertical;\n this.addCodespaceRange(n, 0, 0xffff);\n }\n mapCidRange(low, high, dstLow) {\n (0, _util.unreachable)(\"should not call mapCidRange\");\n }\n mapBfRange(low, high, dstLow) {\n (0, _util.unreachable)(\"should not call mapBfRange\");\n }\n mapBfRangeToArray(low, high, array) {\n (0, _util.unreachable)(\"should not call mapBfRangeToArray\");\n }\n mapOne(src, dst) {\n (0, _util.unreachable)(\"should not call mapCidOne\");\n }\n lookup(code) {\n return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n }\n contains(code) {\n return Number.isInteger(code) && code <= 0xffff;\n }\n forEach(callback) {\n for (let i = 0; i <= 0xffff; i++) {\n callback(i, i);\n }\n }\n charCodeOf(value) {\n return Number.isInteger(value) && value <= 0xffff ? value : -1;\n }\n getMap() {\n const map = new Array(0x10000);\n for (let i = 0; i <= 0xffff; i++) {\n map[i] = i;\n }\n return map;\n }\n get length() {\n return 0x10000;\n }\n get isIdentityCMap() {\n (0, _util.unreachable)(\"should not access .isIdentityCMap\");\n }\n}\nexports.IdentityCMap = IdentityCMap;\nfunction strToInt(str) {\n let a = 0;\n for (let i = 0; i < str.length; i++) {\n a = a << 8 | str.charCodeAt(i);\n }\n return a >>> 0;\n}\nfunction expectString(obj) {\n if (typeof obj !== \"string\") {\n throw new _util.FormatError(\"Malformed CMap: expected string.\");\n }\n}\nfunction expectInt(obj) {\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected int.\");\n }\n}\nfunction parseBfChar(cMap, lexer) {\n while (true) {\n let obj = lexer.getObj();\n if (obj === _primitives.EOF) {\n break;\n }\n if ((0, _primitives.isCmd)(obj, \"endbfchar\")) {\n return;\n }\n expectString(obj);\n const src = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n const dst = obj;\n cMap.mapOne(src, dst);\n }\n}\nfunction parseBfRange(cMap, lexer) {\n while (true) {\n let obj = lexer.getObj();\n if (obj === _primitives.EOF) {\n break;\n }\n if ((0, _primitives.isCmd)(obj, \"endbfrange\")) {\n return;\n }\n expectString(obj);\n const low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n const high = strToInt(obj);\n obj = lexer.getObj();\n if (Number.isInteger(obj) || typeof obj === \"string\") {\n const dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n cMap.mapBfRange(low, high, dstLow);\n } else if ((0, _primitives.isCmd)(obj, \"[\")) {\n obj = lexer.getObj();\n const array = [];\n while (!(0, _primitives.isCmd)(obj, \"]\") && obj !== _primitives.EOF) {\n array.push(obj);\n obj = lexer.getObj();\n }\n cMap.mapBfRangeToArray(low, high, array);\n } else {\n break;\n }\n }\n throw new _util.FormatError(\"Invalid bf range.\");\n}\nfunction parseCidChar(cMap, lexer) {\n while (true) {\n let obj = lexer.getObj();\n if (obj === _primitives.EOF) {\n break;\n }\n if ((0, _primitives.isCmd)(obj, \"endcidchar\")) {\n return;\n }\n expectString(obj);\n const src = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n const dst = obj;\n cMap.mapOne(src, dst);\n }\n}\nfunction parseCidRange(cMap, lexer) {\n while (true) {\n let obj = lexer.getObj();\n if (obj === _primitives.EOF) {\n break;\n }\n if ((0, _primitives.isCmd)(obj, \"endcidrange\")) {\n return;\n }\n expectString(obj);\n const low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n const high = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n const dstLow = obj;\n cMap.mapCidRange(low, high, dstLow);\n }\n}\nfunction parseCodespaceRange(cMap, lexer) {\n while (true) {\n let obj = lexer.getObj();\n if (obj === _primitives.EOF) {\n break;\n }\n if ((0, _primitives.isCmd)(obj, \"endcodespacerange\")) {\n return;\n }\n if (typeof obj !== \"string\") {\n break;\n }\n const low = strToInt(obj);\n obj = lexer.getObj();\n if (typeof obj !== \"string\") {\n break;\n }\n const high = strToInt(obj);\n cMap.addCodespaceRange(obj.length, low, high);\n }\n throw new _util.FormatError(\"Invalid codespace range.\");\n}\nfunction parseWMode(cMap, lexer) {\n const obj = lexer.getObj();\n if (Number.isInteger(obj)) {\n cMap.vertical = !!obj;\n }\n}\nfunction parseCMapName(cMap, lexer) {\n const obj = lexer.getObj();\n if (obj instanceof _primitives.Name) {\n cMap.name = obj.name;\n }\n}\nasync function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n let previous, embeddedUseCMap;\n objLoop: while (true) {\n try {\n const obj = lexer.getObj();\n if (obj === _primitives.EOF) {\n break;\n } else if (obj instanceof _primitives.Name) {\n if (obj.name === \"WMode\") {\n parseWMode(cMap, lexer);\n } else if (obj.name === \"CMapName\") {\n parseCMapName(cMap, lexer);\n }\n previous = obj;\n } else if (obj instanceof _primitives.Cmd) {\n switch (obj.cmd) {\n case \"endcmap\":\n break objLoop;\n case \"usecmap\":\n if (previous instanceof _primitives.Name) {\n embeddedUseCMap = previous.name;\n }\n break;\n case \"begincodespacerange\":\n parseCodespaceRange(cMap, lexer);\n break;\n case \"beginbfchar\":\n parseBfChar(cMap, lexer);\n break;\n case \"begincidchar\":\n parseCidChar(cMap, lexer);\n break;\n case \"beginbfrange\":\n parseBfRange(cMap, lexer);\n break;\n case \"begincidrange\":\n parseCidRange(cMap, lexer);\n break;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(\"Invalid cMap data: \" + ex);\n continue;\n }\n }\n if (!useCMap && embeddedUseCMap) {\n useCMap = embeddedUseCMap;\n }\n if (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n }\n return cMap;\n}\nasync function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n cMap.useCMap = await createBuiltInCMap(useCMap, fetchBuiltInCMap);\n if (cMap.numCodespaceRanges === 0) {\n const useCodespaceRanges = cMap.useCMap.codespaceRanges;\n for (let i = 0; i < useCodespaceRanges.length; i++) {\n cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n }\n cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n }\n cMap.useCMap.forEach(function (key, value) {\n if (!cMap.contains(key)) {\n cMap.mapOne(key, cMap.useCMap.lookup(key));\n }\n });\n return cMap;\n}\nasync function createBuiltInCMap(name, fetchBuiltInCMap) {\n if (name === \"Identity-H\") {\n return new IdentityCMap(false, 2);\n } else if (name === \"Identity-V\") {\n return new IdentityCMap(true, 2);\n }\n if (!BUILT_IN_CMAPS.includes(name)) {\n throw new Error(\"Unknown CMap name: \" + name);\n }\n if (!fetchBuiltInCMap) {\n throw new Error(\"Built-in CMap parameters are not provided.\");\n }\n const {\n cMapData,\n compressionType\n } = await fetchBuiltInCMap(name);\n const cMap = new CMap(true);\n if (compressionType === _util.CMapCompressionType.BINARY) {\n return new _binary_cmap.BinaryCMapReader().process(cMapData, cMap, useCMap => {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n });\n }\n if (compressionType === _util.CMapCompressionType.NONE) {\n const lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n }\n throw new Error(`Invalid CMap \"compressionType\" value: ${compressionType}`);\n}\nclass CMapFactory {\n static async create({\n encoding,\n fetchBuiltInCMap,\n useCMap\n }) {\n if (encoding instanceof _primitives.Name) {\n return createBuiltInCMap(encoding.name, fetchBuiltInCMap);\n } else if (encoding instanceof _base_stream.BaseStream) {\n const parsedCMap = await parseCMap(new CMap(), new _parser.Lexer(encoding), fetchBuiltInCMap, useCMap);\n if (parsedCMap.isIdentityCMap) {\n return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n }\n return parsedCMap;\n }\n throw new Error(\"Encoding required.\");\n }\n}\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BinaryCMapReader = void 0;\nvar _util = __w_pdfjs_require__(2);\nfunction hexToInt(a, size) {\n let n = 0;\n for (let i = 0; i <= size; i++) {\n n = n << 8 | a[i];\n }\n return n >>> 0;\n}\nfunction hexToStr(a, size) {\n if (size === 1) {\n return String.fromCharCode(a[0], a[1]);\n }\n if (size === 3) {\n return String.fromCharCode(a[0], a[1], a[2], a[3]);\n }\n return String.fromCharCode(...a.subarray(0, size + 1));\n}\nfunction addHex(a, b, size) {\n let c = 0;\n for (let i = size; i >= 0; i--) {\n c += a[i] + b[i];\n a[i] = c & 255;\n c >>= 8;\n }\n}\nfunction incHex(a, size) {\n let c = 1;\n for (let i = size; i >= 0 && c > 0; i--) {\n c += a[i];\n a[i] = c & 255;\n c >>= 8;\n }\n}\nconst MAX_NUM_SIZE = 16;\nconst MAX_ENCODED_NUM_SIZE = 19;\nclass BinaryCMapStream {\n constructor(data) {\n this.buffer = data;\n this.pos = 0;\n this.end = data.length;\n this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n }\n readByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n return this.buffer[this.pos++];\n }\n readNumber() {\n let n = 0;\n let last;\n do {\n const b = this.readByte();\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n last = !(b & 0x80);\n n = n << 7 | b & 0x7f;\n } while (!last);\n return n;\n }\n readSigned() {\n const n = this.readNumber();\n return n & 1 ? ~(n >>> 1) : n >>> 1;\n }\n readHex(num, size) {\n num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n this.pos += size + 1;\n }\n readHexNumber(num, size) {\n let last;\n const stack = this.tmpBuf;\n let sp = 0;\n do {\n const b = this.readByte();\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n last = !(b & 0x80);\n stack[sp++] = b & 0x7f;\n } while (!last);\n let i = size,\n buffer = 0,\n bufferSize = 0;\n while (i >= 0) {\n while (bufferSize < 8 && stack.length > 0) {\n buffer |= stack[--sp] << bufferSize;\n bufferSize += 7;\n }\n num[i] = buffer & 255;\n i--;\n buffer >>= 8;\n bufferSize -= 8;\n }\n }\n readHexSigned(num, size) {\n this.readHexNumber(num, size);\n const sign = num[size] & 1 ? 255 : 0;\n let c = 0;\n for (let i = 0; i <= size; i++) {\n c = (c & 1) << 8 | num[i];\n num[i] = c >> 1 ^ sign;\n }\n }\n readString() {\n const len = this.readNumber(),\n buf = new Array(len);\n for (let i = 0; i < len; i++) {\n buf[i] = this.readNumber();\n }\n return String.fromCharCode(...buf);\n }\n}\nclass BinaryCMapReader {\n async process(data, cMap, extend) {\n const stream = new BinaryCMapStream(data);\n const header = stream.readByte();\n cMap.vertical = !!(header & 1);\n let useCMap = null;\n const start = new Uint8Array(MAX_NUM_SIZE);\n const end = new Uint8Array(MAX_NUM_SIZE);\n const char = new Uint8Array(MAX_NUM_SIZE);\n const charCode = new Uint8Array(MAX_NUM_SIZE);\n const tmp = new Uint8Array(MAX_NUM_SIZE);\n let code;\n let b;\n while ((b = stream.readByte()) >= 0) {\n const type = b >> 5;\n if (type === 7) {\n switch (b & 0x1f) {\n case 0:\n stream.readString();\n break;\n case 1:\n useCMap = stream.readString();\n break;\n }\n continue;\n }\n const sequence = !!(b & 0x10);\n const dataSize = b & 15;\n if (dataSize + 1 > MAX_NUM_SIZE) {\n throw new Error(\"BinaryCMapReader.process: Invalid dataSize.\");\n }\n const ucs2DataSize = 1;\n const subitemsCount = stream.readNumber();\n switch (type) {\n case 0:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n for (let i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n }\n break;\n case 1:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n for (let i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n }\n break;\n case 2:\n stream.readHex(char, dataSize);\n code = stream.readNumber();\n cMap.mapOne(hexToInt(char, dataSize), code);\n for (let i = 1; i < subitemsCount; i++) {\n incHex(char, dataSize);\n if (!sequence) {\n stream.readHexNumber(tmp, dataSize);\n addHex(char, tmp, dataSize);\n }\n code = stream.readSigned() + (code + 1);\n cMap.mapOne(hexToInt(char, dataSize), code);\n }\n break;\n case 3:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n for (let i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n if (!sequence) {\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n } else {\n start.set(end);\n }\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n }\n break;\n case 4:\n stream.readHex(char, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n for (let i = 1; i < subitemsCount; i++) {\n incHex(char, ucs2DataSize);\n if (!sequence) {\n stream.readHexNumber(tmp, ucs2DataSize);\n addHex(char, tmp, ucs2DataSize);\n }\n incHex(charCode, dataSize);\n stream.readHexSigned(tmp, dataSize);\n addHex(charCode, tmp, dataSize);\n cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n break;\n case 5:\n stream.readHex(start, ucs2DataSize);\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n for (let i = 1; i < subitemsCount; i++) {\n incHex(end, ucs2DataSize);\n if (!sequence) {\n stream.readHexNumber(start, ucs2DataSize);\n addHex(start, end, ucs2DataSize);\n } else {\n start.set(end);\n }\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n break;\n default:\n throw new Error(`BinaryCMapReader.process - unknown type: ${type}`);\n }\n }\n if (useCMap) {\n return extend(useCMap);\n }\n return cMap;\n }\n}\nexports.BinaryCMapReader = BinaryCMapReader;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Parser = exports.Linearization = exports.Lexer = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _stream = __w_pdfjs_require__(8);\nvar _ascii_85_stream = __w_pdfjs_require__(17);\nvar _ascii_hex_stream = __w_pdfjs_require__(19);\nvar _ccitt_stream = __w_pdfjs_require__(20);\nvar _flate_stream = __w_pdfjs_require__(22);\nvar _jbig2_stream = __w_pdfjs_require__(23);\nvar _jpeg_stream = __w_pdfjs_require__(26);\nvar _jpx_stream = __w_pdfjs_require__(29);\nvar _lzw_stream = __w_pdfjs_require__(31);\nvar _predictor_stream = __w_pdfjs_require__(32);\nvar _run_length_stream = __w_pdfjs_require__(33);\nconst MAX_LENGTH_TO_CACHE = 1000;\nfunction getInlineImageCacheKey(bytes) {\n const strBuf = [],\n ii = bytes.length;\n let i = 0;\n while (i < ii - 1) {\n strBuf.push(bytes[i++] << 8 | bytes[i++]);\n }\n if (i < ii) {\n strBuf.push(bytes[i]);\n }\n return ii + \"_\" + String.fromCharCode.apply(null, strBuf);\n}\nclass Parser {\n constructor({\n lexer,\n xref,\n allowStreams = false,\n recoveryMode = false\n }) {\n this.lexer = lexer;\n this.xref = xref;\n this.allowStreams = allowStreams;\n this.recoveryMode = recoveryMode;\n this.imageCache = Object.create(null);\n this._imageId = 0;\n this.refill();\n }\n refill() {\n this.buf1 = this.lexer.getObj();\n this.buf2 = this.lexer.getObj();\n }\n shift() {\n if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === \"ID\") {\n this.buf1 = this.buf2;\n this.buf2 = null;\n } else {\n this.buf1 = this.buf2;\n this.buf2 = this.lexer.getObj();\n }\n }\n tryShift() {\n try {\n this.shift();\n return true;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n return false;\n }\n }\n getObj(cipherTransform = null) {\n const buf1 = this.buf1;\n this.shift();\n if (buf1 instanceof _primitives.Cmd) {\n switch (buf1.cmd) {\n case \"BI\":\n return this.makeInlineImage(cipherTransform);\n case \"[\":\n const array = [];\n while (!(0, _primitives.isCmd)(this.buf1, \"]\") && this.buf1 !== _primitives.EOF) {\n array.push(this.getObj(cipherTransform));\n }\n if (this.buf1 === _primitives.EOF) {\n if (this.recoveryMode) {\n return array;\n }\n throw new _core_utils.ParserEOFException(\"End of file inside array.\");\n }\n this.shift();\n return array;\n case \"<<\":\n const dict = new _primitives.Dict(this.xref);\n while (!(0, _primitives.isCmd)(this.buf1, \">>\") && this.buf1 !== _primitives.EOF) {\n if (!(this.buf1 instanceof _primitives.Name)) {\n (0, _util.info)(\"Malformed dictionary: key must be a name object\");\n this.shift();\n continue;\n }\n const key = this.buf1.name;\n this.shift();\n if (this.buf1 === _primitives.EOF) {\n break;\n }\n dict.set(key, this.getObj(cipherTransform));\n }\n if (this.buf1 === _primitives.EOF) {\n if (this.recoveryMode) {\n return dict;\n }\n throw new _core_utils.ParserEOFException(\"End of file inside dictionary.\");\n }\n if ((0, _primitives.isCmd)(this.buf2, \"stream\")) {\n return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n }\n this.shift();\n return dict;\n default:\n return buf1;\n }\n }\n if (Number.isInteger(buf1)) {\n if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, \"R\")) {\n const ref = _primitives.Ref.get(buf1, this.buf1);\n this.shift();\n this.shift();\n return ref;\n }\n return buf1;\n }\n if (typeof buf1 === \"string\") {\n if (cipherTransform) {\n return cipherTransform.decryptString(buf1);\n }\n return buf1;\n }\n return buf1;\n }\n findDefaultInlineStreamEnd(stream) {\n const E = 0x45,\n I = 0x49,\n SPACE = 0x20,\n LF = 0xa,\n CR = 0xd,\n NUL = 0x0;\n const {\n knownCommands\n } = this.lexer,\n startPos = stream.pos,\n n = 15;\n let state = 0,\n ch,\n maybeEIPos;\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else {\n if (ch === SPACE || ch === LF || ch === CR) {\n maybeEIPos = stream.pos;\n const followingBytes = stream.peekBytes(n);\n const ii = followingBytes.length;\n if (ii === 0) {\n break;\n }\n for (let i = 0; i < ii; i++) {\n ch = followingBytes[i];\n if (ch === NUL && followingBytes[i + 1] !== NUL) {\n continue;\n }\n if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {\n state = 0;\n break;\n }\n }\n if (state !== 2) {\n continue;\n }\n if (!knownCommands) {\n (0, _util.warn)(\"findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.\");\n continue;\n }\n const tmpLexer = new Lexer(new _stream.Stream(followingBytes.slice()), knownCommands);\n tmpLexer._hexStringWarn = () => {};\n let numArgs = 0;\n while (true) {\n const nextObj = tmpLexer.getObj();\n if (nextObj === _primitives.EOF) {\n state = 0;\n break;\n }\n if (nextObj instanceof _primitives.Cmd) {\n const knownCommand = knownCommands[nextObj.cmd];\n if (!knownCommand) {\n state = 0;\n break;\n } else if (knownCommand.variableArgs ? numArgs <= knownCommand.numArgs : numArgs === knownCommand.numArgs) {\n break;\n }\n numArgs = 0;\n continue;\n }\n numArgs++;\n }\n if (state === 2) {\n break;\n }\n } else {\n state = 0;\n }\n }\n }\n if (ch === -1) {\n (0, _util.warn)(\"findDefaultInlineStreamEnd: \" + \"Reached the end of the stream without finding a valid EI marker\");\n if (maybeEIPos) {\n (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n stream.skip(-(stream.pos - maybeEIPos));\n }\n }\n let endOffset = 4;\n stream.skip(-endOffset);\n ch = stream.peekByte();\n stream.skip(endOffset);\n if (!(0, _core_utils.isWhiteSpace)(ch)) {\n endOffset--;\n }\n return stream.pos - endOffset - startPos;\n }\n findDCTDecodeInlineStreamEnd(stream) {\n const startPos = stream.pos;\n let foundEOI = false,\n b,\n markerLength;\n while ((b = stream.getByte()) !== -1) {\n if (b !== 0xff) {\n continue;\n }\n switch (stream.getByte()) {\n case 0x00:\n break;\n case 0xff:\n stream.skip(-1);\n break;\n case 0xd9:\n foundEOI = true;\n break;\n case 0xc0:\n case 0xc1:\n case 0xc2:\n case 0xc3:\n case 0xc5:\n case 0xc6:\n case 0xc7:\n case 0xc9:\n case 0xca:\n case 0xcb:\n case 0xcd:\n case 0xce:\n case 0xcf:\n case 0xc4:\n case 0xcc:\n case 0xda:\n case 0xdb:\n case 0xdc:\n case 0xdd:\n case 0xde:\n case 0xdf:\n case 0xe0:\n case 0xe1:\n case 0xe2:\n case 0xe3:\n case 0xe4:\n case 0xe5:\n case 0xe6:\n case 0xe7:\n case 0xe8:\n case 0xe9:\n case 0xea:\n case 0xeb:\n case 0xec:\n case 0xed:\n case 0xee:\n case 0xef:\n case 0xfe:\n markerLength = stream.getUint16();\n if (markerLength > 2) {\n stream.skip(markerLength - 2);\n } else {\n stream.skip(-2);\n }\n break;\n }\n if (foundEOI) {\n break;\n }\n }\n const length = stream.pos - startPos;\n if (b === -1) {\n (0, _util.warn)(\"Inline DCTDecode image stream: \" + \"EOI marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n this.inlineStreamSkipEI(stream);\n return length;\n }\n findASCII85DecodeInlineStreamEnd(stream) {\n const TILDE = 0x7e,\n GT = 0x3e;\n const startPos = stream.pos;\n let ch;\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE) {\n const tildePos = stream.pos;\n ch = stream.peekByte();\n while ((0, _core_utils.isWhiteSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n if (ch === GT) {\n stream.skip();\n break;\n }\n if (stream.pos > tildePos) {\n const maybeEI = stream.peekBytes(2);\n if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {\n break;\n }\n }\n }\n }\n const length = stream.pos - startPos;\n if (ch === -1) {\n (0, _util.warn)(\"Inline ASCII85Decode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n this.inlineStreamSkipEI(stream);\n return length;\n }\n findASCIIHexDecodeInlineStreamEnd(stream) {\n const GT = 0x3e;\n const startPos = stream.pos;\n let ch;\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n const length = stream.pos - startPos;\n if (ch === -1) {\n (0, _util.warn)(\"Inline ASCIIHexDecode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n this.inlineStreamSkipEI(stream);\n return length;\n }\n inlineStreamSkipEI(stream) {\n const E = 0x45,\n I = 0x49;\n let state = 0,\n ch;\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else if (state === 2) {\n break;\n }\n }\n }\n makeInlineImage(cipherTransform) {\n const lexer = this.lexer;\n const stream = lexer.stream;\n const dictMap = Object.create(null);\n let dictLength;\n while (!(0, _primitives.isCmd)(this.buf1, \"ID\") && this.buf1 !== _primitives.EOF) {\n if (!(this.buf1 instanceof _primitives.Name)) {\n throw new _util.FormatError(\"Dictionary key must be a name object\");\n }\n const key = this.buf1.name;\n this.shift();\n if (this.buf1 === _primitives.EOF) {\n break;\n }\n dictMap[key] = this.getObj(cipherTransform);\n }\n if (lexer.beginInlineImagePos !== -1) {\n dictLength = stream.pos - lexer.beginInlineImagePos;\n }\n const filter = this.xref.fetchIfRef(dictMap.F || dictMap.Filter);\n let filterName;\n if (filter instanceof _primitives.Name) {\n filterName = filter.name;\n } else if (Array.isArray(filter)) {\n const filterZero = this.xref.fetchIfRef(filter[0]);\n if (filterZero instanceof _primitives.Name) {\n filterName = filterZero.name;\n }\n }\n const startPos = stream.pos;\n let length;\n switch (filterName) {\n case \"DCT\":\n case \"DCTDecode\":\n length = this.findDCTDecodeInlineStreamEnd(stream);\n break;\n case \"A85\":\n case \"ASCII85Decode\":\n length = this.findASCII85DecodeInlineStreamEnd(stream);\n break;\n case \"AHx\":\n case \"ASCIIHexDecode\":\n length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n break;\n default:\n length = this.findDefaultInlineStreamEnd(stream);\n }\n let cacheKey;\n if (length < MAX_LENGTH_TO_CACHE && dictLength > 0) {\n const initialStreamPos = stream.pos;\n stream.pos = lexer.beginInlineImagePos;\n cacheKey = getInlineImageCacheKey(stream.getBytes(dictLength + length));\n stream.pos = initialStreamPos;\n const cacheEntry = this.imageCache[cacheKey];\n if (cacheEntry !== undefined) {\n this.buf2 = _primitives.Cmd.get(\"EI\");\n this.shift();\n cacheEntry.reset();\n return cacheEntry;\n }\n }\n const dict = new _primitives.Dict(this.xref);\n for (const key in dictMap) {\n dict.set(key, dictMap[key]);\n }\n let imageStream = stream.makeSubStream(startPos, length, dict);\n if (cipherTransform) {\n imageStream = cipherTransform.createStream(imageStream, length);\n }\n imageStream = this.filter(imageStream, dict, length);\n imageStream.dict = dict;\n if (cacheKey !== undefined) {\n imageStream.cacheKey = `inline_img_${++this._imageId}`;\n this.imageCache[cacheKey] = imageStream;\n }\n this.buf2 = _primitives.Cmd.get(\"EI\");\n this.shift();\n return imageStream;\n }\n _findStreamLength(startPos, signature) {\n const {\n stream\n } = this.lexer;\n stream.pos = startPos;\n const SCAN_BLOCK_LENGTH = 2048;\n const signatureLength = signature.length;\n while (stream.pos < stream.end) {\n const scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n const scanLength = scanBytes.length - signatureLength;\n if (scanLength <= 0) {\n break;\n }\n let pos = 0;\n while (pos < scanLength) {\n let j = 0;\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n if (j >= signatureLength) {\n stream.pos += pos;\n return stream.pos - startPos;\n }\n pos++;\n }\n stream.pos += scanLength;\n }\n return -1;\n }\n makeStream(dict, cipherTransform) {\n const lexer = this.lexer;\n let stream = lexer.stream;\n lexer.skipToNextLine();\n const startPos = stream.pos - 1;\n let length = dict.get(\"Length\");\n if (!Number.isInteger(length)) {\n (0, _util.info)(`Bad length \"${length && length.toString()}\" in stream.`);\n length = 0;\n }\n stream.pos = startPos + length;\n lexer.nextChar();\n if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, \"endstream\")) {\n this.shift();\n } else {\n const ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d]);\n let actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n if (actualLength < 0) {\n const MAX_TRUNCATION = 1;\n for (let i = 1; i <= MAX_TRUNCATION; i++) {\n const end = ENDSTREAM_SIGNATURE.length - i;\n const TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n const maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n if (maybeLength >= 0) {\n const lastByte = stream.peekBytes(end + 1)[end];\n if (!(0, _core_utils.isWhiteSpace)(lastByte)) {\n break;\n }\n (0, _util.info)(`Found \"${(0, _util.bytesToString)(TRUNCATED_SIGNATURE)}\" when ` + \"searching for endstream command.\");\n actualLength = maybeLength;\n break;\n }\n }\n if (actualLength < 0) {\n throw new _util.FormatError(\"Missing endstream command.\");\n }\n }\n length = actualLength;\n lexer.nextChar();\n this.shift();\n this.shift();\n }\n this.shift();\n stream = stream.makeSubStream(startPos, length, dict);\n if (cipherTransform) {\n stream = cipherTransform.createStream(stream, length);\n }\n stream = this.filter(stream, dict, length);\n stream.dict = dict;\n return stream;\n }\n filter(stream, dict, length) {\n let filter = dict.get(\"F\", \"Filter\");\n let params = dict.get(\"DP\", \"DecodeParms\");\n if (filter instanceof _primitives.Name) {\n if (Array.isArray(params)) {\n (0, _util.warn)(\"/DecodeParms should not be an Array, when /Filter is a Name.\");\n }\n return this.makeFilter(stream, filter.name, length, params);\n }\n let maybeLength = length;\n if (Array.isArray(filter)) {\n const filterArray = filter;\n const paramsArray = params;\n for (let i = 0, ii = filterArray.length; i < ii; ++i) {\n filter = this.xref.fetchIfRef(filterArray[i]);\n if (!(filter instanceof _primitives.Name)) {\n throw new _util.FormatError(`Bad filter name \"${filter}\"`);\n }\n params = null;\n if (Array.isArray(paramsArray) && i in paramsArray) {\n params = this.xref.fetchIfRef(paramsArray[i]);\n }\n stream = this.makeFilter(stream, filter.name, maybeLength, params);\n maybeLength = null;\n }\n }\n return stream;\n }\n makeFilter(stream, name, maybeLength, params) {\n if (maybeLength === 0) {\n (0, _util.warn)(`Empty \"${name}\" stream.`);\n return new _stream.NullStream();\n }\n try {\n switch (name) {\n case \"Fl\":\n case \"FlateDecode\":\n if (params) {\n return new _predictor_stream.PredictorStream(new _flate_stream.FlateStream(stream, maybeLength), maybeLength, params);\n }\n return new _flate_stream.FlateStream(stream, maybeLength);\n case \"LZW\":\n case \"LZWDecode\":\n let earlyChange = 1;\n if (params) {\n if (params.has(\"EarlyChange\")) {\n earlyChange = params.get(\"EarlyChange\");\n }\n return new _predictor_stream.PredictorStream(new _lzw_stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n }\n return new _lzw_stream.LZWStream(stream, maybeLength, earlyChange);\n case \"DCT\":\n case \"DCTDecode\":\n return new _jpeg_stream.JpegStream(stream, maybeLength, params);\n case \"JPX\":\n case \"JPXDecode\":\n return new _jpx_stream.JpxStream(stream, maybeLength, params);\n case \"A85\":\n case \"ASCII85Decode\":\n return new _ascii_85_stream.Ascii85Stream(stream, maybeLength);\n case \"AHx\":\n case \"ASCIIHexDecode\":\n return new _ascii_hex_stream.AsciiHexStream(stream, maybeLength);\n case \"CCF\":\n case \"CCITTFaxDecode\":\n return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n case \"RL\":\n case \"RunLengthDecode\":\n return new _run_length_stream.RunLengthStream(stream, maybeLength);\n case \"JBIG2Decode\":\n return new _jbig2_stream.Jbig2Stream(stream, maybeLength, params);\n }\n (0, _util.warn)(`Filter \"${name}\" is not supported.`);\n return stream;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(`Invalid stream: \"${ex}\"`);\n return new _stream.NullStream();\n }\n }\n}\nexports.Parser = Parser;\nconst specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\nfunction toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0f;\n }\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0f) + 9;\n }\n return -1;\n}\nclass Lexer {\n constructor(stream, knownCommands = null) {\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n this.knownCommands = knownCommands;\n this._hexStringNumWarn = 0;\n this.beginInlineImagePos = -1;\n }\n nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n peekChar() {\n return this.stream.peekByte();\n }\n getNumber() {\n let ch = this.currentChar;\n let eNotation = false;\n let divideBy = 0;\n let sign = 1;\n if (ch === 0x2d) {\n sign = -1;\n ch = this.nextChar();\n if (ch === 0x2d) {\n ch = this.nextChar();\n }\n } else if (ch === 0x2b) {\n ch = this.nextChar();\n }\n if (ch === 0x0a || ch === 0x0d) {\n do {\n ch = this.nextChar();\n } while (ch === 0x0a || ch === 0x0d);\n }\n if (ch === 0x2e) {\n divideBy = 10;\n ch = this.nextChar();\n }\n if (ch < 0x30 || ch > 0x39) {\n const msg = `Invalid number: ${String.fromCharCode(ch)} (charCode ${ch})`;\n if ((0, _core_utils.isWhiteSpace)(ch) || ch === -1) {\n (0, _util.info)(`Lexer.getNumber - \"${msg}\".`);\n return 0;\n }\n throw new _util.FormatError(msg);\n }\n let baseValue = ch - 0x30;\n let powerValue = 0;\n let powerValueSign = 1;\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39) {\n const currentDigit = ch - 0x30;\n if (eNotation) {\n powerValue = powerValue * 10 + currentDigit;\n } else {\n if (divideBy !== 0) {\n divideBy *= 10;\n }\n baseValue = baseValue * 10 + currentDigit;\n }\n } else if (ch === 0x2e) {\n if (divideBy === 0) {\n divideBy = 1;\n } else {\n break;\n }\n } else if (ch === 0x2d) {\n (0, _util.warn)(\"Badly formatted number: minus sign in the middle\");\n } else if (ch === 0x45 || ch === 0x65) {\n ch = this.peekChar();\n if (ch === 0x2b || ch === 0x2d) {\n powerValueSign = ch === 0x2d ? -1 : 1;\n this.nextChar();\n } else if (ch < 0x30 || ch > 0x39) {\n break;\n }\n eNotation = true;\n } else {\n break;\n }\n }\n if (divideBy !== 0) {\n baseValue /= divideBy;\n }\n if (eNotation) {\n baseValue *= 10 ** (powerValueSign * powerValue);\n }\n return sign * baseValue;\n }\n getString() {\n let numParen = 1;\n let done = false;\n const strBuf = this.strBuf;\n strBuf.length = 0;\n let ch = this.nextChar();\n while (true) {\n let charBuffered = false;\n switch (ch | 0) {\n case -1:\n (0, _util.warn)(\"Unterminated string\");\n done = true;\n break;\n case 0x28:\n ++numParen;\n strBuf.push(\"(\");\n break;\n case 0x29:\n if (--numParen === 0) {\n this.nextChar();\n done = true;\n } else {\n strBuf.push(\")\");\n }\n break;\n case 0x5c:\n ch = this.nextChar();\n switch (ch) {\n case -1:\n (0, _util.warn)(\"Unterminated string\");\n done = true;\n break;\n case 0x6e:\n strBuf.push(\"\\n\");\n break;\n case 0x72:\n strBuf.push(\"\\r\");\n break;\n case 0x74:\n strBuf.push(\"\\t\");\n break;\n case 0x62:\n strBuf.push(\"\\b\");\n break;\n case 0x66:\n strBuf.push(\"\\f\");\n break;\n case 0x5c:\n case 0x28:\n case 0x29:\n strBuf.push(String.fromCharCode(ch));\n break;\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n let x = ch & 0x0f;\n ch = this.nextChar();\n charBuffered = true;\n if (ch >= 0x30 && ch <= 0x37) {\n x = (x << 3) + (ch & 0x0f);\n ch = this.nextChar();\n if (ch >= 0x30 && ch <= 0x37) {\n charBuffered = false;\n x = (x << 3) + (ch & 0x0f);\n }\n }\n strBuf.push(String.fromCharCode(x));\n break;\n case 0x0d:\n if (this.peekChar() === 0x0a) {\n this.nextChar();\n }\n break;\n case 0x0a:\n break;\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n break;\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n if (done) {\n break;\n }\n if (!charBuffered) {\n ch = this.nextChar();\n }\n }\n return strBuf.join(\"\");\n }\n getName() {\n let ch, previousCh;\n const strBuf = this.strBuf;\n strBuf.length = 0;\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n if (ch === 0x23) {\n ch = this.nextChar();\n if (specialChars[ch]) {\n (0, _util.warn)(\"Lexer_getName: \" + \"NUMBER SIGN (#) should be followed by a hexadecimal number.\");\n strBuf.push(\"#\");\n break;\n }\n const x = toHexDigit(ch);\n if (x !== -1) {\n previousCh = ch;\n ch = this.nextChar();\n const x2 = toHexDigit(ch);\n if (x2 === -1) {\n (0, _util.warn)(`Lexer_getName: Illegal digit (${String.fromCharCode(ch)}) ` + \"in hexadecimal number.\");\n strBuf.push(\"#\", String.fromCharCode(previousCh));\n if (specialChars[ch]) {\n break;\n }\n strBuf.push(String.fromCharCode(ch));\n continue;\n }\n strBuf.push(String.fromCharCode(x << 4 | x2));\n } else {\n strBuf.push(\"#\", String.fromCharCode(ch));\n }\n } else {\n strBuf.push(String.fromCharCode(ch));\n }\n }\n if (strBuf.length > 127) {\n (0, _util.warn)(`Name token is longer than allowed by the spec: ${strBuf.length}`);\n }\n return _primitives.Name.get(strBuf.join(\"\"));\n }\n _hexStringWarn(ch) {\n const MAX_HEX_STRING_NUM_WARN = 5;\n if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n (0, _util.warn)(\"getHexString - ignoring additional invalid characters.\");\n return;\n }\n if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n return;\n }\n (0, _util.warn)(`getHexString - ignoring invalid character: ${ch}`);\n }\n getHexString() {\n const strBuf = this.strBuf;\n strBuf.length = 0;\n let ch = this.currentChar;\n let isFirstHex = true;\n let firstDigit, secondDigit;\n this._hexStringNumWarn = 0;\n while (true) {\n if (ch < 0) {\n (0, _util.warn)(\"Unterminated hex string\");\n break;\n } else if (ch === 0x3e) {\n this.nextChar();\n break;\n } else if (specialChars[ch] === 1) {\n ch = this.nextChar();\n continue;\n } else {\n if (isFirstHex) {\n firstDigit = toHexDigit(ch);\n if (firstDigit === -1) {\n this._hexStringWarn(ch);\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n if (secondDigit === -1) {\n this._hexStringWarn(ch);\n ch = this.nextChar();\n continue;\n }\n strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n }\n isFirstHex = !isFirstHex;\n ch = this.nextChar();\n }\n }\n return strBuf.join(\"\");\n }\n getObj() {\n let comment = false;\n let ch = this.currentChar;\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (specialChars[ch] !== 1) {\n break;\n }\n ch = this.nextChar();\n }\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2b:\n case 0x2d:\n case 0x2e:\n return this.getNumber();\n case 0x28:\n return this.getString();\n case 0x2f:\n return this.getName();\n case 0x5b:\n this.nextChar();\n return _primitives.Cmd.get(\"[\");\n case 0x5d:\n this.nextChar();\n return _primitives.Cmd.get(\"]\");\n case 0x3c:\n ch = this.nextChar();\n if (ch === 0x3c) {\n this.nextChar();\n return _primitives.Cmd.get(\"<<\");\n }\n return this.getHexString();\n case 0x3e:\n ch = this.nextChar();\n if (ch === 0x3e) {\n this.nextChar();\n return _primitives.Cmd.get(\">>\");\n }\n return _primitives.Cmd.get(\">\");\n case 0x7b:\n this.nextChar();\n return _primitives.Cmd.get(\"{\");\n case 0x7d:\n this.nextChar();\n return _primitives.Cmd.get(\"}\");\n case 0x29:\n this.nextChar();\n throw new _util.FormatError(`Illegal character: ${ch}`);\n }\n let str = String.fromCharCode(ch);\n if (ch < 0x20 || ch > 0x7f) {\n const nextCh = this.peekChar();\n if (nextCh >= 0x20 && nextCh <= 0x7f) {\n this.nextChar();\n return _primitives.Cmd.get(str);\n }\n }\n const knownCommands = this.knownCommands;\n let knownCommandFound = knownCommands?.[str] !== undefined;\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n const possibleCommand = str + String.fromCharCode(ch);\n if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n break;\n }\n if (str.length === 128) {\n throw new _util.FormatError(`Command token too long: ${str.length}`);\n }\n str = possibleCommand;\n knownCommandFound = knownCommands?.[str] !== undefined;\n }\n if (str === \"true\") {\n return true;\n }\n if (str === \"false\") {\n return false;\n }\n if (str === \"null\") {\n return null;\n }\n if (str === \"BI\") {\n this.beginInlineImagePos = this.stream.pos;\n }\n return _primitives.Cmd.get(str);\n }\n skipToNextLine() {\n let ch = this.currentChar;\n while (ch >= 0) {\n if (ch === 0x0d) {\n ch = this.nextChar();\n if (ch === 0x0a) {\n this.nextChar();\n }\n break;\n } else if (ch === 0x0a) {\n this.nextChar();\n break;\n }\n ch = this.nextChar();\n }\n }\n}\nexports.Lexer = Lexer;\nclass Linearization {\n static create(stream) {\n function getInt(linDict, name, allowZeroValue = false) {\n const obj = linDict.get(name);\n if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n return obj;\n }\n throw new Error(`The \"${name}\" parameter in the linearization ` + \"dictionary is invalid.\");\n }\n function getHints(linDict) {\n const hints = linDict.get(\"H\");\n let hintsLength;\n if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n for (let index = 0; index < hintsLength; index++) {\n const hint = hints[index];\n if (!(Number.isInteger(hint) && hint > 0)) {\n throw new Error(`Hint (${index}) in the linearization dictionary is invalid.`);\n }\n }\n return hints;\n }\n throw new Error(\"Hint array in the linearization dictionary is invalid.\");\n }\n const parser = new Parser({\n lexer: new Lexer(stream),\n xref: null\n });\n const obj1 = parser.getObj();\n const obj2 = parser.getObj();\n const obj3 = parser.getObj();\n const linDict = parser.getObj();\n let obj, length;\n if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, \"obj\") && linDict instanceof _primitives.Dict && typeof (obj = linDict.get(\"Linearized\")) === \"number\" && obj > 0)) {\n return null;\n } else if ((length = getInt(linDict, \"L\")) !== stream.length) {\n throw new Error('The \"L\" parameter in the linearization dictionary ' + \"does not equal the stream length.\");\n }\n return {\n length,\n hints: getHints(linDict),\n objectNumberFirst: getInt(linDict, \"O\"),\n endFirst: getInt(linDict, \"E\"),\n numPages: getInt(linDict, \"N\"),\n mainXRefEntriesOffset: getInt(linDict, \"T\"),\n pageFirst: linDict.has(\"P\") ? getInt(linDict, \"P\", true) : 0\n };\n }\n}\nexports.Linearization = Linearization;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Ascii85Stream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _core_utils = __w_pdfjs_require__(3);\nclass Ascii85Stream extends _decode_stream.DecodeStream {\n constructor(str, maybeLength) {\n if (maybeLength) {\n maybeLength *= 0.8;\n }\n super(maybeLength);\n this.str = str;\n this.dict = str.dict;\n this.input = new Uint8Array(5);\n }\n readBlock() {\n const TILDA_CHAR = 0x7e;\n const Z_LOWER_CHAR = 0x7a;\n const EOF = -1;\n const str = this.str;\n let c = str.getByte();\n while ((0, _core_utils.isWhiteSpace)(c)) {\n c = str.getByte();\n }\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n const bufferLength = this.bufferLength;\n let buffer, i;\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n this.bufferLength += 4;\n } else {\n const input = this.input;\n input[0] = c;\n for (i = 1; i < 5; ++i) {\n c = str.getByte();\n while ((0, _core_utils.isWhiteSpace)(c)) {\n c = str.getByte();\n }\n input[i] = c;\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n this.eof = true;\n }\n let t = 0;\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xff;\n t >>= 8;\n }\n }\n }\n}\nexports.Ascii85Stream = Ascii85Stream;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StreamsSequenceStream = exports.DecodeStream = void 0;\nvar _base_stream = __w_pdfjs_require__(5);\nvar _stream = __w_pdfjs_require__(8);\nconst emptyBuffer = new Uint8Array(0);\nclass DecodeStream extends _base_stream.BaseStream {\n constructor(maybeMinBufferLength) {\n super();\n this._rawMinBufferLength = maybeMinBufferLength || 0;\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n if (maybeMinBufferLength) {\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n get isEmpty() {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n return this.bufferLength === 0;\n }\n ensureBuffer(requested) {\n const buffer = this.buffer;\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n let size = this.minBufferLength;\n while (size < requested) {\n size *= 2;\n }\n const buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return this.buffer = buffer2;\n }\n getByte() {\n const pos = this.pos;\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n this.readBlock();\n }\n return this.buffer[this.pos++];\n }\n getBytes(length) {\n const pos = this.pos;\n let end;\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n const bufEnd = this.bufferLength;\n if (end > bufEnd) {\n end = bufEnd;\n }\n } else {\n while (!this.eof) {\n this.readBlock();\n }\n end = this.bufferLength;\n }\n this.pos = end;\n return this.buffer.subarray(pos, end);\n }\n reset() {\n this.pos = 0;\n }\n makeSubStream(start, length, dict = null) {\n if (length === undefined) {\n while (!this.eof) {\n this.readBlock();\n }\n } else {\n const end = start + length;\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n }\n return new _stream.Stream(this.buffer, start, length, dict);\n }\n getBaseStreams() {\n return this.str ? this.str.getBaseStreams() : null;\n }\n}\nexports.DecodeStream = DecodeStream;\nclass StreamsSequenceStream extends DecodeStream {\n constructor(streams, onError = null) {\n let maybeLength = 0;\n for (const stream of streams) {\n maybeLength += stream instanceof DecodeStream ? stream._rawMinBufferLength : stream.length;\n }\n super(maybeLength);\n this.streams = streams;\n this._onError = onError;\n }\n readBlock() {\n const streams = this.streams;\n if (streams.length === 0) {\n this.eof = true;\n return;\n }\n const stream = streams.shift();\n let chunk;\n try {\n chunk = stream.getBytes();\n } catch (reason) {\n if (this._onError) {\n this._onError(reason, stream.dict?.objId);\n return;\n }\n throw reason;\n }\n const bufferLength = this.bufferLength;\n const newLength = bufferLength + chunk.length;\n const buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n }\n getBaseStreams() {\n const baseStreamsBuf = [];\n for (const stream of this.streams) {\n const baseStreams = stream.getBaseStreams();\n if (baseStreams) {\n baseStreamsBuf.push(...baseStreams);\n }\n }\n return baseStreamsBuf.length > 0 ? baseStreamsBuf : null;\n }\n}\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AsciiHexStream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nclass AsciiHexStream extends _decode_stream.DecodeStream {\n constructor(str, maybeLength) {\n if (maybeLength) {\n maybeLength *= 0.5;\n }\n super(maybeLength);\n this.str = str;\n this.dict = str.dict;\n this.firstDigit = -1;\n }\n readBlock() {\n const UPSTREAM_BLOCK_SIZE = 8000;\n const bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n const maxDecodeLength = bytes.length + 1 >> 1;\n const buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n let bufferLength = this.bufferLength;\n let firstDigit = this.firstDigit;\n for (const ch of bytes) {\n let digit;\n if (ch >= 0x30 && ch <= 0x39) {\n digit = ch & 0x0f;\n } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n digit = (ch & 0x0f) + 9;\n } else if (ch === 0x3e) {\n this.eof = true;\n break;\n } else {\n continue;\n }\n if (firstDigit < 0) {\n firstDigit = digit;\n } else {\n buffer[bufferLength++] = firstDigit << 4 | digit;\n firstDigit = -1;\n }\n }\n if (firstDigit >= 0 && this.eof) {\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n }\n}\nexports.AsciiHexStream = AsciiHexStream;\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CCITTFaxStream = void 0;\nvar _ccitt = __w_pdfjs_require__(21);\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _primitives = __w_pdfjs_require__(4);\nclass CCITTFaxStream extends _decode_stream.DecodeStream {\n constructor(str, maybeLength, params) {\n super(maybeLength);\n this.str = str;\n this.dict = str.dict;\n if (!(params instanceof _primitives.Dict)) {\n params = _primitives.Dict.empty;\n }\n const source = {\n next() {\n return str.getByte();\n }\n };\n this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n K: params.get(\"K\"),\n EndOfLine: params.get(\"EndOfLine\"),\n EncodedByteAlign: params.get(\"EncodedByteAlign\"),\n Columns: params.get(\"Columns\"),\n Rows: params.get(\"Rows\"),\n EndOfBlock: params.get(\"EndOfBlock\"),\n BlackIs1: params.get(\"BlackIs1\")\n });\n }\n readBlock() {\n while (!this.eof) {\n const c = this.ccittFaxDecoder.readNextChar();\n if (c === -1) {\n this.eof = true;\n return;\n }\n this.ensureBuffer(this.bufferLength + 1);\n this.buffer[this.bufferLength++] = c;\n }\n }\n}\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CCITTFaxDecoder = void 0;\nvar _util = __w_pdfjs_require__(2);\nconst ccittEOL = -2;\nconst ccittEOF = -1;\nconst twoDimPass = 0;\nconst twoDimHoriz = 1;\nconst twoDimVert0 = 2;\nconst twoDimVertR1 = 3;\nconst twoDimVertL1 = 4;\nconst twoDimVertR2 = 5;\nconst twoDimVertL2 = 6;\nconst twoDimVertR3 = 7;\nconst twoDimVertL3 = 8;\nconst twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\nconst whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\nconst whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\nconst blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\nconst blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\nconst blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\nclass CCITTFaxDecoder {\n constructor(source, options = {}) {\n if (!source || typeof source.next !== \"function\") {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n this.source = source;\n this.eof = false;\n this.encoding = options.K || 0;\n this.eoline = options.EndOfLine || false;\n this.byteAlign = options.EncodedByteAlign || false;\n this.columns = options.Columns || 1728;\n this.rows = options.Rows || 0;\n this.eoblock = options.EndOfBlock ?? true;\n this.black = options.BlackIs1 || false;\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n let code1;\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n if (code1 === 1) {\n this._eatBits(12);\n }\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n this._eatBits(1);\n }\n }\n readNextChar() {\n if (this.eof) {\n return -1;\n }\n const refLine = this.refLine;\n const codingLine = this.codingLine;\n const columns = this.columns;\n let refPos, blackPixels, bits, i;\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n if (this.eof) {\n return -1;\n }\n this.err = false;\n let code1, code2, code3;\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n break;\n case twoDimHoriz:\n code1 = code2 = 0;\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n }\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n break;\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n break;\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n break;\n case ccittEOF:\n this._addPixels(columns, 0);\n this.eof = true;\n break;\n default:\n (0, _util.info)(\"bad 2d code\");\n this._addPixels(columns, 0);\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n blackPixels ^= 1;\n }\n }\n let gotEOL = false;\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n code1 = this._lookBits(12);\n }\n }\n if (code1 === 1) {\n this._eatBits(12);\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n this._eatBits(1);\n }\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n if (code1 === 1) {\n this._eatBits(12);\n if (this.encoding > 0) {\n this._lookBits(1);\n this._eatBits(1);\n }\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n if (code1 !== 1) {\n (0, _util.info)(\"bad rtc code: \" + code1);\n }\n this._eatBits(12);\n if (this.encoding > 0) {\n this._lookBits(1);\n this._eatBits(1);\n }\n }\n }\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n if (code1 >> 1 === 1) {\n break;\n }\n this._eatBits(1);\n }\n this._eatBits(12);\n if (this.encoding > 0) {\n this._eatBits(1);\n this.nextLine2D = !(code1 & 1);\n }\n }\n this.outputBits = codingLine[0] > 0 ? codingLine[this.codingPos = 0] : codingLine[this.codingPos = 1];\n this.row++;\n }\n let c;\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xff;\n this.outputBits -= 8;\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n do {\n if (typeof this.outputBits !== \"number\") {\n throw new _util.FormatError('Invalid /CCITTFaxDecode data, \"outputBits\" must be a number.');\n }\n if (this.outputBits > bits) {\n c <<= bits;\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - bits;\n }\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - this.outputBits;\n }\n bits -= this.outputBits;\n this.outputBits = 0;\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n if (this.black) {\n c ^= 0xff;\n }\n return c;\n }\n _addPixels(a1, blackPixels) {\n const codingLine = this.codingLine;\n let codingPos = this.codingPos;\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n codingLine[codingPos] = a1;\n }\n this.codingPos = codingPos;\n }\n _addPixelsNeg(a1, blackPixels) {\n const codingLine = this.codingLine;\n let codingPos = this.codingPos;\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n (0, _util.info)(\"invalid code\");\n this.err = true;\n a1 = 0;\n }\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n codingLine[codingPos] = a1;\n }\n this.codingPos = codingPos;\n }\n _findTableCode(start, end, table, limit) {\n const limitValue = limit || 0;\n for (let i = start; i <= end; ++i) {\n let code = this._lookBits(i);\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n if (i < end) {\n code <<= end - i;\n }\n if (!limitValue || code >= limitValue) {\n const p = table[code - limitValue];\n if (p[0] === i) {\n this._eatBits(i);\n return [true, p[1], true];\n }\n }\n }\n return [false, 0, false];\n }\n _getTwoDimCode() {\n let code = 0;\n let p;\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n if (p?.[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n const result = this._findTableCode(1, 7, twoDimTable);\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n (0, _util.info)(\"Bad two dim code\");\n return ccittEOF;\n }\n _getWhiteCode() {\n let code = 0;\n let p;\n if (this.eoblock) {\n code = this._lookBits(12);\n if (code === ccittEOF) {\n return 1;\n }\n p = code >> 5 === 0 ? whiteTable1[code] : whiteTable2[code >> 3];\n if (p[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n let result = this._findTableCode(1, 9, whiteTable2);\n if (result[0]) {\n return result[1];\n }\n result = this._findTableCode(11, 12, whiteTable1);\n if (result[0]) {\n return result[1];\n }\n }\n (0, _util.info)(\"bad white code\");\n this._eatBits(1);\n return 1;\n }\n _getBlackCode() {\n let code, p;\n if (this.eoblock) {\n code = this._lookBits(13);\n if (code === ccittEOF) {\n return 1;\n }\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n if (p[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n let result = this._findTableCode(2, 6, blackTable3);\n if (result[0]) {\n return result[1];\n }\n result = this._findTableCode(7, 12, blackTable2, 64);\n if (result[0]) {\n return result[1];\n }\n result = this._findTableCode(10, 13, blackTable1);\n if (result[0]) {\n return result[1];\n }\n }\n (0, _util.info)(\"bad black code\");\n this._eatBits(1);\n return 1;\n }\n _lookBits(n) {\n let c;\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;\n }\n this.inputBuf = this.inputBuf << 8 | c;\n this.inputBits += 8;\n }\n return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;\n }\n _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n}\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FlateStream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _util = __w_pdfjs_require__(2);\nconst codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\nconst lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\nconst distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\nconst fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\nconst fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\nclass FlateStream extends _decode_stream.DecodeStream {\n constructor(str, maybeLength) {\n super(maybeLength);\n this.str = str;\n this.dict = str.dict;\n const cmf = str.getByte();\n const flg = str.getByte();\n if (cmf === -1 || flg === -1) {\n throw new _util.FormatError(`Invalid header in flate stream: ${cmf}, ${flg}`);\n }\n if ((cmf & 0x0f) !== 0x08) {\n throw new _util.FormatError(`Unknown compression method in flate stream: ${cmf}, ${flg}`);\n }\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new _util.FormatError(`Bad FCHECK in flate stream: ${cmf}, ${flg}`);\n }\n if (flg & 0x20) {\n throw new _util.FormatError(`FDICT bit set in flate stream: ${cmf}, ${flg}`);\n }\n this.codeSize = 0;\n this.codeBuf = 0;\n }\n getBits(bits) {\n const str = this.str;\n let codeSize = this.codeSize;\n let codeBuf = this.codeBuf;\n let b;\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n b = codeBuf & (1 << bits) - 1;\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n }\n getCode(table) {\n const str = this.str;\n const codes = table[0];\n const maxLen = table[1];\n let codeSize = this.codeSize;\n let codeBuf = this.codeBuf;\n let b;\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n break;\n }\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n const code = codes[codeBuf & (1 << maxLen) - 1];\n const codeLen = code >> 16;\n const codeVal = code & 0xffff;\n if (codeLen < 1 || codeSize < codeLen) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n }\n generateHuffmanTable(lengths) {\n const n = lengths.length;\n let maxLen = 0;\n let i;\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n const size = 1 << maxLen;\n const codes = new Int32Array(size);\n for (let len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (let val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n let code2 = 0;\n let t = code;\n for (i = 0; i < len; ++i) {\n code2 = code2 << 1 | t & 1;\n t >>= 1;\n }\n for (i = code2; i < size; i += skip) {\n codes[i] = len << 16 | val;\n }\n ++code;\n }\n }\n }\n return [codes, maxLen];\n }\n readBlock() {\n let buffer, len;\n const str = this.str;\n let hdr = this.getBits(3);\n if (hdr & 1) {\n this.eof = true;\n }\n hdr >>= 1;\n if (hdr === 0) {\n let b;\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n let blockLen = b;\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n blockLen |= b << 8;\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n let check = b;\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n check |= b << 8;\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n throw new _util.FormatError(\"Bad uncompressed block length in flate stream\");\n }\n this.codeBuf = 0;\n this.codeSize = 0;\n const bufferLength = this.bufferLength,\n end = bufferLength + blockLen;\n buffer = this.ensureBuffer(end);\n this.bufferLength = end;\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n const block = str.getBytes(blockLen);\n buffer.set(block, bufferLength);\n if (block.length < blockLen) {\n this.eof = true;\n }\n }\n return;\n }\n let litCodeTable;\n let distCodeTable;\n if (hdr === 1) {\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n } else if (hdr === 2) {\n const numLitCodes = this.getBits(5) + 257;\n const numDistCodes = this.getBits(5) + 1;\n const numCodeLenCodes = this.getBits(4) + 4;\n const codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n let i;\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n const codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n len = 0;\n i = 0;\n const codes = numLitCodes + numDistCodes;\n const codeLengths = new Uint8Array(codes);\n let bitsLength, bitsOffset, what;\n while (i < codes) {\n const code = this.getCode(codeLenCodeTab);\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n } else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n } else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n } else {\n codeLengths[i++] = len = code;\n continue;\n }\n let repeatLength = this.getBits(bitsLength) + bitsOffset;\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n } else {\n throw new _util.FormatError(\"Unknown block type in flate stream\");\n }\n buffer = this.buffer;\n let limit = buffer ? buffer.length : 0;\n let pos = this.bufferLength;\n while (true) {\n let code1 = this.getCode(litCodeTable);\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n buffer[pos++] = code1;\n continue;\n }\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n code1 -= 257;\n code1 = lengthDecode[code1];\n let code2 = code1 >> 16;\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n const dist = (code1 & 0xffff) + code2;\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n for (let k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n }\n}\nexports.FlateStream = FlateStream;\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Jbig2Stream = void 0;\nvar _base_stream = __w_pdfjs_require__(5);\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _primitives = __w_pdfjs_require__(4);\nvar _jbig = __w_pdfjs_require__(24);\nvar _util = __w_pdfjs_require__(2);\nclass Jbig2Stream extends _decode_stream.DecodeStream {\n constructor(stream, maybeLength, params) {\n super(maybeLength);\n this.stream = stream;\n this.dict = stream.dict;\n this.maybeLength = maybeLength;\n this.params = params;\n }\n get bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n }\n ensureBuffer(requested) {}\n readBlock() {\n if (this.eof) {\n return;\n }\n const jbig2Image = new _jbig.Jbig2Image();\n const chunks = [];\n if (this.params instanceof _primitives.Dict) {\n const globalsStream = this.params.get(\"JBIG2Globals\");\n if (globalsStream instanceof _base_stream.BaseStream) {\n const globals = globalsStream.getBytes();\n chunks.push({\n data: globals,\n start: 0,\n end: globals.length\n });\n }\n }\n chunks.push({\n data: this.bytes,\n start: 0,\n end: this.bytes.length\n });\n const data = jbig2Image.parseChunks(chunks);\n const dataLength = data.length;\n for (let i = 0; i < dataLength; i++) {\n data[i] ^= 0xff;\n }\n this.buffer = data;\n this.bufferLength = dataLength;\n this.eof = true;\n }\n}\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Jbig2Image = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _arithmetic_decoder = __w_pdfjs_require__(25);\nvar _ccitt = __w_pdfjs_require__(21);\nclass Jbig2Error extends _util.BaseException {\n constructor(msg) {\n super(`JBIG2 error: ${msg}`, \"Jbig2Error\");\n }\n}\nclass ContextCache {\n getContexts(id) {\n if (id in this) {\n return this[id];\n }\n return this[id] = new Int8Array(1 << 16);\n }\n}\nclass DecodingContext {\n constructor(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n get decoder() {\n const decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n return (0, _util.shadow)(this, \"decoder\", decoder);\n }\n get contextCache() {\n const cache = new ContextCache();\n return (0, _util.shadow)(this, \"contextCache\", cache);\n }\n}\nconst MAX_INT_32 = 2 ** 31 - 1;\nconst MIN_INT_32 = -(2 ** 31);\nfunction decodeInteger(contextCache, procedure, decoder) {\n const contexts = contextCache.getContexts(procedure);\n let prev = 1;\n function readBits(length) {\n let v = 0;\n for (let i = 0; i < length; i++) {\n const bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n v = v << 1 | bit;\n }\n return v >>> 0;\n }\n const sign = readBits(1);\n const value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n let signedValue;\n if (sign === 0) {\n signedValue = value;\n } else if (value > 0) {\n signedValue = -value;\n }\n if (signedValue >= MIN_INT_32 && signedValue <= MAX_INT_32) {\n return signedValue;\n }\n return null;\n}\nfunction decodeIAID(contextCache, decoder, codeLength) {\n const contexts = contextCache.getContexts(\"IAID\");\n let prev = 1;\n for (let i = 0; i < codeLength; i++) {\n const bit = decoder.readBit(contexts, prev);\n prev = prev << 1 | bit;\n }\n if (codeLength < 31) {\n return prev & (1 << codeLength) - 1;\n }\n return prev & 0x7fffffff;\n}\nconst SegmentTypes = [\"SymbolDictionary\", null, null, null, \"IntermediateTextRegion\", null, \"ImmediateTextRegion\", \"ImmediateLosslessTextRegion\", null, null, null, null, null, null, null, null, \"PatternDictionary\", null, null, null, \"IntermediateHalftoneRegion\", null, \"ImmediateHalftoneRegion\", \"ImmediateLosslessHalftoneRegion\", null, null, null, null, null, null, null, null, null, null, null, null, \"IntermediateGenericRegion\", null, \"ImmediateGenericRegion\", \"ImmediateLosslessGenericRegion\", \"IntermediateGenericRefinementRegion\", null, \"ImmediateGenericRefinementRegion\", \"ImmediateLosslessGenericRefinementRegion\", null, null, null, null, \"PageInformation\", \"EndOfPage\", \"EndOfStripe\", \"EndOfFile\", \"Profiles\", \"Tables\", null, null, null, null, null, null, null, null, \"Extension\"];\nconst CodingTemplates = [[{\n x: -1,\n y: -2\n}, {\n x: 0,\n y: -2\n}, {\n x: 1,\n y: -2\n}, {\n x: -2,\n y: -1\n}, {\n x: -1,\n y: -1\n}, {\n x: 0,\n y: -1\n}, {\n x: 1,\n y: -1\n}, {\n x: 2,\n y: -1\n}, {\n x: -4,\n y: 0\n}, {\n x: -3,\n y: 0\n}, {\n x: -2,\n y: 0\n}, {\n x: -1,\n y: 0\n}], [{\n x: -1,\n y: -2\n}, {\n x: 0,\n y: -2\n}, {\n x: 1,\n y: -2\n}, {\n x: 2,\n y: -2\n}, {\n x: -2,\n y: -1\n}, {\n x: -1,\n y: -1\n}, {\n x: 0,\n y: -1\n}, {\n x: 1,\n y: -1\n}, {\n x: 2,\n y: -1\n}, {\n x: -3,\n y: 0\n}, {\n x: -2,\n y: 0\n}, {\n x: -1,\n y: 0\n}], [{\n x: -1,\n y: -2\n}, {\n x: 0,\n y: -2\n}, {\n x: 1,\n y: -2\n}, {\n x: -2,\n y: -1\n}, {\n x: -1,\n y: -1\n}, {\n x: 0,\n y: -1\n}, {\n x: 1,\n y: -1\n}, {\n x: -2,\n y: 0\n}, {\n x: -1,\n y: 0\n}], [{\n x: -3,\n y: -1\n}, {\n x: -2,\n y: -1\n}, {\n x: -1,\n y: -1\n}, {\n x: 0,\n y: -1\n}, {\n x: 1,\n y: -1\n}, {\n x: -4,\n y: 0\n}, {\n x: -3,\n y: 0\n}, {\n x: -2,\n y: 0\n}, {\n x: -1,\n y: 0\n}]];\nconst RefinementTemplates = [{\n coding: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: -1,\n y: 1\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n}, {\n coding: [{\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n}];\nconst ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];\nconst RefinementReusedContexts = [0x0020, 0x0008];\nfunction decodeBitmapTemplate0(width, height, decodingContext) {\n const decoder = decodingContext.decoder;\n const contexts = decodingContext.contextCache.getContexts(\"GB\");\n const bitmap = [];\n let contextLabel, i, j, pixel, row, row1, row2;\n const OLD_PIXEL_MASK = 0x7bf7;\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n }\n }\n return bitmap;\n}\nfunction decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n if (mmr) {\n const input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n return decodeMMRBitmap(input, width, height, false);\n }\n if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n const useskip = !!skip;\n const template = CodingTemplates[templateIndex].concat(at);\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n const templateLength = template.length;\n const templateX = new Int8Array(templateLength);\n const templateY = new Int8Array(templateLength);\n const changingTemplateEntries = [];\n let reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n let c, k;\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n reuseMask |= 1 << templateLength - 1 - k;\n } else {\n changingTemplateEntries.push(k);\n }\n }\n const changingEntriesLength = changingTemplateEntries.length;\n const changingTemplateX = new Int8Array(changingEntriesLength);\n const changingTemplateY = new Int8Array(changingEntriesLength);\n const changingTemplateBit = new Uint16Array(changingEntriesLength);\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << templateLength - 1 - k;\n }\n const sbb_left = -minX;\n const sbb_top = -minY;\n const sbb_right = width - maxX;\n const pseudoPixelContext = ReusedContexts[templateIndex];\n let row = new Uint8Array(width);\n const bitmap = [];\n const decoder = decodingContext.decoder;\n const contexts = decodingContext.contextCache.getContexts(\"GB\");\n let ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n for (let i = 0; i < height; i++) {\n if (prediction) {\n const sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n if (ltp) {\n bitmap.push(row);\n continue;\n }\n }\n row = new Uint8Array(row);\n bitmap.push(row);\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n contextLabel = contextLabel << 1 & reuseMask;\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n contextLabel = 0;\n shift = templateLength - 1;\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n const pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n return bitmap;\n}\nfunction decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n let codingTemplate = RefinementTemplates[templateIndex].coding;\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n const codingTemplateLength = codingTemplate.length;\n const codingTemplateX = new Int32Array(codingTemplateLength);\n const codingTemplateY = new Int32Array(codingTemplateLength);\n let k;\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n let referenceTemplate = RefinementTemplates[templateIndex].reference;\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n const referenceTemplateLength = referenceTemplate.length;\n const referenceTemplateX = new Int32Array(referenceTemplateLength);\n const referenceTemplateY = new Int32Array(referenceTemplateLength);\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n const referenceWidth = referenceBitmap[0].length;\n const referenceHeight = referenceBitmap.length;\n const pseudoPixelContext = RefinementReusedContexts[templateIndex];\n const bitmap = [];\n const decoder = decodingContext.decoder;\n const contexts = decodingContext.contextCache.getContexts(\"GR\");\n let ltp = 0;\n for (let i = 0; i < height; i++) {\n if (prediction) {\n const sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n if (ltp) {\n throw new Jbig2Error(\"prediction is not supported\");\n }\n }\n const row = new Uint8Array(width);\n bitmap.push(row);\n for (let j = 0; j < width; j++) {\n let i0, j0;\n let contextLabel = 0;\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | bitmap[i0][j0];\n }\n }\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n }\n }\n const pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n return bitmap;\n}\nfunction decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n }\n const newSymbols = [];\n let currentHeight = 0;\n let symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);\n const decoder = decodingContext.decoder;\n const contextCache = decodingContext.contextCache;\n let tableB1, symbolWidths;\n if (huffman) {\n tableB1 = getStandardTable(1);\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1);\n }\n while (newSymbols.length < numberOfNewSymbols) {\n const deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, \"IADH\", decoder);\n currentHeight += deltaHeight;\n let currentWidth = 0,\n totalWidth = 0;\n const firstSymbol = huffman ? symbolWidths.length : 0;\n while (true) {\n const deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, \"IADW\", decoder);\n if (deltaWidth === null) {\n break;\n }\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n let bitmap;\n if (refinement) {\n const numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n } else {\n const symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n const rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n const rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n const symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n }\n newSymbols.push(bitmap);\n } else if (huffman) {\n symbolWidths.push(currentWidth);\n } else {\n bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n newSymbols.push(bitmap);\n }\n }\n if (huffman && !refinement) {\n const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n let collectiveBitmap;\n if (bitmapSize === 0) {\n collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n } else {\n const originalEnd = huffmanInput.end;\n const bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n const numberOfSymbolsDecoded = symbolWidths.length;\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n newSymbols.push(collectiveBitmap);\n } else {\n let i,\n y,\n xMin = 0,\n xMax,\n bitmapWidth,\n symbolBitmap;\n for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {\n bitmapWidth = symbolWidths[i];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n const exportedSymbols = [],\n flags = [];\n let currentFlag = false,\n i,\n ii;\n const totalSymbolsLength = symbols.length + numberOfNewSymbols;\n while (flags.length < totalSymbolsLength) {\n let runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, \"IAEX\", decoder);\n while (runLength--) {\n flags.push(currentFlag);\n }\n currentFlag = !currentFlag;\n }\n for (i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n for (let j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n return exportedSymbols;\n}\nfunction decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n const bitmap = [];\n let i, row;\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n if (defaultPixelValue) {\n for (let j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n bitmap.push(row);\n }\n const decoder = decodingContext.decoder;\n const contextCache = decodingContext.contextCache;\n let stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, \"IADT\", decoder);\n let firstS = 0;\n i = 0;\n while (i < numberOfSymbolInstances) {\n const deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, \"IADT\", decoder);\n stripT += deltaT;\n const deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, \"IAFS\", decoder);\n firstS += deltaFirstS;\n let currentS = firstS;\n do {\n let currentT = 0;\n if (stripSize > 1) {\n currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, \"IAIT\", decoder);\n }\n const t = stripSize * stripT + currentT;\n const symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n const applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, \"IARI\", decoder));\n let symbolBitmap = inputSymbols[symbolId];\n let symbolWidth = symbolBitmap[0].length;\n let symbolHeight = symbolBitmap.length;\n if (applyRefinement) {\n const rdw = decodeInteger(contextCache, \"IARDW\", decoder);\n const rdh = decodeInteger(contextCache, \"IARDH\", decoder);\n const rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n const rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n }\n const offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n const offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n let s2, t2, symbolRow;\n if (transposed) {\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n if (!row) {\n continue;\n }\n symbolRow = symbolBitmap[s2];\n const maxWidth = Math.min(width - offsetT, symbolWidth);\n switch (combinationOperator) {\n case 0:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n break;\n case 2:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n break;\n default:\n throw new Jbig2Error(`operator ${combinationOperator} is not supported`);\n }\n }\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n if (!row) {\n continue;\n }\n symbolRow = symbolBitmap[t2];\n switch (combinationOperator) {\n case 0:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n break;\n case 2:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n break;\n default:\n throw new Jbig2Error(`operator ${combinationOperator} is not supported`);\n }\n }\n currentS += symbolWidth - 1;\n }\n i++;\n const deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, \"IADS\", decoder);\n if (deltaS === null) {\n break;\n }\n currentS += deltaS + dsOffset;\n } while (true);\n }\n return bitmap;\n}\nfunction decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n const at = [];\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0\n });\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n }, {\n x: 2,\n y: -2\n }, {\n x: -2,\n y: -2\n });\n }\n }\n const collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n const collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n const patterns = [];\n for (let i = 0; i <= maxPatternIndex; i++) {\n const patternBitmap = [];\n const xMin = patternWidth * i;\n const xMax = xMin + patternWidth;\n for (let y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n patterns.push(patternBitmap);\n }\n return patterns;\n}\nfunction decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n const skip = null;\n if (enableSkip) {\n throw new Jbig2Error(\"skip is not supported\");\n }\n if (combinationOperator !== 0) {\n throw new Jbig2Error(`operator \"${combinationOperator}\" is not supported in halftone region`);\n }\n const regionBitmap = [];\n let i, j, row;\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n regionBitmap.push(row);\n }\n const numberOfPatterns = patterns.length;\n const pattern0 = patterns[0];\n const patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n const bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);\n const at = [];\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1\n });\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n }, {\n x: 2,\n y: -2\n }, {\n x: -2,\n y: -2\n });\n }\n }\n const grayScaleBitPlanes = [];\n let mmrInput, bitmap;\n if (mmr) {\n mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n }\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n }\n grayScaleBitPlanes[i] = bitmap;\n }\n let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit ^= grayScaleBitPlanes[j][mg][ng];\n patternIndex |= bit << j;\n }\n patternBitmap = patterns[patternIndex];\n x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n let regionX, regionY;\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n return regionBitmap;\n}\nfunction readSegmentHeader(data, start) {\n const segmentHeader = {};\n segmentHeader.number = (0, _core_utils.readUint32)(data, start);\n const flags = data[start + 4];\n const segmentType = flags & 0x3f;\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n }\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n const pageAssociationFieldSize = !!(flags & 0x40);\n const referredFlags = data[start + 5];\n let referredToCount = referredFlags >> 5 & 7;\n const retainBits = [referredFlags & 31];\n let position = start + 6;\n if (referredFlags === 7) {\n referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;\n position += 3;\n let bytes = referredToCount + 7 >> 3;\n retainBits[0] = data[position++];\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error(\"invalid referred-to flags\");\n }\n segmentHeader.retainBits = retainBits;\n let referredToSegmentNumberSize = 4;\n if (segmentHeader.number <= 256) {\n referredToSegmentNumberSize = 1;\n } else if (segmentHeader.number <= 65536) {\n referredToSegmentNumberSize = 2;\n }\n const referredTo = [];\n let i, ii;\n for (i = 0; i < referredToCount; i++) {\n let number;\n if (referredToSegmentNumberSize === 1) {\n number = data[position];\n } else if (referredToSegmentNumberSize === 2) {\n number = (0, _core_utils.readUint16)(data, position);\n } else {\n number = (0, _core_utils.readUint32)(data, position);\n }\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n segmentHeader.referredTo = referredTo;\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);\n position += 4;\n }\n segmentHeader.length = (0, _core_utils.readUint32)(data, position);\n position += 4;\n if (segmentHeader.length === 0xffffffff) {\n if (segmentType === 38) {\n const genericRegionInfo = readRegionSegmentInformation(data, position);\n const genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n const genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n const searchPatternLength = 6;\n const searchPattern = new Uint8Array(searchPatternLength);\n if (!genericRegionMmr) {\n searchPattern[0] = 0xff;\n searchPattern[1] = 0xac;\n }\n searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;\n searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;\n searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;\n searchPattern[5] = genericRegionInfo.height & 0xff;\n for (i = position, ii = data.length; i < ii; i++) {\n let j = 0;\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n if (segmentHeader.length === 0xffffffff) {\n throw new Jbig2Error(\"segment end was not found\");\n }\n } else {\n throw new Jbig2Error(\"invalid unknown segment length\");\n }\n }\n segmentHeader.headerEnd = position;\n return segmentHeader;\n}\nfunction readSegments(header, data, start, end) {\n const segments = [];\n let position = start;\n while (position < end) {\n const segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n const segment = {\n header: segmentHeader,\n data\n };\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n segments.push(segment);\n if (segmentHeader.type === 51) {\n break;\n }\n }\n if (header.randomAccess) {\n for (let i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n return segments;\n}\nfunction readRegionSegmentInformation(data, start) {\n return {\n width: (0, _core_utils.readUint32)(data, start),\n height: (0, _core_utils.readUint32)(data, start + 4),\n x: (0, _core_utils.readUint32)(data, start + 8),\n y: (0, _core_utils.readUint32)(data, start + 12),\n combinationOperator: data[start + 16] & 7\n };\n}\nconst RegionSegmentInformationFieldLength = 17;\nfunction processSegment(segment, visitor) {\n const header = segment.header;\n const data = segment.data,\n end = segment.end;\n let position = segment.start;\n let args, at, i, atLength;\n switch (header.type) {\n case 0:\n const dictionary = {};\n const dictionaryFlags = (0, _core_utils.readUint16)(data, position);\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = dictionaryFlags >> 10 & 3;\n dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n position += 2;\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n dictionary.at = at;\n }\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n dictionary.refinementAt = at;\n }\n dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [dictionary, header.number, header.referredTo, data, position, end];\n break;\n case 6:\n case 7:\n const textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n const textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n if (textRegion.huffman) {\n const textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n }\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n textRegion.refinementAt = at;\n }\n textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n case 16:\n const patternDictionary = {};\n const patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n case 22:\n case 23:\n const halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n const halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n case 38:\n case 39:\n const genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n const genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n genericRegion.at = at;\n }\n args = [genericRegion, data, position, end];\n break;\n case 48:\n const pageInfo = {\n width: (0, _core_utils.readUint32)(data, position),\n height: (0, _core_utils.readUint32)(data, position + 4),\n resolutionX: (0, _core_utils.readUint32)(data, position + 8),\n resolutionY: (0, _core_utils.readUint32)(data, position + 12)\n };\n if (pageInfo.height === 0xffffffff) {\n delete pageInfo.height;\n }\n const pageSegmentFlags = data[position + 16];\n (0, _core_utils.readUint16)(data, position + 17);\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n case 49:\n break;\n case 50:\n break;\n case 51:\n break;\n case 53:\n args = [header.number, data, position, end];\n break;\n case 62:\n break;\n default:\n throw new Jbig2Error(`segment type ${header.typeName}(${header.type}) is not implemented`);\n }\n const callbackName = \"on\" + header.typeName;\n if (callbackName in visitor) {\n visitor[callbackName].apply(visitor, args);\n }\n}\nfunction processSegments(segments, visitor) {\n for (let i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n}\nfunction parseJbig2Chunks(chunks) {\n const visitor = new SimpleSegmentVisitor();\n for (let i = 0, ii = chunks.length; i < ii; i++) {\n const chunk = chunks[i];\n const segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n return visitor.buffer;\n}\nfunction parseJbig2(data) {\n throw new Error(\"Not implemented: parseJbig2\");\n}\nclass SimpleSegmentVisitor {\n onPageInformation(info) {\n this.currentPageInfo = info;\n const rowSize = info.width + 7 >> 3;\n const buffer = new Uint8ClampedArray(rowSize * info.height);\n if (info.defaultPixelValue) {\n buffer.fill(0xff);\n }\n this.buffer = buffer;\n }\n drawBitmap(regionInfo, bitmap) {\n const pageInfo = this.currentPageInfo;\n const width = regionInfo.width,\n height = regionInfo.height;\n const rowSize = pageInfo.width + 7 >> 3;\n const combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n const buffer = this.buffer;\n const mask0 = 128 >> (regionInfo.x & 7);\n let offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n let i, j, mask, offset;\n switch (combinationOperator) {\n case 0:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n mask >>= 1;\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n offset0 += rowSize;\n }\n break;\n case 2:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n mask >>= 1;\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n offset0 += rowSize;\n }\n break;\n default:\n throw new Jbig2Error(`operator ${combinationOperator} is not supported`);\n }\n }\n onImmediateGenericRegion(region, data, start, end) {\n const regionInfo = region.info;\n const decodingContext = new DecodingContext(data, start, end);\n const bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n }\n onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion(...arguments);\n }\n onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n let huffmanTables, huffmanInput;\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n huffmanInput = new Reader(data, start, end);\n }\n let symbols = this.symbols;\n if (!symbols) {\n this.symbols = symbols = {};\n }\n const inputSymbols = [];\n for (const referredSegment of referredSegments) {\n const referredSymbols = symbols[referredSegment];\n if (referredSymbols) {\n inputSymbols.push(...referredSymbols);\n }\n }\n const decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n }\n onImmediateTextRegion(region, referredSegments, data, start, end) {\n const regionInfo = region.info;\n let huffmanTables, huffmanInput;\n const symbols = this.symbols;\n const inputSymbols = [];\n for (const referredSegment of referredSegments) {\n const referredSymbols = symbols[referredSegment];\n if (referredSymbols) {\n inputSymbols.push(...referredSymbols);\n }\n }\n const symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n }\n const decodingContext = new DecodingContext(data, start, end);\n const bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n this.drawBitmap(regionInfo, bitmap);\n }\n onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion(...arguments);\n }\n onPatternDictionary(dictionary, currentSegment, data, start, end) {\n let patterns = this.patterns;\n if (!patterns) {\n this.patterns = patterns = {};\n }\n const decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n }\n onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n const patterns = this.patterns[referredSegments[0]];\n const regionInfo = region.info;\n const decodingContext = new DecodingContext(data, start, end);\n const bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n }\n onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion(...arguments);\n }\n onTables(currentSegment, data, start, end) {\n let customTables = this.customTables;\n if (!customTables) {\n this.customTables = customTables = {};\n }\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n }\n}\nclass HuffmanLine {\n constructor(lineData) {\n if (lineData.length === 2) {\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === \"lower\";\n }\n }\n}\nclass HuffmanTreeNode {\n constructor(line) {\n this.children = [];\n if (line) {\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n this.isLeaf = false;\n }\n }\n buildTree(line, shift) {\n const bit = line.prefixCode >> shift & 1;\n if (shift <= 0) {\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n let node = this.children[bit];\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n node.buildTree(line, shift - 1);\n }\n }\n decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n const htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n const node = this.children[reader.readBit()];\n if (!node) {\n throw new Jbig2Error(\"invalid Huffman data\");\n }\n return node.decodeNode(reader);\n }\n}\nclass HuffmanTable {\n constructor(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n this.rootNode = new HuffmanTreeNode(null);\n for (let i = 0, ii = lines.length; i < ii; i++) {\n const line = lines[i];\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n decode(reader) {\n return this.rootNode.decodeNode(reader);\n }\n assignPrefixCodes(lines) {\n const linesLength = lines.length;\n let prefixLengthMax = 0;\n for (let i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n const histogram = new Uint32Array(prefixLengthMax + 1);\n for (let i = 0; i < linesLength; i++) {\n histogram[lines[i].prefixLength]++;\n }\n let currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n while (currentLength <= prefixLengthMax) {\n firstCode = firstCode + histogram[currentLength - 1] << 1;\n currentCode = firstCode;\n currentTemp = 0;\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n currentTemp++;\n }\n currentLength++;\n }\n }\n}\nfunction decodeTablesSegment(data, start, end) {\n const flags = data[start];\n const lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;\n const highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;\n const reader = new Reader(data, start + 9, end);\n const prefixSizeBits = (flags >> 1 & 7) + 1;\n const rangeSizeBits = (flags >> 4 & 7) + 1;\n const lines = [];\n let prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"]));\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n if (flags & 1) {\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n return new HuffmanTable(lines, false);\n}\nconst standardTablesCache = {};\nfunction getStandardTable(number) {\n let table = standardTablesCache[number];\n if (table) {\n return table;\n }\n let lines;\n switch (number) {\n case 1:\n lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n break;\n case 2:\n lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];\n break;\n case 3:\n lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, \"lower\"], [75, 7, 32, 0x7e], [6, 0x3e]];\n break;\n case 4:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];\n break;\n case 5:\n lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, \"lower\"], [76, 6, 32, 0x3e]];\n break;\n case 6:\n lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, \"lower\"], [2048, 6, 32, 0x3f]];\n break;\n case 7:\n lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, \"lower\"], [2048, 5, 32, 0x1f]];\n break;\n case 8:\n lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, \"lower\"], [1670, 9, 32, 0x1ff], [2, 0x1]];\n break;\n case 9:\n lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, \"lower\"], [3339, 9, 32, 0x1ff], [2, 0x0]];\n break;\n case 10:\n lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, \"lower\"], [4166, 8, 32, 0xff], [2, 0x2]];\n break;\n case 11:\n lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n break;\n case 12:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];\n break;\n case 13:\n lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n break;\n case 14:\n lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n break;\n case 15:\n lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, \"lower\"], [25, 7, 32, 0x7f]];\n break;\n default:\n throw new Jbig2Error(`standard table B.${number} does not exist`);\n }\n for (let i = 0, ii = lines.length; i < ii; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n}\nclass Reader {\n constructor(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error(\"end of data while reading bit\");\n }\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n const bit = this.currentByte >> this.shift & 1;\n this.shift--;\n return bit;\n }\n readBits(numBits) {\n let result = 0,\n i;\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n return result;\n }\n byteAlign() {\n this.shift = -1;\n }\n next() {\n if (this.position >= this.end) {\n return -1;\n }\n return this.data[this.position++];\n }\n}\nfunction getCustomHuffmanTable(index, referredTo, customTables) {\n let currentIndex = 0;\n for (let i = 0, ii = referredTo.length; i < ii; i++) {\n const table = customTables[referredTo[i]];\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n currentIndex++;\n }\n }\n throw new Jbig2Error(\"can't find custom Huffman table\");\n}\nfunction getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n const codes = [];\n for (let i = 0; i <= 34; i++) {\n const codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n const runCodesTable = new HuffmanTable(codes, false);\n codes.length = 0;\n for (let i = 0; i < numberOfSymbols;) {\n const codeLength = runCodesTable.decode(reader);\n if (codeLength >= 32) {\n let repeatedLength, numberOfRepeats, j;\n switch (codeLength) {\n case 32:\n if (i === 0) {\n throw new Jbig2Error(\"no previous value in symbol ID table\");\n }\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[i - 1].prefixLength;\n break;\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n default:\n throw new Jbig2Error(\"invalid code length in symbol ID table\");\n }\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));\n i++;\n }\n } else {\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n i++;\n }\n }\n reader.byteAlign();\n const symbolIDTable = new HuffmanTable(codes, false);\n let customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n case 3:\n tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman FS selector\");\n }\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n case 3:\n tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DS selector\");\n }\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n case 3:\n tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DT selector\");\n }\n if (textRegion.refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n return {\n symbolIDTable,\n tableFirstS,\n tableDeltaS,\n tableDeltaT\n };\n}\nfunction getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n let customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DH selector\");\n }\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DW selector\");\n }\n let tableBitmapSize, tableAggregateInstances;\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n return {\n tableDeltaHeight,\n tableDeltaWidth,\n tableBitmapSize,\n tableAggregateInstances\n };\n}\nfunction readUncompressedBitmap(reader, width, height) {\n const bitmap = [];\n for (let y = 0; y < height; y++) {\n const row = new Uint8Array(width);\n bitmap.push(row);\n for (let x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n reader.byteAlign();\n }\n return bitmap;\n}\nfunction decodeMMRBitmap(input, width, height, endOfBlock) {\n const params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock\n };\n const decoder = new _ccitt.CCITTFaxDecoder(input, params);\n const bitmap = [];\n let currentByte,\n eof = false;\n for (let y = 0; y < height; y++) {\n const row = new Uint8Array(width);\n bitmap.push(row);\n let shift = -1;\n for (let x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n if (currentByte === -1) {\n currentByte = 0;\n eof = true;\n }\n shift = 7;\n }\n row[x] = currentByte >> shift & 1;\n shift--;\n }\n }\n if (endOfBlock && !eof) {\n const lookForEOFLimit = 5;\n for (let i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n return bitmap;\n}\nclass Jbig2Image {\n parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n }\n parse(data) {\n throw new Error(\"Not implemented: Jbig2Image.parse\");\n }\n}\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ArithmeticDecoder = void 0;\nconst QeTable = [{\n qe: 0x5601,\n nmps: 1,\n nlps: 1,\n switchFlag: 1\n}, {\n qe: 0x3401,\n nmps: 2,\n nlps: 6,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 3,\n nlps: 9,\n switchFlag: 0\n}, {\n qe: 0x0ac1,\n nmps: 4,\n nlps: 12,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 5,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 38,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 7,\n nlps: 6,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 8,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 9,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 10,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 11,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 12,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x1c01,\n nmps: 13,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 29,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 15,\n nlps: 14,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 16,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x5101,\n nmps: 17,\n nlps: 15,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 18,\n nlps: 16,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 19,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x3401,\n nmps: 20,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 21,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2801,\n nmps: 22,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 23,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x2201,\n nmps: 24,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x1c01,\n nmps: 25,\n nlps: 22,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 26,\n nlps: 23,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 27,\n nlps: 24,\n switchFlag: 0\n}, {\n qe: 0x1401,\n nmps: 28,\n nlps: 25,\n switchFlag: 0\n}, {\n qe: 0x1201,\n nmps: 29,\n nlps: 26,\n switchFlag: 0\n}, {\n qe: 0x1101,\n nmps: 30,\n nlps: 27,\n switchFlag: 0\n}, {\n qe: 0x0ac1,\n nmps: 31,\n nlps: 28,\n switchFlag: 0\n}, {\n qe: 0x09c1,\n nmps: 32,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x08a1,\n nmps: 33,\n nlps: 30,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 34,\n nlps: 31,\n switchFlag: 0\n}, {\n qe: 0x0441,\n nmps: 35,\n nlps: 32,\n switchFlag: 0\n}, {\n qe: 0x02a1,\n nmps: 36,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 37,\n nlps: 34,\n switchFlag: 0\n}, {\n qe: 0x0141,\n nmps: 38,\n nlps: 35,\n switchFlag: 0\n}, {\n qe: 0x0111,\n nmps: 39,\n nlps: 36,\n switchFlag: 0\n}, {\n qe: 0x0085,\n nmps: 40,\n nlps: 37,\n switchFlag: 0\n}, {\n qe: 0x0049,\n nmps: 41,\n nlps: 38,\n switchFlag: 0\n}, {\n qe: 0x0025,\n nmps: 42,\n nlps: 39,\n switchFlag: 0\n}, {\n qe: 0x0015,\n nmps: 43,\n nlps: 40,\n switchFlag: 0\n}, {\n qe: 0x0009,\n nmps: 44,\n nlps: 41,\n switchFlag: 0\n}, {\n qe: 0x0005,\n nmps: 45,\n nlps: 42,\n switchFlag: 0\n}, {\n qe: 0x0001,\n nmps: 45,\n nlps: 43,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 46,\n nlps: 46,\n switchFlag: 0\n}];\nclass ArithmeticDecoder {\n constructor(data, start, end) {\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n this.chigh = data[start];\n this.clow = 0;\n this.byteIn();\n this.chigh = this.chigh << 7 & 0xffff | this.clow >> 9 & 0x7f;\n this.clow = this.clow << 7 & 0xffff;\n this.ct -= 7;\n this.a = 0x8000;\n }\n byteIn() {\n const data = this.data;\n let bp = this.bp;\n if (data[bp] === 0xff) {\n if (data[bp + 1] > 0x8f) {\n this.clow += 0xff00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n this.ct = 8;\n this.bp = bp;\n }\n if (this.clow > 0xffff) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xffff;\n }\n }\n readBit(contexts, pos) {\n let cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n const qeTableIcx = QeTable[cx_index];\n const qeIcx = qeTableIcx.qe;\n let d;\n let a = this.a - qeIcx;\n if (this.chigh < qeIcx) {\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n a <<= 1;\n this.chigh = this.chigh << 1 & 0xffff | this.clow >> 15 & 1;\n this.clow = this.clow << 1 & 0xffff;\n this.ct--;\n } while ((a & 0x8000) === 0);\n this.a = a;\n contexts[pos] = cx_index << 1 | cx_mps;\n return d;\n }\n}\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.JpegStream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _primitives = __w_pdfjs_require__(4);\nvar _jpg = __w_pdfjs_require__(27);\nvar _util = __w_pdfjs_require__(2);\nclass JpegStream extends _decode_stream.DecodeStream {\n constructor(stream, maybeLength, params) {\n let ch;\n while ((ch = stream.getByte()) !== -1) {\n if (ch === 0xff) {\n stream.skip(-1);\n break;\n }\n }\n super(maybeLength);\n this.stream = stream;\n this.dict = stream.dict;\n this.maybeLength = maybeLength;\n this.params = params;\n }\n get bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n }\n ensureBuffer(requested) {}\n readBlock() {\n if (this.eof) {\n return;\n }\n const jpegOptions = {\n decodeTransform: undefined,\n colorTransform: undefined\n };\n const decodeArr = this.dict.getArray(\"D\", \"Decode\");\n if ((this.forceRGBA || this.forceRGB) && Array.isArray(decodeArr)) {\n const bitsPerComponent = this.dict.get(\"BPC\", \"BitsPerComponent\") || 8;\n const decodeArrLength = decodeArr.length;\n const transform = new Int32Array(decodeArrLength);\n let transformNeeded = false;\n const maxValue = (1 << bitsPerComponent) - 1;\n for (let i = 0; i < decodeArrLength; i += 2) {\n transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n transform[i + 1] = decodeArr[i] * maxValue | 0;\n if (transform[i] !== 256 || transform[i + 1] !== 0) {\n transformNeeded = true;\n }\n }\n if (transformNeeded) {\n jpegOptions.decodeTransform = transform;\n }\n }\n if (this.params instanceof _primitives.Dict) {\n const colorTransform = this.params.get(\"ColorTransform\");\n if (Number.isInteger(colorTransform)) {\n jpegOptions.colorTransform = colorTransform;\n }\n }\n const jpegImage = new _jpg.JpegImage(jpegOptions);\n jpegImage.parse(this.bytes);\n const data = jpegImage.getData({\n width: this.drawWidth,\n height: this.drawHeight,\n forceRGBA: this.forceRGBA,\n forceRGB: this.forceRGB,\n isSourcePDF: true\n });\n this.buffer = data;\n this.bufferLength = data.length;\n this.eof = true;\n }\n}\nexports.JpegStream = JpegStream;\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.JpegImage = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _image_utils = __w_pdfjs_require__(28);\nvar _core_utils = __w_pdfjs_require__(3);\nclass JpegError extends _util.BaseException {\n constructor(msg) {\n super(`JPEG error: ${msg}`, \"JpegError\");\n }\n}\nclass DNLMarkerError extends _util.BaseException {\n constructor(message, scanLines) {\n super(message, \"DNLMarkerError\");\n this.scanLines = scanLines;\n }\n}\nclass EOIMarkerError extends _util.BaseException {\n constructor(msg) {\n super(msg, \"EOIMarkerError\");\n }\n}\nconst dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\nconst dctCos1 = 4017;\nconst dctSin1 = 799;\nconst dctCos3 = 3406;\nconst dctSin3 = 2276;\nconst dctCos6 = 1567;\nconst dctSin6 = 3784;\nconst dctSqrt2 = 5793;\nconst dctSqrt1d2 = 2896;\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0,\n i,\n j,\n length = 16;\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n const code = [{\n children: [],\n index: 0\n }];\n let p = code[0],\n q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nfunction getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n}\nfunction decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, parseDNLMarker = false) {\n const mcusPerLine = frame.mcusPerLine;\n const progressive = frame.progressive;\n const startOffset = offset;\n let bitsData = 0,\n bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData === 0xff) {\n const nextByte = data[offset++];\n if (nextByte) {\n if (nextByte === 0xdc && parseDNLMarker) {\n offset += 2;\n const scanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError(\"Found DNL marker (0xFFDC) while parsing scan data\", scanLines);\n }\n } else if (nextByte === 0xd9) {\n if (parseDNLMarker) {\n const maybeScanLines = blockRow * (frame.precision === 8 ? 8 : 0);\n if (maybeScanLines > 0 && Math.round(frame.scanLines / maybeScanLines) >= 5) {\n throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \" + \"possibly caused by incorrect `scanLines` parameter\", maybeScanLines);\n }\n }\n throw new EOIMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data\");\n }\n throw new JpegError(`unexpected marker ${(bitsData << 8 | nextByte).toString(16)}`);\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n let node = tree;\n while (true) {\n node = node[readBit()];\n switch (typeof node) {\n case \"number\":\n return node;\n case \"object\":\n continue;\n }\n throw new JpegError(\"invalid huffman sequence\");\n }\n }\n function receive(length) {\n let n = 0;\n while (length > 0) {\n n = n << 1 | readBit();\n length--;\n }\n return n;\n }\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n const n = receive(length);\n if (n >= 1 << length - 1) {\n return n;\n }\n return n + (-1 << length) + 1;\n }\n function decodeBaseline(component, blockOffset) {\n const t = decodeHuffman(component.huffmanTableDC);\n const diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[blockOffset] = component.pred += diff;\n let k = 1;\n while (k < 64) {\n const rs = decodeHuffman(component.huffmanTableAC);\n const s = rs & 15,\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k += 16;\n continue;\n }\n k += r;\n const z = dctZigZag[k];\n component.blockData[blockOffset + z] = receiveAndExtend(s);\n k++;\n }\n }\n function decodeDCFirst(component, blockOffset) {\n const t = decodeHuffman(component.huffmanTableDC);\n const diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[blockOffset] = component.pred += diff;\n }\n function decodeDCSuccessive(component, blockOffset) {\n component.blockData[blockOffset] |= readBit() << successive;\n }\n let eobrun = 0;\n function decodeACFirst(component, blockOffset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k = spectralStart;\n const e = spectralEnd;\n while (k <= e) {\n const rs = decodeHuffman(component.huffmanTableAC);\n const s = rs & 15,\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k += 16;\n continue;\n }\n k += r;\n const z = dctZigZag[k];\n component.blockData[blockOffset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n let successiveACState = 0,\n successiveACNextValue;\n function decodeACSuccessive(component, blockOffset) {\n let k = spectralStart;\n const e = spectralEnd;\n let r = 0;\n let s;\n let rs;\n while (k <= e) {\n const offsetZ = blockOffset + dctZigZag[k];\n const sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError(\"invalid ACn encoding\");\n }\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n break;\n case 3:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n break;\n }\n k++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n let blockRow = 0;\n function decodeMcu(component, decode, mcu, row, col) {\n const mcuRow = mcu / mcusPerLine | 0;\n const mcuCol = mcu % mcusPerLine;\n blockRow = mcuRow * component.v + row;\n const blockCol = mcuCol * component.h + col;\n const blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n function decodeBlock(component, decode, mcu) {\n blockRow = mcu / component.blocksPerLine | 0;\n const blockCol = mcu % component.blocksPerLine;\n const blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n const componentsLength = components.length;\n let component, i, j, k, n;\n let decodeFn;\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n let mcu = 0,\n fileMarker;\n const mcuExpected = componentsLength === 1 ? components[0].blocksPerLine * components[0].blocksPerColumn : mcusPerLine * frame.mcusPerColumn;\n let h, v;\n while (mcu <= mcuExpected) {\n const mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n if (mcuToRead > 0) {\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n eobrun = 0;\n if (componentsLength === 1) {\n component = components[0];\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n }\n }\n }\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n if (!fileMarker) {\n break;\n }\n if (fileMarker.invalid) {\n const partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n (0, _util.warn)(`decodeScan - ${partialMsg} MCU data, current marker is: ${fileMarker.invalid}`);\n offset = fileMarker.offset;\n }\n if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n offset += 2;\n } else {\n break;\n }\n }\n return offset - startOffset;\n}\nfunction quantizeAndInverse(component, blockBufferOffset, p) {\n const qt = component.quantizationTable,\n blockData = component.blockData;\n let v0, v1, v2, v3, v4, v5, v6, v7;\n let p0, p1, p2, p3, p4, p5, p6, p7;\n let t;\n if (!qt) {\n throw new JpegError(\"missing required Quantization Table.\");\n }\n for (let row = 0; row < 64; row += 8) {\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n p0 *= qt[row];\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 512 >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n v0 = dctSqrt2 * p0 + 128 >> 8;\n v1 = dctSqrt2 * p4 + 128 >> 8;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n v0 = v0 + v1 + 1 >> 1;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n for (let col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 8192 >> 14;\n if (t < -2040) {\n t = 0;\n } else if (t >= 2024) {\n t = 255;\n } else {\n t = t + 2056 >> 4;\n }\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n v0 = dctSqrt2 * p0 + 2048 >> 12;\n v1 = dctSqrt2 * p4 + 2048 >> 12;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n v5 = p3;\n v6 = p5;\n v0 = (v0 + v1 + 1 >> 1) + 4112;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n if (p0 < 16) {\n p0 = 0;\n } else if (p0 >= 4080) {\n p0 = 255;\n } else {\n p0 >>= 4;\n }\n if (p1 < 16) {\n p1 = 0;\n } else if (p1 >= 4080) {\n p1 = 255;\n } else {\n p1 >>= 4;\n }\n if (p2 < 16) {\n p2 = 0;\n } else if (p2 >= 4080) {\n p2 = 255;\n } else {\n p2 >>= 4;\n }\n if (p3 < 16) {\n p3 = 0;\n } else if (p3 >= 4080) {\n p3 = 255;\n } else {\n p3 >>= 4;\n }\n if (p4 < 16) {\n p4 = 0;\n } else if (p4 >= 4080) {\n p4 = 255;\n } else {\n p4 >>= 4;\n }\n if (p5 < 16) {\n p5 = 0;\n } else if (p5 >= 4080) {\n p5 = 255;\n } else {\n p5 >>= 4;\n }\n if (p6 < 16) {\n p6 = 0;\n } else if (p6 >= 4080) {\n p6 = 255;\n } else {\n p6 >>= 4;\n }\n if (p7 < 16) {\n p7 = 0;\n } else if (p7 >= 4080) {\n p7 = 255;\n } else {\n p7 >>= 4;\n }\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n}\nfunction buildComponentData(frame, component) {\n const blocksPerLine = component.blocksPerLine;\n const blocksPerColumn = component.blocksPerColumn;\n const computationBuffer = new Int16Array(64);\n for (let blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (let blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n const offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n return component.blockData;\n}\nfunction findNextFileMarker(data, currentPos, startPos = currentPos) {\n const maxPos = data.length - 1;\n let newPos = startPos < currentPos ? startPos : currentPos;\n if (currentPos >= maxPos) {\n return null;\n }\n const currentMarker = (0, _core_utils.readUint16)(data, currentPos);\n if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos\n };\n }\n let newMarker = (0, _core_utils.readUint16)(data, newPos);\n while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n if (++newPos >= maxPos) {\n return null;\n }\n newMarker = (0, _core_utils.readUint16)(data, newPos);\n }\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos\n };\n}\nclass JpegImage {\n constructor({\n decodeTransform = null,\n colorTransform = -1\n } = {}) {\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n parse(data, {\n dnlScanLines = null\n } = {}) {\n function readDataBlock() {\n const length = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n let endOffset = offset + length - 2;\n const fileMarker = findNextFileMarker(data, endOffset, offset);\n if (fileMarker?.invalid) {\n (0, _util.warn)(\"readDataBlock - incorrect length, current marker is: \" + fileMarker.invalid);\n endOffset = fileMarker.offset;\n }\n const array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame) {\n const mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n const mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n for (const component of frame.components) {\n const blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n const blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n let offset = 0;\n let jfif = null;\n let adobe = null;\n let frame, resetInterval;\n let numSOSMarkers = 0;\n const quantizationTables = [];\n const huffmanTablesAC = [],\n huffmanTablesDC = [];\n let fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n if (fileMarker !== 0xffd8) {\n throw new JpegError(\"SOI not found\");\n }\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n markerLoop: while (fileMarker !== 0xffd9) {\n let i, j, l;\n switch (fileMarker) {\n case 0xffe0:\n case 0xffe1:\n case 0xffe2:\n case 0xffe3:\n case 0xffe4:\n case 0xffe5:\n case 0xffe6:\n case 0xffe7:\n case 0xffe8:\n case 0xffe9:\n case 0xffea:\n case 0xffeb:\n case 0xffec:\n case 0xffed:\n case 0xffee:\n case 0xffef:\n case 0xfffe:\n const appData = readDataBlock();\n if (fileMarker === 0xffe0) {\n if (appData[0] === 0x4a && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n jfif = {\n version: {\n major: appData[5],\n minor: appData[6]\n },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 0xffee) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6f && appData[3] === 0x62 && appData[4] === 0x65) {\n adobe = {\n version: appData[5] << 8 | appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 0xffdb:\n const quantizationTablesLength = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n const quantizationTablesEnd = quantizationTablesLength + offset - 2;\n let z;\n while (offset < quantizationTablesEnd) {\n const quantizationTableSpec = data[offset++];\n const tableData = new Uint16Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n }\n } else {\n throw new JpegError(\"DQT - invalid table spec\");\n }\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 0xffc0:\n case 0xffc1:\n case 0xffc2:\n if (frame) {\n throw new JpegError(\"Only single frame JPEGs supported\");\n }\n offset += 2;\n frame = {};\n frame.extended = fileMarker === 0xffc1;\n frame.progressive = fileMarker === 0xffc2;\n frame.precision = data[offset++];\n const sofScanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.components = [];\n frame.componentIds = {};\n const componentsCount = data[offset++];\n let maxH = 0,\n maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n const componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h) {\n maxH = h;\n }\n if (maxV < v) {\n maxV = v;\n }\n const qId = data[offset + 2];\n l = frame.components.push({\n h,\n v,\n quantizationId: qId,\n quantizationTable: null\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n case 0xffc4:\n const huffmanLength = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n for (i = 2; i < huffmanLength;) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n break;\n case 0xffdd:\n offset += 2;\n resetInterval = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n break;\n case 0xffda:\n const parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n offset += 2;\n const selectorsCount = data[offset++],\n components = [];\n for (i = 0; i < selectorsCount; i++) {\n const index = data[offset++];\n const componentIndex = frame.componentIds[index];\n const component = frame.components[componentIndex];\n component.index = index;\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++],\n spectralEnd = data[offset++],\n successiveApproximation = data[offset++];\n try {\n const processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n (0, _util.warn)(`${ex.message} -- attempting to re-parse the JPEG image.`);\n return this.parse(data, {\n dnlScanLines: ex.scanLines\n });\n } else if (ex instanceof EOIMarkerError) {\n (0, _util.warn)(`${ex.message} -- ignoring the rest of the image data.`);\n break markerLoop;\n }\n throw ex;\n }\n break;\n case 0xffdc:\n offset += 4;\n break;\n case 0xffff:\n if (data[offset] !== 0xff) {\n offset--;\n }\n break;\n default:\n const nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);\n if (nextFileMarker?.invalid) {\n (0, _util.warn)(\"JpegImage.parse - unexpected data, current marker is: \" + nextFileMarker.invalid);\n offset = nextFileMarker.offset;\n break;\n }\n if (!nextFileMarker || offset >= data.length - 1) {\n (0, _util.warn)(\"JpegImage.parse - reached the end of the image data \" + \"without finding an EOI marker (0xFFD9).\");\n break markerLoop;\n }\n throw new JpegError(\"JpegImage.parse - unknown marker: \" + fileMarker.toString(16));\n }\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (const component of frame.components) {\n const quantizationTable = quantizationTables[component.quantizationId];\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n this.components.push({\n index: component.index,\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn\n });\n }\n this.numComponents = this.components.length;\n return undefined;\n }\n _getLinearizedBlockData(width, height, isSourcePDF = false) {\n const scaleX = this.width / width,\n scaleY = this.height / height;\n let component, componentScaleX, componentScaleY, blocksPerScanline;\n let x, y, i, j, k;\n let index;\n let offset = 0;\n let output;\n const numComponents = this.components.length;\n const dataLength = width * height * numComponents;\n const data = new Uint8ClampedArray(dataLength);\n const xScaleBlockOffset = new Uint32Array(width);\n const mask3LSB = 0xfffffff8;\n let lastComponentScaleX;\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = component.blocksPerLine + 1 << 3;\n if (componentScaleX !== lastComponentScaleX) {\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n lastComponentScaleX = componentScaleX;\n }\n for (y = 0; y < height; y++) {\n j = 0 | y * componentScaleY;\n index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n let transform = this._decodeTransform;\n if (!isSourcePDF && numComponents === 4 && !transform) {\n transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n }\n if (transform) {\n for (i = 0; i < dataLength;) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n }\n }\n }\n return data;\n }\n get _isColorConversionNeeded() {\n if (this.adobe) {\n return !!this.adobe.transformCode;\n }\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n return false;\n } else if (this.components[0].index === 0x52 && this.components[1].index === 0x47 && this.components[2].index === 0x42) {\n return false;\n }\n return true;\n }\n if (this._colorTransform === 1) {\n return true;\n }\n return false;\n }\n _convertYccToRgb(data) {\n let Y, Cb, Cr;\n for (let i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n return data;\n }\n _convertYccToRgba(data, out) {\n for (let i = 0, j = 0, length = data.length; i < length; i += 3, j += 4) {\n const Y = data[i];\n const Cb = data[i + 1];\n const Cr = data[i + 2];\n out[j] = Y - 179.456 + 1.402 * Cr;\n out[j + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n out[j + 2] = Y - 226.816 + 1.772 * Cb;\n out[j + 3] = 255;\n }\n return out;\n }\n _convertYcckToRgb(data) {\n let Y, Cb, Cr, k;\n let offset = 0;\n for (let i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n return data.subarray(0, offset);\n }\n _convertYcckToRgba(data) {\n for (let i = 0, length = data.length; i < length; i += 4) {\n const Y = data[i];\n const Cb = data[i + 1];\n const Cr = data[i + 2];\n const k = data[i + 3];\n data[i] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n data[i + 1] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n data[i + 2] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n data[i + 3] = 255;\n }\n return data;\n }\n _convertYcckToCmyk(data) {\n let Y, Cb, Cr;\n for (let i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n }\n return data;\n }\n _convertCmykToRgb(data) {\n let c, m, y, k;\n let offset = 0;\n for (let i = 0, length = data.length; i < length; i += 4) {\n c = data[i];\n m = data[i + 1];\n y = data[i + 2];\n k = data[i + 3];\n data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.0003189131175883281 * k + 0.7364883807733168);\n data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\n }\n return data.subarray(0, offset);\n }\n _convertCmykToRgba(data) {\n for (let i = 0, length = data.length; i < length; i += 4) {\n const c = data[i];\n const m = data[i + 1];\n const y = data[i + 2];\n const k = data[i + 3];\n data[i] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n data[i + 1] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.0003189131175883281 * k + 0.7364883807733168);\n data[i + 2] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\n data[i + 3] = 255;\n }\n return data;\n }\n getData({\n width,\n height,\n forceRGBA = false,\n forceRGB = false,\n isSourcePDF = false\n }) {\n if (this.numComponents > 4) {\n throw new JpegError(\"Unsupported color mode\");\n }\n const data = this._getLinearizedBlockData(width, height, isSourcePDF);\n if (this.numComponents === 1 && (forceRGBA || forceRGB)) {\n const len = data.length * (forceRGBA ? 4 : 3);\n const rgbaData = new Uint8ClampedArray(len);\n let offset = 0;\n if (forceRGBA) {\n (0, _image_utils.grayToRGBA)(data, new Uint32Array(rgbaData.buffer));\n } else {\n for (const grayColor of data) {\n rgbaData[offset++] = grayColor;\n rgbaData[offset++] = grayColor;\n rgbaData[offset++] = grayColor;\n }\n }\n return rgbaData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n if (forceRGBA) {\n const rgbaData = new Uint8ClampedArray(data.length / 3 * 4);\n return this._convertYccToRgba(data, rgbaData);\n }\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGBA) {\n return this._convertYcckToRgba(data);\n }\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n return this._convertYcckToCmyk(data);\n } else if (forceRGBA) {\n return this._convertCmykToRgba(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n return data;\n }\n}\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA;\nexports.convertToRGBA = convertToRGBA;\nexports.grayToRGBA = grayToRGBA;\nvar _util = __w_pdfjs_require__(2);\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case _util.ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n return null;\n}\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false\n}) {\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n if (_util.FeatureTest.isLittleEndian) {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;\n dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;\n dest[destPos + 3] = s3 >>> 8 | 0xff000000;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;\n dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;\n dest[destPos + 3] = s3 << 8 | 0xff;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction grayToRGBA(src, dest) {\n if (_util.FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x10101 | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x1010100 | 0x000000ff;\n }\n }\n}\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.JpxStream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _jpx = __w_pdfjs_require__(30);\nvar _util = __w_pdfjs_require__(2);\nclass JpxStream extends _decode_stream.DecodeStream {\n constructor(stream, maybeLength, params) {\n super(maybeLength);\n this.stream = stream;\n this.dict = stream.dict;\n this.maybeLength = maybeLength;\n this.params = params;\n }\n get bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n }\n ensureBuffer(requested) {}\n readBlock() {\n if (this.eof) {\n return;\n }\n const jpxImage = new _jpx.JpxImage();\n jpxImage.parse(this.bytes);\n const width = jpxImage.width;\n const height = jpxImage.height;\n const componentsCount = jpxImage.componentsCount;\n const tileCount = jpxImage.tiles.length;\n if (tileCount === 1) {\n this.buffer = jpxImage.tiles[0].items;\n } else {\n const data = new Uint8ClampedArray(width * height * componentsCount);\n for (let k = 0; k < tileCount; k++) {\n const tileComponents = jpxImage.tiles[k];\n const tileWidth = tileComponents.width;\n const tileHeight = tileComponents.height;\n const tileLeft = tileComponents.left;\n const tileTop = tileComponents.top;\n const src = tileComponents.items;\n let srcPosition = 0;\n let dataPosition = (width * tileTop + tileLeft) * componentsCount;\n const imgRowSize = width * componentsCount;\n const tileRowSize = tileWidth * componentsCount;\n for (let j = 0; j < tileHeight; j++) {\n const rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n data.set(rowBytes, dataPosition);\n srcPosition += tileRowSize;\n dataPosition += imgRowSize;\n }\n }\n this.buffer = data;\n }\n this.bufferLength = this.buffer.length;\n this.eof = true;\n }\n}\nexports.JpxStream = JpxStream;\n\n/***/ }),\n/* 30 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.JpxImage = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _arithmetic_decoder = __w_pdfjs_require__(25);\nclass JpxError extends _util.BaseException {\n constructor(msg) {\n super(`JPX error: ${msg}`, \"JpxError\");\n }\n}\nconst SubbandsGainLog2 = {\n LL: 0,\n LH: 1,\n HL: 1,\n HH: 2\n};\nclass JpxImage {\n constructor() {\n this.failOnCorruptedImage = false;\n }\n parse(data) {\n const head = (0, _core_utils.readUint16)(data, 0);\n if (head === 0xff4f) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n const length = data.length;\n let position = 0;\n while (position < length) {\n let headerSize = 8;\n let lbox = (0, _core_utils.readUint32)(data, position);\n const tbox = (0, _core_utils.readUint32)(data, position + 4);\n position += headerSize;\n if (lbox === 1) {\n lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.readUint32)(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n if (lbox < headerSize) {\n throw new JpxError(\"Invalid box field size\");\n }\n const dataLength = lbox - headerSize;\n let jumpDataLength = true;\n switch (tbox) {\n case 0x6a703268:\n jumpDataLength = false;\n break;\n case 0x636f6c72:\n const method = data[position];\n if (method === 1) {\n const colorspace = (0, _core_utils.readUint32)(data, position + 3);\n switch (colorspace) {\n case 16:\n case 17:\n case 18:\n break;\n default:\n (0, _util.warn)(\"Unknown colorspace \" + colorspace);\n break;\n }\n } else if (method === 2) {\n (0, _util.info)(\"ICC profile not supported\");\n }\n break;\n case 0x6a703263:\n this.parseCodestream(data, position, position + dataLength);\n break;\n case 0x6a502020:\n if ((0, _core_utils.readUint32)(data, position) !== 0x0d0a870a) {\n (0, _util.warn)(\"Invalid JP2 signature\");\n }\n break;\n case 0x6a501a1a:\n case 0x66747970:\n case 0x72726571:\n case 0x72657320:\n case 0x69686472:\n break;\n default:\n const headerType = String.fromCharCode(tbox >> 24 & 0xff, tbox >> 16 & 0xff, tbox >> 8 & 0xff, tbox & 0xff);\n (0, _util.warn)(`Unsupported header type ${tbox} (${headerType}).`);\n break;\n }\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n }\n parseImageProperties(stream) {\n let newByte = stream.getByte();\n while (newByte >= 0) {\n const oldByte = newByte;\n newByte = stream.getByte();\n const code = oldByte << 8 | newByte;\n if (code === 0xff51) {\n stream.skip(4);\n const Xsiz = stream.getInt32() >>> 0;\n const Ysiz = stream.getInt32() >>> 0;\n const XOsiz = stream.getInt32() >>> 0;\n const YOsiz = stream.getInt32() >>> 0;\n stream.skip(16);\n const Csiz = stream.getUint16();\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n this.bitsPerComponent = 8;\n return;\n }\n }\n throw new JpxError(\"No size marker found in JPX stream\");\n }\n parseCodestream(data, start, end) {\n const context = {};\n let doNotRecover = false;\n try {\n let position = start;\n while (position + 1 < end) {\n const code = (0, _core_utils.readUint16)(data, position);\n position += 2;\n let length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n switch (code) {\n case 0xff4f:\n context.mainHeader = true;\n break;\n case 0xffd9:\n break;\n case 0xff51:\n length = (0, _core_utils.readUint16)(data, position);\n const siz = {};\n siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);\n siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);\n siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);\n siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);\n siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);\n siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);\n const componentsCount = (0, _core_utils.readUint16)(data, position + 36);\n siz.Csiz = componentsCount;\n const components = [];\n j = position + 38;\n for (let i = 0; i < componentsCount; i++) {\n const component = {\n precision: (data[j] & 0x7f) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2]\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n case 0xff5c:\n length = (0, _core_utils.readUint16)(data, position);\n const qcd = {};\n j = position + 2;\n sqcd = data[j++];\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n while (j < length + position) {\n const spqcd = {};\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n spqcds.push(spqcd);\n }\n qcd.SPqcds = spqcds;\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n break;\n case 0xff5d:\n length = (0, _core_utils.readUint16)(data, position);\n const qcc = {};\n j = position + 2;\n let cqcc;\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = (0, _core_utils.readUint16)(data, j);\n j += 2;\n }\n sqcd = data[j++];\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n while (j < length + position) {\n const spqcd = {};\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n spqcds.push(spqcd);\n }\n qcc.SPqcds = spqcds;\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n break;\n case 0xff52:\n length = (0, _core_utils.readUint16)(data, position);\n const cod = {};\n j = position + 2;\n const scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = (0, _core_utils.readUint16)(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xf) + 2;\n cod.ycb = (data[j++] & 0xf) + 2;\n const blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n if (cod.entropyCoderWithCustomPrecincts) {\n const precinctsSizes = [];\n while (j < length + position) {\n const precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xf,\n PPy: precinctsSize >> 4\n });\n }\n cod.precinctsSizes = precinctsSizes;\n }\n const unsupported = [];\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push(\"selectiveArithmeticCodingBypass\");\n }\n if (cod.terminationOnEachCodingPass) {\n unsupported.push(\"terminationOnEachCodingPass\");\n }\n if (cod.verticallyStripe) {\n unsupported.push(\"verticallyStripe\");\n }\n if (cod.predictableTermination) {\n unsupported.push(\"predictableTermination\");\n }\n if (unsupported.length > 0) {\n doNotRecover = true;\n (0, _util.warn)(`JPX: Unsupported COD options (${unsupported.join(\", \")}).`);\n }\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n break;\n case 0xff90:\n length = (0, _core_utils.readUint16)(data, position);\n tile = {};\n tile.index = (0, _core_utils.readUint16)(data, position + 2);\n tile.length = (0, _core_utils.readUint32)(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n context.mainHeader = false;\n if (tile.partIndex === 0) {\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0);\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0);\n }\n context.currentTile = tile;\n break;\n case 0xff93:\n tile = context.currentTile;\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n case 0xff53:\n (0, _util.warn)(\"JPX: Codestream code 0xFF53 (COC) is not implemented.\");\n case 0xff55:\n case 0xff57:\n case 0xff58:\n case 0xff64:\n length = (0, _core_utils.readUint16)(data, position);\n break;\n default:\n throw new Error(\"Unknown codestream code: \" + code.toString(16));\n }\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n (0, _util.warn)(`JPX: Trying to recover from: \"${e.message}\".`);\n }\n }\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n}\nexports.JpxImage = JpxImage;\nfunction calculateComponentDimensions(component, siz) {\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n}\nfunction calculateTileGrids(context, components) {\n const siz = context.SIZ;\n const tiles = [];\n let tile;\n const numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n const numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n for (let q = 0; q < numYtiles; q++) {\n for (let p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n context.tiles = tiles;\n const componentsCount = siz.Csiz;\n for (let i = 0, ii = componentsCount; i < ii; i++) {\n const component = components[i];\n for (let j = 0, jj = tiles.length; j < jj; j++) {\n const tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n}\nfunction getBlocksDimensions(context, component, r) {\n const codOrCoc = component.codingStyleParameters;\n const result = {};\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n}\nfunction buildPrecincts(context, resolution, dimensions) {\n const precinctWidth = 1 << dimensions.PPx;\n const precinctHeight = 1 << dimensions.PPy;\n const isZeroRes = resolution.resLevel === 0;\n const precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n const precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n const numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n const numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n const numprecincts = numprecinctswide * numprecinctshigh;\n resolution.precinctParameters = {\n precinctWidth,\n precinctHeight,\n numprecinctswide,\n numprecinctshigh,\n numprecincts,\n precinctWidthInSubband,\n precinctHeightInSubband\n };\n}\nfunction buildCodeblocks(context, subband, dimensions) {\n const xcb_ = dimensions.xcb_;\n const ycb_ = dimensions.ycb_;\n const codeblockWidth = 1 << xcb_;\n const codeblockHeight = 1 << ycb_;\n const cbx0 = subband.tbx0 >> xcb_;\n const cby0 = subband.tby0 >> ycb_;\n const cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n const cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n const precinctParameters = subband.resolution.precinctParameters;\n const codeblocks = [];\n const precincts = [];\n let i, j, codeblock, precinctNumber;\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1)\n };\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n const pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n const pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n continue;\n }\n codeblocks.push(codeblock);\n let precinct = precincts[precinctNumber];\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j\n };\n }\n codeblock.precinct = precinct;\n }\n }\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n}\nfunction createPacket(resolution, precinctNumber, layerNumber) {\n const precinctCodeblocks = [];\n const subbands = resolution.subbands;\n for (let i = 0, ii = subbands.length; i < ii; i++) {\n const subband = subbands[i];\n const codeblocks = subband.codeblocks;\n for (let j = 0, jj = codeblocks.length; j < jj; j++) {\n const codeblock = codeblocks[j];\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n precinctCodeblocks.push(codeblock);\n }\n }\n return {\n layerNumber,\n codeblocks: precinctCodeblocks\n };\n}\nfunction LayerResolutionComponentPositionIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n let maxDecompositionLevelsCount = 0;\n for (let q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n let l = 0,\n r = 0,\n i = 0,\n k = 0;\n this.nextPacket = function JpxImage_nextPacket() {\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n const component = tile.components[i];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n const resolution = component.resolutions[r];\n const numprecincts = resolution.precinctParameters.numprecincts;\n for (; k < numprecincts;) {\n const packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n k = 0;\n }\n i = 0;\n }\n r = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction ResolutionLayerComponentPositionIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n let maxDecompositionLevelsCount = 0;\n for (let q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n let r = 0,\n l = 0,\n i = 0,\n k = 0;\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n const component = tile.components[i];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n const resolution = component.resolutions[r];\n const numprecincts = resolution.precinctParameters.numprecincts;\n for (; k < numprecincts;) {\n const packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n k = 0;\n }\n i = 0;\n }\n l = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction ResolutionPositionComponentLayerIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n let l, r, c, p;\n let maxDecompositionLevelsCount = 0;\n for (c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n }\n const maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n let maxNumPrecincts = 0;\n for (c = 0; c < componentsCount; ++c) {\n const resolutions = tile.components[c].resolutions;\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n }\n }\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n const component = tile.components[c];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n const resolution = component.resolutions[r];\n const numprecincts = resolution.precinctParameters.numprecincts;\n if (p >= numprecincts) {\n continue;\n }\n for (; l < layersCount;) {\n const packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n l = 0;\n }\n c = 0;\n }\n p = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction PositionComponentResolutionLayerIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n const precinctsSizes = getPrecinctSizesInImageScale(tile);\n const precinctsIterationSizes = precinctsSizes;\n let l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n this.nextPacket = function JpxImage_nextPacket() {\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n const component = tile.components[c];\n const decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n for (; r <= decompositionLevelsCount; r++) {\n const resolution = component.resolutions[r];\n const sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n const k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n if (k === null) {\n continue;\n }\n for (; l < layersCount;) {\n const packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n l = 0;\n }\n r = 0;\n }\n c = 0;\n }\n px = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction ComponentPositionResolutionLayerIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n const precinctsSizes = getPrecinctSizesInImageScale(tile);\n let l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n this.nextPacket = function JpxImage_nextPacket() {\n for (; c < componentsCount; ++c) {\n const component = tile.components[c];\n const precinctsIterationSizes = precinctsSizes.components[c];\n const decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n const resolution = component.resolutions[r];\n const sizeInImageScale = precinctsIterationSizes.resolutions[r];\n const k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n if (k === null) {\n continue;\n }\n for (; l < layersCount;) {\n const packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n l = 0;\n }\n r = 0;\n }\n px = 0;\n }\n py = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n const posX = pxIndex * precinctIterationSizes.minWidth;\n const posY = pyIndex * precinctIterationSizes.minHeight;\n if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n return null;\n }\n const startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n}\nfunction getPrecinctSizesInImageScale(tile) {\n const componentsCount = tile.components.length;\n let minWidth = Number.MAX_VALUE;\n let minHeight = Number.MAX_VALUE;\n let maxNumWide = 0;\n let maxNumHigh = 0;\n const sizePerComponent = new Array(componentsCount);\n for (let c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n const decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n const sizePerResolution = new Array(decompositionLevelsCount + 1);\n let minWidthCurrentComponent = Number.MAX_VALUE;\n let minHeightCurrentComponent = Number.MAX_VALUE;\n let maxNumWideCurrentComponent = 0;\n let maxNumHighCurrentComponent = 0;\n let scale = 1;\n for (let r = decompositionLevelsCount; r >= 0; --r) {\n const resolution = component.resolutions[r];\n const widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n const heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution\n };\n scale <<= 1;\n }\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent\n };\n }\n return {\n components: sizePerComponent,\n minWidth,\n minHeight,\n maxNumWide,\n maxNumHigh\n };\n}\nfunction buildPackets(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const componentsCount = siz.Csiz;\n for (let c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n const decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n const resolutions = [];\n const subbands = [];\n for (let r = 0; r <= decompositionLevelsCount; r++) {\n const blocksDimensions = getBlocksDimensions(context, component, r);\n const resolution = {};\n const scale = 1 << decompositionLevelsCount - r;\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n let subband;\n if (r === 0) {\n subband = {};\n subband.type = \"LL\";\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n const bscale = 1 << decompositionLevelsCount - r + 1;\n const resolutionSubbands = [];\n subband = {};\n subband.type = \"HL\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = \"LH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = \"HH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n resolution.subbands = resolutionSubbands;\n }\n }\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n const progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n break;\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n break;\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n break;\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n break;\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n break;\n default:\n throw new JpxError(`Unsupported progression order ${progressionOrder}`);\n }\n}\nfunction parseTilePackets(context, data, offset, dataLength) {\n let position = 0;\n let buffer,\n bufferSize = 0,\n skipNextBit = false;\n function readBits(count) {\n while (bufferSize < count) {\n const b = data[offset + position];\n position++;\n if (skipNextBit) {\n buffer = buffer << 7 | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = buffer << 8 | b;\n bufferSize += 8;\n }\n if (b === 0xff) {\n skipNextBit = true;\n }\n }\n bufferSize -= count;\n return buffer >>> bufferSize & (1 << count) - 1;\n }\n function skipMarkerIfEqual(value) {\n if (data[offset + position - 1] === 0xff && data[offset + position] === value) {\n skipBytes(1);\n return true;\n } else if (data[offset + position] === 0xff && data[offset + position + 1] === value) {\n skipBytes(2);\n return true;\n }\n return false;\n }\n function skipBytes(count) {\n position += count;\n }\n function alignToByte() {\n bufferSize = 0;\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n if (readBits(1) === 0) {\n return 2;\n }\n let value = readBits(2);\n if (value < 3) {\n return value + 3;\n }\n value = readBits(5);\n if (value < 31) {\n return value + 6;\n }\n value = readBits(7);\n return value + 37;\n }\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const sopMarkerUsed = context.COD.sopMarkerUsed;\n const ephMarkerUsed = context.COD.ephMarkerUsed;\n const packetsIterator = tile.packetsIterator;\n while (position < dataLength) {\n alignToByte();\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n skipBytes(4);\n }\n const packet = packetsIterator.nextPacket();\n if (!readBits(1)) {\n continue;\n }\n const layerNumber = packet.layerNumber,\n queue = [];\n let codeblock;\n for (let i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n let precinct = codeblock.precinct;\n const codeblockColumn = codeblock.cbx - precinct.cbxMin;\n const codeblockRow = codeblock.cby - precinct.cbyMin;\n let codeblockIncluded = false;\n let firstTimeInclusion = false;\n let valueReady, zeroBitPlanesTree;\n if (codeblock.included !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n precinct = codeblock.precinct;\n let inclusionTree;\n if (precinct.inclusionTree !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n const width = precinct.cbxMax - precinct.cbxMin + 1;\n const height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n for (let l = 0; l < layerNumber; l++) {\n if (readBits(1) !== 0) {\n throw new JpxError(\"Invalid tag tree\");\n }\n }\n }\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n if (!codeblockIncluded) {\n continue;\n }\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n const codingpasses = readCodingpasses();\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n const codingpassesLog2 = (0, _core_utils.log2)(codingpasses);\n const bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n const codedDataLength = readBits(bits);\n queue.push({\n codeblock,\n codingpasses,\n dataLength: codedDataLength\n });\n }\n alignToByte();\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n while (queue.length > 0) {\n const packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n if (codeblock.data === undefined) {\n codeblock.data = [];\n }\n codeblock.data.push({\n data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses\n });\n position += packetItem.dataLength;\n }\n }\n return position;\n}\nfunction copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed, resetContextProbabilities) {\n const x0 = subband.tbx0;\n const y0 = subband.tby0;\n const width = subband.tbx1 - subband.tbx0;\n const codeblocks = subband.codeblocks;\n const right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n const bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n for (let i = 0, ii = codeblocks.length; i < ii; ++i) {\n const codeblock = codeblocks[i];\n const blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n const blockHeight = codeblock.tby1_ - codeblock.tby0_;\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n if (codeblock.data === undefined) {\n continue;\n }\n const bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n let currentCodingpassType = 2;\n const data = codeblock.data;\n let totalLength = 0,\n codingpasses = 0;\n let j, jj, dataItem;\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n const encodedData = new Uint8Array(totalLength);\n let position = 0;\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n const chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n const decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n case 2:\n bitModel.runCleanupPass();\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n break;\n }\n if (resetContextProbabilities) {\n bitModel.reset();\n }\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n let offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n const sign = bitModel.coefficentsSign;\n const magnitude = bitModel.coefficentsMagnitude;\n const bitsDecoded = bitModel.bitsDecoded;\n const magnitudeCorrection = reversible ? 0 : 0.5;\n let k, n, nb;\n position = 0;\n const interleave = subband.type !== \"LL\";\n for (j = 0; j < blockHeight; j++) {\n const row = offset / width | 0;\n const levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n if (sign[position] !== 0) {\n n = -n;\n }\n nb = bitsDecoded[position];\n const pos = interleave ? levelOffset + (offset << 1) : offset;\n coefficients[pos] = reversible && nb >= mb ? n : n * (1 << mb - nb);\n }\n offset++;\n position++;\n }\n offset += width - blockWidth;\n }\n }\n}\nfunction transformTile(context, tile, c) {\n const component = tile.components[c];\n const codingStyleParameters = component.codingStyleParameters;\n const quantizationParameters = component.quantizationParameters;\n const decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n const spqcds = quantizationParameters.SPqcds;\n const scalarExpounded = quantizationParameters.scalarExpounded;\n const guardBits = quantizationParameters.guardBits;\n const segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n const resetContextProbabilities = codingStyleParameters.resetContextProbabilities;\n const precision = context.components[c].precision;\n const reversible = codingStyleParameters.reversibleTransformation;\n const transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n const subbandCoefficients = [];\n let b = 0;\n for (let i = 0; i <= decompositionLevelsCount; i++) {\n const resolution = component.resolutions[i];\n const width = resolution.trx1 - resolution.trx0;\n const height = resolution.try1 - resolution.try0;\n const coefficients = new Float32Array(width * height);\n for (let j = 0, jj = resolution.subbands.length; j < jj; j++) {\n let mu, epsilon;\n if (!scalarExpounded) {\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n const subband = resolution.subbands[j];\n const gainLog2 = SubbandsGainLog2[subband.type];\n const delta = reversible ? 1 : 2 ** (precision + gainLog2 - epsilon) * (1 + mu / 2048);\n const mb = guardBits + epsilon - 1;\n copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed, resetContextProbabilities);\n }\n subbandCoefficients.push({\n width,\n height,\n items: coefficients\n });\n }\n const result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items\n };\n}\nfunction transformComponents(context) {\n const siz = context.SIZ;\n const components = context.components;\n const componentsCount = siz.Csiz;\n const resultImages = [];\n for (let i = 0, ii = context.tiles.length; i < ii; i++) {\n const tile = context.tiles[i];\n const transformedTiles = [];\n for (let c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n const tile0 = transformedTiles[0];\n const out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n const result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out\n };\n let shift, offset;\n let pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n const fourComponents = componentsCount === 4;\n const y0items = transformedTiles[0].items;\n const y1items = transformedTiles[1].items;\n const y2items = transformedTiles[2].items;\n const y3items = fourComponents ? transformedTiles[3].items : null;\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n const component0 = tile.components[0];\n const alpha01 = componentsCount - 3;\n jj = y0items.length;\n if (!component0.codingStyleParameters.reversibleTransformation) {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = y0 + 1.402 * y2 >> shift;\n out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n out[pos++] = y0 + 1.772 * y1 >> shift;\n }\n } else {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n const g = y0 - (y2 + y1 >> 2);\n out[pos++] = g + y2 >> shift;\n out[pos++] = g >> shift;\n out[pos++] = g + y1 >> shift;\n }\n }\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = y3items[j] + offset >> shift;\n }\n }\n } else {\n for (let c = 0; c < componentsCount; c++) {\n const items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = items[j] + offset >> shift;\n pos += componentsCount;\n }\n }\n }\n resultImages.push(result);\n }\n return resultImages;\n}\nfunction initializeTile(context, tileIndex) {\n const siz = context.SIZ;\n const componentsCount = siz.Csiz;\n const tile = context.tiles[tileIndex];\n for (let c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n const qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n const codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n}\nclass TagTree {\n constructor(width, height) {\n const levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n for (let i = 0; i < levelsLength; i++) {\n const level = {\n width,\n height,\n items: []\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n reset(i, j) {\n let currentLevel = 0,\n value = 0,\n level;\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n const index = i + j * level.width;\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n }\n incrementValue() {\n const level = this.levels[this.currentLevel];\n level.items[level.index]++;\n }\n nextLevel() {\n let currentLevel = this.currentLevel;\n let level = this.levels[currentLevel];\n const value = level.items[level.index];\n currentLevel--;\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n}\nclass InclusionTree {\n constructor(width, height, defaultValue) {\n const levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n for (let i = 0; i < levelsLength; i++) {\n const items = new Uint8Array(width * height);\n for (let j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n const level = {\n width,\n height,\n items\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n reset(i, j, stopValue) {\n let currentLevel = 0;\n while (currentLevel < this.levels.length) {\n const level = this.levels[currentLevel];\n const index = i + j * level.width;\n level.index = index;\n const value = level.items[index];\n if (value === 0xff) {\n break;\n }\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n this.propagateValues();\n return false;\n }\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n this.currentLevel = currentLevel - 1;\n return true;\n }\n incrementValue(stopValue) {\n const level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n }\n propagateValues() {\n let levelIndex = this.currentLevel;\n let level = this.levels[levelIndex];\n const currentValue = level.items[level.index];\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n }\n nextLevel() {\n let currentLevel = this.currentLevel;\n let level = this.levels[currentLevel];\n const value = level.items[level.index];\n level.items[level.index] = 0xff;\n currentLevel--;\n if (currentLevel < 0) {\n return false;\n }\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n}\nclass BitModel {\n static UNIFORM_CONTEXT = 17;\n static RUNLENGTH_CONTEXT = 18;\n static LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n static HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n static HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n constructor(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n let contextLabelTable;\n if (subband === \"HH\") {\n contextLabelTable = BitModel.HHContextLabel;\n } else if (subband === \"HL\") {\n contextLabelTable = BitModel.HLContextLabel;\n } else {\n contextLabelTable = BitModel.LLAndLHContextsLabel;\n }\n this.contextLabelTable = contextLabelTable;\n const coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n let coefficentsMagnitude;\n if (mb > 14) {\n coefficentsMagnitude = new Uint32Array(coefficientCount);\n } else if (mb > 6) {\n coefficentsMagnitude = new Uint16Array(coefficientCount);\n } else {\n coefficentsMagnitude = new Uint8Array(coefficientCount);\n }\n this.coefficentsMagnitude = coefficentsMagnitude;\n this.processingFlags = new Uint8Array(coefficientCount);\n const bitsDecoded = new Uint8Array(coefficientCount);\n if (zeroBitPlanes !== 0) {\n for (let i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n this.bitsDecoded = bitsDecoded;\n this.reset();\n }\n setDecoder(decoder) {\n this.decoder = decoder;\n }\n reset() {\n this.contexts = new Int8Array(19);\n this.contexts[0] = 4 << 1 | 0;\n this.contexts[BitModel.UNIFORM_CONTEXT] = 46 << 1 | 0;\n this.contexts[BitModel.RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n }\n setNeighborsSignificance(row, column, index) {\n const neighborsSignificance = this.neighborsSignificance;\n const width = this.width,\n height = this.height;\n const left = column > 0;\n const right = column + 1 < width;\n let i;\n if (row > 0) {\n i = index - width;\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n neighborsSignificance[i] += 0x04;\n }\n if (row + 1 < height) {\n i = index + width;\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n neighborsSignificance[i] += 0x04;\n }\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n neighborsSignificance[index] |= 0x80;\n }\n runSignificancePropagationPass() {\n const decoder = this.decoder;\n const width = this.width,\n height = this.height;\n const coefficentsMagnitude = this.coefficentsMagnitude;\n const coefficentsSign = this.coefficentsSign;\n const neighborsSignificance = this.neighborsSignificance;\n const processingFlags = this.processingFlags;\n const contexts = this.contexts;\n const labels = this.contextLabelTable;\n const bitsDecoded = this.bitsDecoded;\n const processedInverseMask = ~1;\n const processedMask = 1;\n const firstMagnitudeBitMask = 2;\n for (let i0 = 0; i0 < height; i0 += 4) {\n for (let j = 0; j < width; j++) {\n let index = i0 * width + j;\n for (let i1 = 0; i1 < 4; i1++, index += width) {\n const i = i0 + i1;\n if (i >= height) {\n break;\n }\n processingFlags[index] &= processedInverseMask;\n if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n continue;\n }\n const contextLabel = labels[neighborsSignificance[index]];\n const decision = decoder.readBit(contexts, contextLabel);\n if (decision) {\n const sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n }\n decodeSignBit(row, column, index) {\n const width = this.width,\n height = this.height;\n const coefficentsMagnitude = this.coefficentsMagnitude;\n const coefficentsSign = this.coefficentsSign;\n let contribution, sign0, sign1, significance1;\n let contextLabel, decoded;\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n const horizontalContribution = 3 * contribution;\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n return decoded;\n }\n runMagnitudeRefinementPass() {\n const decoder = this.decoder;\n const width = this.width,\n height = this.height;\n const coefficentsMagnitude = this.coefficentsMagnitude;\n const neighborsSignificance = this.neighborsSignificance;\n const contexts = this.contexts;\n const bitsDecoded = this.bitsDecoded;\n const processingFlags = this.processingFlags;\n const processedMask = 1;\n const firstMagnitudeBitMask = 2;\n const length = width * height;\n const width4 = width * 4;\n for (let index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n for (let j = 0; j < width; j++) {\n for (let index = index0 + j; index < indexNext; index += width) {\n if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n let contextLabel = 16;\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n const significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n const bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n }\n runCleanupPass() {\n const decoder = this.decoder;\n const width = this.width,\n height = this.height;\n const neighborsSignificance = this.neighborsSignificance;\n const coefficentsMagnitude = this.coefficentsMagnitude;\n const coefficentsSign = this.coefficentsSign;\n const contexts = this.contexts;\n const labels = this.contextLabelTable;\n const bitsDecoded = this.bitsDecoded;\n const processingFlags = this.processingFlags;\n const processedMask = 1;\n const firstMagnitudeBitMask = 2;\n const oneRowDown = width;\n const twoRowsDown = width * 2;\n const threeRowsDown = width * 3;\n let iNext;\n for (let i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n const indexBase = i0 * width;\n const checkAllEmpty = i0 + 3 < height;\n for (let j = 0; j < width; j++) {\n const index0 = indexBase + j;\n const allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n let i1 = 0,\n index = index0;\n let i = i0,\n sign;\n if (allEmpty) {\n const hasSignificantCoefficent = decoder.readBit(contexts, BitModel.RUNLENGTH_CONTEXT);\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue;\n }\n i1 = decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT);\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n index = index0;\n for (let i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n i1++;\n }\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n const contextLabel = labels[neighborsSignificance[index]];\n const decision = decoder.readBit(contexts, contextLabel);\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n bitsDecoded[index]++;\n }\n }\n }\n }\n checkSegmentationSymbol() {\n const decoder = this.decoder;\n const contexts = this.contexts;\n const symbol = decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT);\n if (symbol !== 0xa) {\n throw new JpxError(\"Invalid segmentation symbol\");\n }\n }\n}\nclass Transform {\n constructor() {\n if (this.constructor === Transform) {\n (0, _util.unreachable)(\"Cannot initialize Transform.\");\n }\n }\n calculate(subbands, u0, v0) {\n let ll = subbands[0];\n for (let i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n return ll;\n }\n extend(buffer, offset, size) {\n let i1 = offset - 1,\n j1 = offset + 1;\n let i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n }\n filter(x, offset, length) {\n (0, _util.unreachable)(\"Abstract method `filter` called\");\n }\n iterate(ll, hl_lh_hh, u0, v0) {\n const llWidth = ll.width,\n llHeight = ll.height;\n let llItems = ll.items;\n const width = hl_lh_hh.width;\n const height = hl_lh_hh.height;\n const items = hl_lh_hh.items;\n let i, j, k, l, u, v;\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n llItems = ll.items = null;\n const bufferPadding = 4;\n const rowBuffer = new Float32Array(width + 2 * bufferPadding);\n if (width === 1) {\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n }\n }\n let numBuffers = 16;\n const colBuffers = [];\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n let b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n if (height === 1) {\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n currentBuffer = numBuffers;\n }\n currentBuffer--;\n const buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n return {\n width,\n height,\n items\n };\n }\n}\nclass IrreversibleTransform extends Transform {\n filter(x, offset, length) {\n const len = length >> 1;\n offset |= 0;\n let j, n, current, next;\n const alpha = -1.586134342059924;\n const beta = -0.052980118572961;\n const gamma = 0.882911075530934;\n const delta = 0.443506852043971;\n const K = 1.230174104914001;\n const K_ = 1 / K;\n j = offset - 3;\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n j = offset - 2;\n current = delta * x[j - 1];\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n j = offset - 1;\n current = gamma * x[j - 1];\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n j = offset;\n current = beta * x[j - 1];\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n }\n}\nclass ReversibleTransform extends Transform {\n filter(x, offset, length) {\n const len = length >> 1;\n offset |= 0;\n let j, n;\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n }\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += x[j - 1] + x[j + 1] >> 1;\n }\n }\n}\n\n/***/ }),\n/* 31 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.LZWStream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nclass LZWStream extends _decode_stream.DecodeStream {\n constructor(str, maybeLength, earlyChange) {\n super(maybeLength);\n this.str = str;\n this.dict = str.dict;\n this.cachedData = 0;\n this.bitsCached = 0;\n const maxLzwDictionarySize = 4096;\n const lzwState = {\n earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0\n };\n for (let i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n this.lzwState = lzwState;\n }\n readBits(n) {\n let bitsCached = this.bitsCached;\n let cachedData = this.cachedData;\n while (bitsCached < n) {\n const c = this.str.getByte();\n if (c === -1) {\n this.eof = true;\n return null;\n }\n cachedData = cachedData << 8 | c;\n bitsCached += 8;\n }\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n this.lastCode = null;\n return cachedData >>> bitsCached & (1 << n) - 1;\n }\n readBlock() {\n const blockSize = 512,\n decodedSizeDelta = blockSize;\n let estimatedDecodedSize = blockSize * 2;\n let i, j, q;\n const lzwState = this.lzwState;\n if (!lzwState) {\n return;\n }\n const earlyChange = lzwState.earlyChange;\n let nextCode = lzwState.nextCode;\n const dictionaryValues = lzwState.dictionaryValues;\n const dictionaryLengths = lzwState.dictionaryLengths;\n const dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n let codeLength = lzwState.codeLength;\n let prevCode = lzwState.prevCode;\n const currentSequence = lzwState.currentSequence;\n let currentSequenceLength = lzwState.currentSequenceLength;\n let decodedLength = 0;\n let currentBufferLength = this.bufferLength;\n let buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n for (i = 0; i < blockSize; i++) {\n const code = this.readBits(codeLength);\n const hasPrev = currentSequenceLength > 0;\n if (code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n } else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n } else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n } else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n } else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n prevCode = code;\n decodedLength += currentSequenceLength;\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n }\n}\nexports.LZWStream = LZWStream;\n\n/***/ }),\n/* 32 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PredictorStream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _primitives = __w_pdfjs_require__(4);\nvar _util = __w_pdfjs_require__(2);\nclass PredictorStream extends _decode_stream.DecodeStream {\n constructor(str, maybeLength, params) {\n super(maybeLength);\n if (!(params instanceof _primitives.Dict)) {\n return str;\n }\n const predictor = this.predictor = params.get(\"Predictor\") || 1;\n if (predictor <= 1) {\n return str;\n }\n if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n throw new _util.FormatError(`Unsupported predictor: ${predictor}`);\n }\n this.readBlock = predictor === 2 ? this.readBlockTiff : this.readBlockPng;\n this.str = str;\n this.dict = str.dict;\n const colors = this.colors = params.get(\"Colors\") || 1;\n const bits = this.bits = params.get(\"BPC\", \"BitsPerComponent\") || 8;\n const columns = this.columns = params.get(\"Columns\") || 1;\n this.pixBytes = colors * bits + 7 >> 3;\n this.rowBytes = columns * colors * bits + 7 >> 3;\n return this;\n }\n readBlockTiff() {\n const rowBytes = this.rowBytes;\n const bufferLength = this.bufferLength;\n const buffer = this.ensureBuffer(bufferLength + rowBytes);\n const bits = this.bits;\n const colors = this.colors;\n const rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n if (this.eof) {\n return;\n }\n let inbuf = 0,\n outbuf = 0;\n let inbits = 0,\n outbits = 0;\n let pos = bufferLength;\n let i;\n if (bits === 1 && colors === 1) {\n for (i = 0; i < rowBytes; ++i) {\n let c = rawBytes[i] ^ inbuf;\n c ^= c >> 1;\n c ^= c >> 2;\n c ^= c >> 4;\n inbuf = (c & 1) << 7;\n buffer[pos++] = c;\n }\n } else if (bits === 8) {\n for (i = 0; i < colors; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n for (; i < rowBytes; ++i) {\n buffer[pos] = buffer[pos - colors] + rawBytes[i];\n pos++;\n }\n } else if (bits === 16) {\n const bytesPerPixel = colors * 2;\n for (i = 0; i < bytesPerPixel; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n for (; i < rowBytes; i += 2) {\n const sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);\n buffer[pos++] = sum >> 8 & 0xff;\n buffer[pos++] = sum & 0xff;\n }\n } else {\n const compArray = new Uint8Array(colors + 1);\n const bitMask = (1 << bits) - 1;\n let j = 0,\n k = bufferLength;\n const columns = this.columns;\n for (i = 0; i < columns; ++i) {\n for (let kk = 0; kk < colors; ++kk) {\n if (inbits < bits) {\n inbuf = inbuf << 8 | rawBytes[j++] & 0xff;\n inbits += 8;\n }\n compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n inbits -= bits;\n outbuf = outbuf << bits | compArray[kk];\n outbits += bits;\n if (outbits >= 8) {\n buffer[k++] = outbuf >> outbits - 8 & 0xff;\n outbits -= 8;\n }\n }\n }\n if (outbits > 0) {\n buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n }\n }\n this.bufferLength += rowBytes;\n }\n readBlockPng() {\n const rowBytes = this.rowBytes;\n const pixBytes = this.pixBytes;\n const predictor = this.str.getByte();\n const rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n if (this.eof) {\n return;\n }\n const bufferLength = this.bufferLength;\n const buffer = this.ensureBuffer(bufferLength + rowBytes);\n let prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n if (prevRow.length === 0) {\n prevRow = new Uint8Array(rowBytes);\n }\n let i,\n j = bufferLength,\n up,\n c;\n switch (predictor) {\n case 0:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n break;\n case 1:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n for (; i < rowBytes; ++i) {\n buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;\n j++;\n }\n break;\n case 2:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;\n }\n break;\n case 3:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n }\n for (; i < rowBytes; ++i) {\n buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;\n j++;\n }\n break;\n case 4:\n for (i = 0; i < pixBytes; ++i) {\n up = prevRow[i];\n c = rawBytes[i];\n buffer[j++] = up + c;\n }\n for (; i < rowBytes; ++i) {\n up = prevRow[i];\n const upLeft = prevRow[i - pixBytes];\n const left = buffer[j - pixBytes];\n const p = left + up - upLeft;\n let pa = p - left;\n if (pa < 0) {\n pa = -pa;\n }\n let pb = p - up;\n if (pb < 0) {\n pb = -pb;\n }\n let pc = p - upLeft;\n if (pc < 0) {\n pc = -pc;\n }\n c = rawBytes[i];\n if (pa <= pb && pa <= pc) {\n buffer[j++] = left + c;\n } else if (pb <= pc) {\n buffer[j++] = up + c;\n } else {\n buffer[j++] = upLeft + c;\n }\n }\n break;\n default:\n throw new _util.FormatError(`Unsupported predictor: ${predictor}`);\n }\n this.bufferLength += rowBytes;\n }\n}\nexports.PredictorStream = PredictorStream;\n\n/***/ }),\n/* 33 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RunLengthStream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nclass RunLengthStream extends _decode_stream.DecodeStream {\n constructor(str, maybeLength) {\n super(maybeLength);\n this.str = str;\n this.dict = str.dict;\n }\n readBlock() {\n const repeatHeader = this.str.getBytes(2);\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n let buffer;\n let bufferLength = this.bufferLength;\n let n = repeatHeader[0];\n if (n < 128) {\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n if (n > 0) {\n const source = this.str.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n } else {\n n = 257 - n;\n const b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n for (let i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n this.bufferLength = bufferLength;\n }\n}\nexports.RunLengthStream = RunLengthStream;\n\n/***/ }),\n/* 34 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Font = exports.ErrorFont = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _cff_parser = __w_pdfjs_require__(35);\nvar _fonts_utils = __w_pdfjs_require__(38);\nvar _unicode = __w_pdfjs_require__(40);\nvar _glyphlist = __w_pdfjs_require__(39);\nvar _encodings = __w_pdfjs_require__(37);\nvar _standard_fonts = __w_pdfjs_require__(41);\nvar _to_unicode_map = __w_pdfjs_require__(42);\nvar _cff_font = __w_pdfjs_require__(43);\nvar _font_renderer = __w_pdfjs_require__(44);\nvar _metrics = __w_pdfjs_require__(45);\nvar _glyf = __w_pdfjs_require__(46);\nvar _cmap = __w_pdfjs_require__(14);\nvar _opentype_file_builder = __w_pdfjs_require__(47);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _stream = __w_pdfjs_require__(8);\nvar _type1_font = __w_pdfjs_require__(48);\nconst PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];\nconst PDF_GLYPH_SPACE_UNITS = 1000;\nconst EXPORT_DATA_PROPERTIES = [\"ascent\", \"bbox\", \"black\", \"bold\", \"charProcOperatorList\", \"composite\", \"cssFontInfo\", \"data\", \"defaultVMetrics\", \"defaultWidth\", \"descent\", \"fallbackName\", \"fontMatrix\", \"isInvalidPDFjsFont\", \"isType3Font\", \"italic\", \"loadedName\", \"mimetype\", \"missingFile\", \"name\", \"remeasure\", \"subtype\", \"systemFontInfo\", \"type\", \"vertical\"];\nconst EXPORT_DATA_EXTRA_PROPERTIES = [\"cMap\", \"defaultEncoding\", \"differences\", \"isMonospace\", \"isSerifFont\", \"isSymbolicFont\", \"seacMap\", \"toFontChar\", \"toUnicode\", \"vmetrics\", \"widths\"];\nfunction adjustWidths(properties) {\n if (!properties.fontMatrix) {\n return;\n }\n if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n return;\n }\n const scale = 0.001 / properties.fontMatrix[0];\n const glyphsWidths = properties.widths;\n for (const glyph in glyphsWidths) {\n glyphsWidths[glyph] *= scale;\n }\n properties.defaultWidth *= scale;\n}\nfunction adjustTrueTypeToUnicode(properties, isSymbolicFont, nameRecords) {\n if (properties.isInternalFont) {\n return;\n }\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n if (properties.hasEncoding) {\n return;\n }\n if (properties.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap) {\n return;\n }\n if (!isSymbolicFont) {\n return;\n }\n if (nameRecords.length === 0) {\n return;\n }\n if (properties.defaultEncoding === _encodings.WinAnsiEncoding) {\n return;\n }\n for (const r of nameRecords) {\n if (!isWinNameRecord(r)) {\n return;\n }\n }\n const encoding = _encodings.WinAnsiEncoding;\n const toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n for (const charCode in encoding) {\n const glyphName = encoding[charCode];\n if (glyphName === \"\") {\n continue;\n }\n const unicode = glyphsUnicodeMap[glyphName];\n if (unicode === undefined) {\n continue;\n }\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n if (toUnicode.length > 0) {\n properties.toUnicode.amend(toUnicode);\n }\n}\nfunction adjustType1ToUnicode(properties, builtInEncoding) {\n if (properties.isInternalFont) {\n return;\n }\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n if (builtInEncoding === properties.defaultEncoding) {\n return;\n }\n if (properties.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap) {\n return;\n }\n const toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n for (const charCode in builtInEncoding) {\n if (properties.hasEncoding) {\n if (properties.baseEncodingName || properties.differences[charCode] !== undefined) {\n continue;\n }\n }\n const glyphName = builtInEncoding[charCode];\n const unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n if (unicode !== -1) {\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n }\n if (toUnicode.length > 0) {\n properties.toUnicode.amend(toUnicode);\n }\n}\nfunction amendFallbackToUnicode(properties) {\n if (!properties.fallbackToUnicode) {\n return;\n }\n if (properties.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap) {\n return;\n }\n const toUnicode = [];\n for (const charCode in properties.fallbackToUnicode) {\n if (properties.toUnicode.has(charCode)) {\n continue;\n }\n toUnicode[charCode] = properties.fallbackToUnicode[charCode];\n }\n if (toUnicode.length > 0) {\n properties.toUnicode.amend(toUnicode);\n }\n}\nclass Glyph {\n constructor(originalCharCode, fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n this.originalCharCode = originalCharCode;\n this.fontChar = fontChar;\n this.unicode = unicode;\n this.accent = accent;\n this.width = width;\n this.vmetric = vmetric;\n this.operatorListId = operatorListId;\n this.isSpace = isSpace;\n this.isInFont = isInFont;\n }\n get category() {\n return (0, _util.shadow)(this, \"category\", (0, _unicode.getCharUnicodeCategory)(this.unicode), true);\n }\n}\nfunction int16(b0, b1) {\n return (b0 << 8) + b1;\n}\nfunction writeSignedInt16(bytes, index, value) {\n bytes[index + 1] = value;\n bytes[index] = value >>> 8;\n}\nfunction signedInt16(b0, b1) {\n const value = (b0 << 8) + b1;\n return value & 1 << 15 ? value - 0x10000 : value;\n}\nfunction int32(b0, b1, b2, b3) {\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n}\nfunction string16(value) {\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n}\nfunction safeString16(value) {\n if (value > 0x7fff) {\n value = 0x7fff;\n } else if (value < -0x8000) {\n value = -0x8000;\n }\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n}\nfunction isTrueTypeFile(file) {\n const header = file.peekBytes(4);\n return (0, _core_utils.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === \"true\";\n}\nfunction isTrueTypeCollectionFile(file) {\n const header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === \"ttcf\";\n}\nfunction isOpenTypeFile(file) {\n const header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === \"OTTO\";\n}\nfunction isType1File(file) {\n const header = file.peekBytes(2);\n if (header[0] === 0x25 && header[1] === 0x21) {\n return true;\n }\n if (header[0] === 0x80 && header[1] === 0x01) {\n return true;\n }\n return false;\n}\nfunction isCFFFile(file) {\n const header = file.peekBytes(4);\n if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n return true;\n }\n return false;\n}\nfunction getFontFileType(file, {\n type,\n subtype,\n composite\n}) {\n let fileType, fileSubtype;\n if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n fileType = composite ? \"CIDFontType2\" : \"TrueType\";\n } else if (isOpenTypeFile(file)) {\n fileType = composite ? \"CIDFontType2\" : \"OpenType\";\n } else if (isType1File(file)) {\n if (composite) {\n fileType = \"CIDFontType0\";\n } else {\n fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n }\n } else if (isCFFFile(file)) {\n if (composite) {\n fileType = \"CIDFontType0\";\n fileSubtype = \"CIDFontType0C\";\n } else {\n fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n fileSubtype = \"Type1C\";\n }\n } else {\n (0, _util.warn)(\"getFontFileType: Unable to detect correct font file Type/Subtype.\");\n fileType = type;\n fileSubtype = subtype;\n }\n return [fileType, fileSubtype];\n}\nfunction applyStandardFontGlyphMap(map, glyphMap) {\n for (const charCode in glyphMap) {\n map[+charCode] = glyphMap[charCode];\n }\n}\nfunction buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n const toFontChar = [];\n let unicode;\n for (let i = 0, ii = encoding.length; i < ii; i++) {\n unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n if (unicode !== -1) {\n toFontChar[i] = unicode;\n }\n }\n for (const charCode in differences) {\n unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n if (unicode !== -1) {\n toFontChar[+charCode] = unicode;\n }\n }\n return toFontChar;\n}\nfunction isMacNameRecord(r) {\n return r.platform === 1 && r.encoding === 0 && r.language === 0;\n}\nfunction isWinNameRecord(r) {\n return r.platform === 3 && r.encoding === 1 && r.language === 0x409;\n}\nfunction convertCidString(charCode, cid, shouldThrow = false) {\n switch (cid.length) {\n case 1:\n return cid.charCodeAt(0);\n case 2:\n return cid.charCodeAt(0) << 8 | cid.charCodeAt(1);\n }\n const msg = `Unsupported CID string (charCode ${charCode}): \"${cid}\".`;\n if (shouldThrow) {\n throw new _util.FormatError(msg);\n }\n (0, _util.warn)(msg);\n return cid;\n}\nfunction adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId, toUnicode) {\n const newMap = Object.create(null);\n const toUnicodeExtraMap = new Map();\n const toFontChar = [];\n const usedGlyphIds = new Set();\n let privateUseAreaIndex = 0;\n const privateUseOffetStart = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n let nextAvailableFontCharCode = privateUseOffetStart;\n let privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n const isInPrivateArea = code => PRIVATE_USE_AREAS[0][0] <= code && code <= PRIVATE_USE_AREAS[0][1] || PRIVATE_USE_AREAS[1][0] <= code && code <= PRIVATE_USE_AREAS[1][1];\n for (let originalCharCode in charCodeToGlyphId) {\n originalCharCode |= 0;\n let glyphId = charCodeToGlyphId[originalCharCode];\n if (!hasGlyph(glyphId)) {\n continue;\n }\n if (nextAvailableFontCharCode > privateUseOffetEnd) {\n privateUseAreaIndex++;\n if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n (0, _util.warn)(\"Ran out of space in font private use area.\");\n break;\n }\n nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n }\n const fontCharCode = nextAvailableFontCharCode++;\n if (glyphId === 0) {\n glyphId = newGlyphZeroId;\n }\n let unicode = toUnicode.get(originalCharCode);\n if (typeof unicode === \"string\") {\n unicode = unicode.codePointAt(0);\n }\n if (unicode && !isInPrivateArea(unicode) && !usedGlyphIds.has(glyphId)) {\n toUnicodeExtraMap.set(unicode, glyphId);\n usedGlyphIds.add(glyphId);\n }\n newMap[fontCharCode] = glyphId;\n toFontChar[originalCharCode] = fontCharCode;\n }\n return {\n toFontChar,\n charCodeToGlyphId: newMap,\n toUnicodeExtraMap,\n nextAvailableFontCharCode\n };\n}\nfunction getRanges(glyphs, toUnicodeExtraMap, numGlyphs) {\n const codes = [];\n for (const charCode in glyphs) {\n if (glyphs[charCode] >= numGlyphs) {\n continue;\n }\n codes.push({\n fontCharCode: charCode | 0,\n glyphId: glyphs[charCode]\n });\n }\n if (toUnicodeExtraMap) {\n for (const [unicode, glyphId] of toUnicodeExtraMap) {\n if (glyphId >= numGlyphs) {\n continue;\n }\n codes.push({\n fontCharCode: unicode,\n glyphId\n });\n }\n }\n if (codes.length === 0) {\n codes.push({\n fontCharCode: 0,\n glyphId: 0\n });\n }\n codes.sort(function fontGetRangesSort(a, b) {\n return a.fontCharCode - b.fontCharCode;\n });\n const ranges = [];\n const length = codes.length;\n for (let n = 0; n < length;) {\n const start = codes[n].fontCharCode;\n const codeIndices = [codes[n].glyphId];\n ++n;\n let end = start;\n while (n < length && end + 1 === codes[n].fontCharCode) {\n codeIndices.push(codes[n].glyphId);\n ++end;\n ++n;\n if (end === 0xffff) {\n break;\n }\n }\n ranges.push([start, end, codeIndices]);\n }\n return ranges;\n}\nfunction createCmapTable(glyphs, toUnicodeExtraMap, numGlyphs) {\n const ranges = getRanges(glyphs, toUnicodeExtraMap, numGlyphs);\n const numTables = ranges.at(-1)[1] > 0xffff ? 2 : 1;\n let cmap = \"\\x00\\x00\" + string16(numTables) + \"\\x00\\x03\" + \"\\x00\\x01\" + (0, _util.string32)(4 + numTables * 8);\n let i, ii, j, jj;\n for (i = ranges.length - 1; i >= 0; --i) {\n if (ranges[i][0] <= 0xffff) {\n break;\n }\n }\n const bmpLength = i + 1;\n if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {\n ranges[i][1] = 0xfffe;\n }\n const trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;\n const segCount = bmpLength + trailingRangesCount;\n const searchParams = _opentype_file_builder.OpenTypeFileBuilder.getSearchParams(segCount, 2);\n let startCount = \"\";\n let endCount = \"\";\n let idDeltas = \"\";\n let idRangeOffsets = \"\";\n let glyphsIds = \"\";\n let bias = 0;\n let range, start, end, codes;\n for (i = 0, ii = bmpLength; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n end = range[1];\n startCount += string16(start);\n endCount += string16(end);\n codes = range[2];\n let contiguous = true;\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n contiguous = false;\n break;\n }\n }\n if (!contiguous) {\n const offset = (segCount - i) * 2 + bias * 2;\n bias += end - start + 1;\n idDeltas += string16(0);\n idRangeOffsets += string16(offset);\n for (j = 0, jj = codes.length; j < jj; ++j) {\n glyphsIds += string16(codes[j]);\n }\n } else {\n const startCode = codes[0];\n idDeltas += string16(startCode - start & 0xffff);\n idRangeOffsets += string16(0);\n }\n }\n if (trailingRangesCount > 0) {\n endCount += \"\\xFF\\xFF\";\n startCount += \"\\xFF\\xFF\";\n idDeltas += \"\\x00\\x01\";\n idRangeOffsets += \"\\x00\\x00\";\n }\n const format314 = \"\\x00\\x00\" + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + \"\\x00\\x00\" + startCount + idDeltas + idRangeOffsets + glyphsIds;\n let format31012 = \"\";\n let header31012 = \"\";\n if (numTables > 1) {\n cmap += \"\\x00\\x03\" + \"\\x00\\x0A\" + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n format31012 = \"\";\n for (i = 0, ii = ranges.length; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n codes = range[2];\n let code = codes[0];\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n end = range[0] + j - 1;\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n start = end + 1;\n code = codes[j];\n }\n }\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n }\n header31012 = \"\\x00\\x0C\" + \"\\x00\\x00\" + (0, _util.string32)(format31012.length + 16) + \"\\x00\\x00\\x00\\x00\" + (0, _util.string32)(format31012.length / 12);\n }\n return cmap + \"\\x00\\x04\" + string16(format314.length + 4) + format314 + header31012 + format31012;\n}\nfunction validateOS2Table(os2, file) {\n file.pos = (file.start || 0) + os2.offset;\n const version = file.getUint16();\n file.skip(60);\n const selection = file.getUint16();\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n const firstChar = file.getUint16();\n const lastChar = file.getUint16();\n if (firstChar > lastChar) {\n return false;\n }\n file.skip(6);\n const usWinAscent = file.getUint16();\n if (usWinAscent === 0) {\n return false;\n }\n os2.data[8] = os2.data[9] = 0;\n return true;\n}\nfunction createOS2Table(properties, charstrings, override) {\n override ||= {\n unitsPerEm: 0,\n yMax: 0,\n yMin: 0,\n ascent: 0,\n descent: 0\n };\n let ulUnicodeRange1 = 0;\n let ulUnicodeRange2 = 0;\n let ulUnicodeRange3 = 0;\n let ulUnicodeRange4 = 0;\n let firstCharIndex = null;\n let lastCharIndex = 0;\n let position = -1;\n if (charstrings) {\n for (let code in charstrings) {\n code |= 0;\n if (firstCharIndex > code || !firstCharIndex) {\n firstCharIndex = code;\n }\n if (lastCharIndex < code) {\n lastCharIndex = code;\n }\n position = (0, _unicode.getUnicodeRangeFor)(code, position);\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new _util.FormatError(\"Unicode ranges Bits > 123 are reserved for internal usage\");\n }\n }\n if (lastCharIndex > 0xffff) {\n lastCharIndex = 0xffff;\n }\n } else {\n firstCharIndex = 0;\n lastCharIndex = 255;\n }\n const bbox = properties.bbox || [0, 0, 0, 0];\n const unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n const scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n const typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n let typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n typoDescent = -typoDescent;\n }\n const winAscent = override.yMax || typoAscent;\n const winDescent = -override.yMin || -typoDescent;\n return \"\\x00\\x03\" + \"\\x02\\x24\" + \"\\x01\\xF4\" + \"\\x00\\x05\" + \"\\x00\\x00\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x00\\x8C\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x01\\xDF\" + \"\\x00\\x31\" + \"\\x01\\x02\" + \"\\x00\\x00\" + \"\\x00\\x00\\x06\" + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + \"\\x00\\x00\\x00\\x00\\x00\\x00\" + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + \"\\x2A\\x32\\x31\\x2A\" + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + \"\\x00\\x64\" + string16(winAscent) + string16(winDescent) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + \"\\x00\\x03\";\n}\nfunction createPostTable(properties) {\n const angle = Math.floor(properties.italicAngle * 2 ** 16);\n return \"\\x00\\x03\\x00\\x00\" + (0, _util.string32)(angle) + \"\\x00\\x00\" + \"\\x00\\x00\" + (0, _util.string32)(properties.fixedPitch ? 1 : 0) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\";\n}\nfunction createPostscriptName(name) {\n return name.replaceAll(/[^\\x21-\\x7E]|[[\\](){}<>/%]/g, \"\").slice(0, 63);\n}\nfunction createNameTable(name, proto) {\n if (!proto) {\n proto = [[], []];\n }\n const strings = [proto[0][0] || \"Original licence\", proto[0][1] || name, proto[0][2] || \"Unknown\", proto[0][3] || \"uniqueID\", proto[0][4] || name, proto[0][5] || \"Version 0.11\", proto[0][6] || createPostscriptName(name), proto[0][7] || \"Unknown\", proto[0][8] || \"Unknown\", proto[0][9] || \"Unknown\"];\n const stringsUnicode = [];\n let i, ii, j, jj, str;\n for (i = 0, ii = strings.length; i < ii; i++) {\n str = proto[1][i] || strings[i];\n const strBufUnicode = [];\n for (j = 0, jj = str.length; j < jj; j++) {\n strBufUnicode.push(string16(str.charCodeAt(j)));\n }\n stringsUnicode.push(strBufUnicode.join(\"\"));\n }\n const names = [strings, stringsUnicode];\n const platforms = [\"\\x00\\x01\", \"\\x00\\x03\"];\n const encodings = [\"\\x00\\x00\", \"\\x00\\x01\"];\n const languages = [\"\\x00\\x00\", \"\\x04\\x09\"];\n const namesRecordCount = strings.length * platforms.length;\n let nameTable = \"\\x00\\x00\" + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n let strOffset = 0;\n for (i = 0, ii = platforms.length; i < ii; i++) {\n const strs = names[i];\n for (j = 0, jj = strs.length; j < jj; j++) {\n str = strs[j];\n const nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n nameTable += nameRecord;\n strOffset += str.length;\n }\n }\n nameTable += strings.join(\"\") + stringsUnicode.join(\"\");\n return nameTable;\n}\nclass Font {\n constructor(name, file, properties) {\n this.name = name;\n this.psName = null;\n this.mimetype = null;\n this.disableFontFace = false;\n this.loadedName = properties.loadedName;\n this.isType3Font = properties.isType3Font;\n this.missingFile = false;\n this.cssFontInfo = properties.cssFontInfo;\n this._charsCache = Object.create(null);\n this._glyphCache = Object.create(null);\n let isSerifFont = !!(properties.flags & _fonts_utils.FontFlags.Serif);\n if (!isSerifFont && !properties.isSimulatedFlags) {\n const baseName = name.replaceAll(/[,_]/g, \"-\").split(\"-\")[0],\n serifFonts = (0, _standard_fonts.getSerifFonts)();\n for (const namePart of baseName.split(\"+\")) {\n if (serifFonts[namePart]) {\n isSerifFont = true;\n break;\n }\n }\n }\n this.isSerifFont = isSerifFont;\n this.isSymbolicFont = !!(properties.flags & _fonts_utils.FontFlags.Symbolic);\n this.isMonospace = !!(properties.flags & _fonts_utils.FontFlags.FixedPitch);\n let {\n type,\n subtype\n } = properties;\n this.type = type;\n this.subtype = subtype;\n this.systemFontInfo = properties.systemFontInfo;\n const matches = name.match(/^InvalidPDFjsFont_(.*)_\\d+$/);\n this.isInvalidPDFjsFont = !!matches;\n if (this.isInvalidPDFjsFont) {\n this.fallbackName = matches[1];\n } else if (this.isMonospace) {\n this.fallbackName = \"monospace\";\n } else if (this.isSerifFont) {\n this.fallbackName = \"serif\";\n } else {\n this.fallbackName = \"sans-serif\";\n }\n if (this.systemFontInfo?.guessFallback) {\n this.systemFontInfo.guessFallback = false;\n this.systemFontInfo.css += `,${this.fallbackName}`;\n }\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\n this.cMap = properties.cMap;\n this.capHeight = properties.capHeight / PDF_GLYPH_SPACE_UNITS;\n this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n this.lineHeight = this.ascent - this.descent;\n this.fontMatrix = properties.fontMatrix;\n this.bbox = properties.bbox;\n this.defaultEncoding = properties.defaultEncoding;\n this.toUnicode = properties.toUnicode;\n this.toFontChar = [];\n if (properties.type === \"Type3\") {\n for (let charCode = 0; charCode < 256; charCode++) {\n this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n }\n return;\n }\n this.cidEncoding = properties.cidEncoding || \"\";\n this.vertical = !!properties.vertical;\n if (this.vertical) {\n this.vmetrics = properties.vmetrics;\n this.defaultVMetrics = properties.defaultVMetrics;\n }\n if (!file || file.isEmpty) {\n if (file) {\n (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + \")\");\n }\n this.fallbackToSystemFont(properties);\n return;\n }\n [type, subtype] = getFontFileType(file, properties);\n if (type !== this.type || subtype !== this.subtype) {\n (0, _util.info)(\"Inconsistent font file Type/SubType, expected: \" + `${this.type}/${this.subtype} but found: ${type}/${subtype}.`);\n }\n let data;\n try {\n switch (type) {\n case \"MMType1\":\n (0, _util.info)(\"MMType1 font (\" + name + \"), falling back to Type1.\");\n case \"Type1\":\n case \"CIDFontType0\":\n this.mimetype = \"font/opentype\";\n const cff = subtype === \"Type1C\" || subtype === \"CIDFontType0C\" ? new _cff_font.CFFFont(file, properties) : new _type1_font.Type1Font(name, file, properties);\n adjustWidths(properties);\n data = this.convert(name, cff, properties);\n break;\n case \"OpenType\":\n case \"TrueType\":\n case \"CIDFontType2\":\n this.mimetype = \"font/opentype\";\n data = this.checkAndRepair(name, file, properties);\n if (this.isOpenType) {\n adjustWidths(properties);\n type = \"OpenType\";\n }\n break;\n default:\n throw new _util.FormatError(`Font ${type} is not supported`);\n }\n } catch (e) {\n (0, _util.warn)(e);\n this.fallbackToSystemFont(properties);\n return;\n }\n amendFallbackToUnicode(properties);\n this.data = data;\n this.type = type;\n this.subtype = subtype;\n this.fontMatrix = properties.fontMatrix;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.toUnicode = properties.toUnicode;\n this.seacMap = properties.seacMap;\n }\n get renderer() {\n const renderer = _font_renderer.FontRendererFactory.create(this, _fonts_utils.SEAC_ANALYSIS_ENABLED);\n return (0, _util.shadow)(this, \"renderer\", renderer);\n }\n exportData(extraProperties = false) {\n const exportDataProperties = extraProperties ? [...EXPORT_DATA_PROPERTIES, ...EXPORT_DATA_EXTRA_PROPERTIES] : EXPORT_DATA_PROPERTIES;\n const data = Object.create(null);\n let property, value;\n for (property of exportDataProperties) {\n value = this[property];\n if (value !== undefined) {\n data[property] = value;\n }\n }\n return data;\n }\n fallbackToSystemFont(properties) {\n this.missingFile = true;\n const {\n name,\n type\n } = this;\n let fontName = (0, _fonts_utils.normalizeFontName)(name);\n const stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n const isStandardFont = !!stdFontMap[fontName];\n const isMappedToStandardFont = !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n const fontBasicMetricsMap = (0, _metrics.getFontBasicMetrics)();\n const metrics = fontBasicMetricsMap[fontName];\n if (metrics) {\n if (isNaN(this.ascent)) {\n this.ascent = metrics.ascent / PDF_GLYPH_SPACE_UNITS;\n }\n if (isNaN(this.descent)) {\n this.descent = metrics.descent / PDF_GLYPH_SPACE_UNITS;\n }\n if (isNaN(this.capHeight)) {\n this.capHeight = metrics.capHeight / PDF_GLYPH_SPACE_UNITS;\n }\n }\n this.bold = /bold/gi.test(fontName);\n this.italic = /oblique|italic/gi.test(fontName);\n this.black = /Black/g.test(name);\n const isNarrow = /Narrow/g.test(name);\n this.remeasure = (!isStandardFont || isNarrow) && Object.keys(this.widths).length > 0;\n if ((isStandardFont || isMappedToStandardFont) && type === \"CIDFontType2\" && this.cidEncoding.startsWith(\"Identity-\")) {\n const cidToGidMap = properties.cidToGidMap;\n const map = [];\n applyStandardFontGlyphMap(map, (0, _standard_fonts.getGlyphMapForStandardFonts)());\n if (/Arial-?Black/i.test(name)) {\n applyStandardFontGlyphMap(map, (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)());\n } else if (/Calibri/i.test(name)) {\n applyStandardFontGlyphMap(map, (0, _standard_fonts.getSupplementalGlyphMapForCalibri)());\n }\n if (cidToGidMap) {\n for (const charCode in map) {\n const cid = map[charCode];\n if (cidToGidMap[cid] !== undefined) {\n map[+charCode] = cidToGidMap[cid];\n }\n }\n if (cidToGidMap.length !== this.toUnicode.length && properties.hasIncludedToUnicodeMap && this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n const cid = map[charCode];\n if (cidToGidMap[cid] === undefined) {\n map[+charCode] = unicodeCharCode;\n }\n });\n }\n }\n if (!(this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap)) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n map[+charCode] = unicodeCharCode;\n });\n }\n this.toFontChar = map;\n this.toUnicode = new _to_unicode_map.ToUnicodeMap(map);\n } else if (/Symbol/i.test(fontName)) {\n this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else if (/Dingbats/i.test(fontName)) {\n this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n } else if (isStandardFont) {\n const map = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n if (type === \"CIDFontType2\" && !this.cidEncoding.startsWith(\"Identity-\") && !(this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap)) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n map[+charCode] = unicodeCharCode;\n });\n }\n this.toFontChar = map;\n } else {\n const glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n const map = [];\n this.toUnicode.forEach((charCode, unicodeCharCode) => {\n if (!this.composite) {\n const glyphName = this.differences[charCode] || this.defaultEncoding[charCode];\n const unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n map[+charCode] = unicodeCharCode;\n });\n if (this.composite && this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap) {\n if (/Tahoma|Verdana/i.test(name)) {\n applyStandardFontGlyphMap(map, (0, _standard_fonts.getGlyphMapForStandardFonts)());\n }\n }\n this.toFontChar = map;\n }\n amendFallbackToUnicode(properties);\n this.loadedName = fontName.split(\"-\")[0];\n }\n checkAndRepair(name, font, properties) {\n const VALID_TABLES = [\"OS/2\", \"cmap\", \"head\", \"hhea\", \"hmtx\", \"maxp\", \"name\", \"post\", \"loca\", \"glyf\", \"fpgm\", \"prep\", \"cvt \", \"CFF \"];\n function readTables(file, numTables) {\n const tables = Object.create(null);\n tables[\"OS/2\"] = null;\n tables.cmap = null;\n tables.head = null;\n tables.hhea = null;\n tables.hmtx = null;\n tables.maxp = null;\n tables.name = null;\n tables.post = null;\n for (let i = 0; i < numTables; i++) {\n const table = readTableEntry(file);\n if (!VALID_TABLES.includes(table.tag)) {\n continue;\n }\n if (table.length === 0) {\n continue;\n }\n tables[table.tag] = table;\n }\n return tables;\n }\n function readTableEntry(file) {\n const tag = file.getString(4);\n const checksum = file.getInt32() >>> 0;\n const offset = file.getInt32() >>> 0;\n const length = file.getInt32() >>> 0;\n const previousPosition = file.pos;\n file.pos = file.start || 0;\n file.skip(offset);\n const data = file.getBytes(length);\n file.pos = previousPosition;\n if (tag === \"head\") {\n data[8] = data[9] = data[10] = data[11] = 0;\n data[17] |= 0x20;\n }\n return {\n tag,\n checksum,\n length,\n offset,\n data\n };\n }\n function readOpenTypeHeader(ttf) {\n return {\n version: ttf.getString(4),\n numTables: ttf.getUint16(),\n searchRange: ttf.getUint16(),\n entrySelector: ttf.getUint16(),\n rangeShift: ttf.getUint16()\n };\n }\n function readTrueTypeCollectionHeader(ttc) {\n const ttcTag = ttc.getString(4);\n (0, _util.assert)(ttcTag === \"ttcf\", \"Must be a TrueType Collection font.\");\n const majorVersion = ttc.getUint16();\n const minorVersion = ttc.getUint16();\n const numFonts = ttc.getInt32() >>> 0;\n const offsetTable = [];\n for (let i = 0; i < numFonts; i++) {\n offsetTable.push(ttc.getInt32() >>> 0);\n }\n const header = {\n ttcTag,\n majorVersion,\n minorVersion,\n numFonts,\n offsetTable\n };\n switch (majorVersion) {\n case 1:\n return header;\n case 2:\n header.dsigTag = ttc.getInt32() >>> 0;\n header.dsigLength = ttc.getInt32() >>> 0;\n header.dsigOffset = ttc.getInt32() >>> 0;\n return header;\n }\n throw new _util.FormatError(`Invalid TrueType Collection majorVersion: ${majorVersion}.`);\n }\n function readTrueTypeCollectionData(ttc, fontName) {\n const {\n numFonts,\n offsetTable\n } = readTrueTypeCollectionHeader(ttc);\n const fontNameParts = fontName.split(\"+\");\n let fallbackData;\n for (let i = 0; i < numFonts; i++) {\n ttc.pos = (ttc.start || 0) + offsetTable[i];\n const potentialHeader = readOpenTypeHeader(ttc);\n const potentialTables = readTables(ttc, potentialHeader.numTables);\n if (!potentialTables.name) {\n throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n }\n const [nameTable] = readNameTable(potentialTables.name);\n for (let j = 0, jj = nameTable.length; j < jj; j++) {\n for (let k = 0, kk = nameTable[j].length; k < kk; k++) {\n const nameEntry = nameTable[j][k]?.replaceAll(/\\s/g, \"\");\n if (!nameEntry) {\n continue;\n }\n if (nameEntry === fontName) {\n return {\n header: potentialHeader,\n tables: potentialTables\n };\n }\n if (fontNameParts.length < 2) {\n continue;\n }\n for (const part of fontNameParts) {\n if (nameEntry === part) {\n fallbackData = {\n name: part,\n header: potentialHeader,\n tables: potentialTables\n };\n }\n }\n }\n }\n }\n if (fallbackData) {\n (0, _util.warn)(`TrueType Collection does not contain \"${fontName}\" font, ` + `falling back to \"${fallbackData.name}\" font instead.`);\n return {\n header: fallbackData.header,\n tables: fallbackData.tables\n };\n }\n throw new _util.FormatError(`TrueType Collection does not contain \"${fontName}\" font.`);\n }\n function readCmapTable(cmap, file, isSymbolicFont, hasEncoding) {\n if (!cmap) {\n (0, _util.warn)(\"No cmap table available.\");\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n let segment;\n let start = (file.start || 0) + cmap.offset;\n file.pos = start;\n file.skip(2);\n const numTables = file.getUint16();\n let potentialTable;\n let canBreak = false;\n for (let i = 0; i < numTables; i++) {\n const platformId = file.getUint16();\n const encodingId = file.getUint16();\n const offset = file.getInt32() >>> 0;\n let useTable = false;\n if (potentialTable?.platformId === platformId && potentialTable?.encodingId === encodingId) {\n continue;\n }\n if (platformId === 0 && (encodingId === 0 || encodingId === 1 || encodingId === 3)) {\n useTable = true;\n } else if (platformId === 1 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n useTable = true;\n if (!isSymbolicFont) {\n canBreak = true;\n }\n } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n useTable = true;\n let correctlySorted = true;\n if (i < numTables - 1) {\n const nextBytes = file.peekBytes(2),\n nextPlatformId = int16(nextBytes[0], nextBytes[1]);\n if (nextPlatformId < platformId) {\n correctlySorted = false;\n }\n }\n if (correctlySorted) {\n canBreak = true;\n }\n }\n if (useTable) {\n potentialTable = {\n platformId,\n encodingId,\n offset\n };\n }\n if (canBreak) {\n break;\n }\n }\n if (potentialTable) {\n file.pos = start + potentialTable.offset;\n }\n if (!potentialTable || file.peekByte() === -1) {\n (0, _util.warn)(\"Could not find a preferred cmap table.\");\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n const format = file.getUint16();\n let hasShortCmap = false;\n const mappings = [];\n let j, glyphId;\n if (format === 0) {\n file.skip(2 + 2);\n for (j = 0; j < 256; j++) {\n const index = file.getByte();\n if (!index) {\n continue;\n }\n mappings.push({\n charCode: j,\n glyphId: index\n });\n }\n hasShortCmap = true;\n } else if (format === 2) {\n file.skip(2 + 2);\n const subHeaderKeys = [];\n let maxSubHeaderKey = 0;\n for (let i = 0; i < 256; i++) {\n const subHeaderKey = file.getUint16() >> 3;\n subHeaderKeys.push(subHeaderKey);\n maxSubHeaderKey = Math.max(subHeaderKey, maxSubHeaderKey);\n }\n const subHeaders = [];\n for (let i = 0; i <= maxSubHeaderKey; i++) {\n subHeaders.push({\n firstCode: file.getUint16(),\n entryCount: file.getUint16(),\n idDelta: signedInt16(file.getByte(), file.getByte()),\n idRangePos: file.pos + file.getUint16()\n });\n }\n for (let i = 0; i < 256; i++) {\n if (subHeaderKeys[i] === 0) {\n file.pos = subHeaders[0].idRangePos + 2 * i;\n glyphId = file.getUint16();\n mappings.push({\n charCode: i,\n glyphId\n });\n } else {\n const s = subHeaders[subHeaderKeys[i]];\n for (j = 0; j < s.entryCount; j++) {\n const charCode = (i << 8) + j + s.firstCode;\n file.pos = s.idRangePos + 2 * j;\n glyphId = file.getUint16();\n if (glyphId !== 0) {\n glyphId = (glyphId + s.idDelta) % 65536;\n }\n mappings.push({\n charCode,\n glyphId\n });\n }\n }\n }\n } else if (format === 4) {\n file.skip(2 + 2);\n const segCount = file.getUint16() >> 1;\n file.skip(6);\n const segments = [];\n let segIndex;\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: file.getUint16()\n });\n }\n file.skip(2);\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = file.getUint16();\n }\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = file.getUint16();\n }\n let offsetsCount = 0,\n offsetIndex;\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n const rangeOffset = file.getUint16();\n if (!rangeOffset) {\n segment.offsetIndex = -1;\n continue;\n }\n offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n segment.offsetIndex = offsetIndex;\n offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n }\n const offsets = [];\n for (j = 0; j < offsetsCount; j++) {\n offsets.push(file.getUint16());\n }\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n start = segment.start;\n const end = segment.end;\n const delta = segment.delta;\n offsetIndex = segment.offsetIndex;\n for (j = start; j <= end; j++) {\n if (j === 0xffff) {\n continue;\n }\n glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n glyphId = glyphId + delta & 0xffff;\n mappings.push({\n charCode: j,\n glyphId\n });\n }\n }\n } else if (format === 6) {\n file.skip(2 + 2);\n const firstCode = file.getUint16();\n const entryCount = file.getUint16();\n for (j = 0; j < entryCount; j++) {\n glyphId = file.getUint16();\n const charCode = firstCode + j;\n mappings.push({\n charCode,\n glyphId\n });\n }\n } else if (format === 12) {\n file.skip(2 + 4 + 4);\n const nGroups = file.getInt32() >>> 0;\n for (j = 0; j < nGroups; j++) {\n const startCharCode = file.getInt32() >>> 0;\n const endCharCode = file.getInt32() >>> 0;\n let glyphCode = file.getInt32() >>> 0;\n for (let charCode = startCharCode; charCode <= endCharCode; charCode++) {\n mappings.push({\n charCode,\n glyphId: glyphCode++\n });\n }\n }\n } else {\n (0, _util.warn)(\"cmap table has unsupported format: \" + format);\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n mappings.sort(function (a, b) {\n return a.charCode - b.charCode;\n });\n for (let i = 1; i < mappings.length; i++) {\n if (mappings[i - 1].charCode === mappings[i].charCode) {\n mappings.splice(i, 1);\n i--;\n }\n }\n return {\n platformId: potentialTable.platformId,\n encodingId: potentialTable.encodingId,\n mappings,\n hasShortCmap\n };\n }\n function sanitizeMetrics(file, header, metrics, headTable, numGlyphs, dupFirstEntry) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n return;\n }\n file.pos = (file.start || 0) + header.offset;\n file.pos += 4;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n const caretOffset = file.getUint16();\n file.pos += 8;\n file.pos += 2;\n let numOfMetrics = file.getUint16();\n if (caretOffset !== 0) {\n const macStyle = int16(headTable.data[44], headTable.data[45]);\n if (!(macStyle & 2)) {\n header.data[22] = 0;\n header.data[23] = 0;\n }\n }\n if (numOfMetrics > numGlyphs) {\n (0, _util.info)(`The numOfMetrics (${numOfMetrics}) should not be ` + `greater than the numGlyphs (${numGlyphs}).`);\n numOfMetrics = numGlyphs;\n header.data[34] = (numOfMetrics & 0xff00) >> 8;\n header.data[35] = numOfMetrics & 0x00ff;\n }\n const numOfSidebearings = numGlyphs - numOfMetrics;\n const numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n if (numMissing > 0) {\n const entries = new Uint8Array(metrics.length + numMissing * 2);\n entries.set(metrics.data);\n if (dupFirstEntry) {\n entries[metrics.length] = metrics.data[2];\n entries[metrics.length + 1] = metrics.data[3];\n }\n metrics.data = entries;\n }\n }\n function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n const glyphProfile = {\n length: 0,\n sizeOfInstructions: 0\n };\n if (sourceStart < 0 || sourceStart >= source.length || sourceEnd > source.length || sourceEnd - sourceStart <= 12) {\n return glyphProfile;\n }\n const glyf = source.subarray(sourceStart, sourceEnd);\n const xMin = signedInt16(glyf[2], glyf[3]);\n const yMin = signedInt16(glyf[4], glyf[5]);\n const xMax = signedInt16(glyf[6], glyf[7]);\n const yMax = signedInt16(glyf[8], glyf[9]);\n if (xMin > xMax) {\n writeSignedInt16(glyf, 2, xMax);\n writeSignedInt16(glyf, 6, xMin);\n }\n if (yMin > yMax) {\n writeSignedInt16(glyf, 4, yMax);\n writeSignedInt16(glyf, 8, yMin);\n }\n const contoursCount = signedInt16(glyf[0], glyf[1]);\n if (contoursCount < 0) {\n if (contoursCount < -1) {\n return glyphProfile;\n }\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n let i,\n j = 10,\n flagsCount = 0;\n for (i = 0; i < contoursCount; i++) {\n const endPoint = glyf[j] << 8 | glyf[j + 1];\n flagsCount = endPoint + 1;\n j += 2;\n }\n const instructionsStart = j;\n const instructionsLength = glyf[j] << 8 | glyf[j + 1];\n glyphProfile.sizeOfInstructions = instructionsLength;\n j += 2 + instructionsLength;\n const instructionsEnd = j;\n let coordinatesLength = 0;\n for (i = 0; i < flagsCount; i++) {\n const flag = glyf[j++];\n if (flag & 0xc0) {\n glyf[j - 1] = flag & 0x3f;\n }\n let xLength = 2;\n if (flag & 2) {\n xLength = 1;\n } else if (flag & 16) {\n xLength = 0;\n }\n let yLength = 2;\n if (flag & 4) {\n yLength = 1;\n } else if (flag & 32) {\n yLength = 0;\n }\n const xyLength = xLength + yLength;\n coordinatesLength += xyLength;\n if (flag & 8) {\n const repeat = glyf[j++];\n if (repeat === 0) {\n glyf[j - 1] ^= 8;\n }\n i += repeat;\n coordinatesLength += repeat * xyLength;\n }\n }\n if (coordinatesLength === 0) {\n return glyphProfile;\n }\n let glyphDataLength = j + coordinatesLength;\n if (glyphDataLength > glyf.length) {\n return glyphProfile;\n }\n if (!hintsValid && instructionsLength > 0) {\n dest.set(glyf.subarray(0, instructionsStart), destStart);\n dest.set([0, 0], destStart + instructionsStart);\n dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n glyphDataLength -= instructionsLength;\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n }\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n dest.set(glyf.subarray(0, glyphDataLength), destStart);\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n function sanitizeHead(head, numGlyphs, locaLength) {\n const data = head.data;\n const version = int32(data[0], data[1], data[2], data[3]);\n if (version >> 16 !== 1) {\n (0, _util.info)(\"Attempting to fix invalid version in head table: \" + version);\n data[0] = 0;\n data[1] = 1;\n data[2] = 0;\n data[3] = 0;\n }\n const indexToLocFormat = int16(data[50], data[51]);\n if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n (0, _util.info)(\"Attempting to fix invalid indexToLocFormat in head table: \" + indexToLocFormat);\n const numGlyphsPlusOne = numGlyphs + 1;\n if (locaLength === numGlyphsPlusOne << 1) {\n data[50] = 0;\n data[51] = 0;\n } else if (locaLength === numGlyphsPlusOne << 2) {\n data[50] = 0;\n data[51] = 1;\n } else {\n throw new _util.FormatError(\"Could not fix indexToLocFormat: \" + indexToLocFormat);\n }\n }\n }\n function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n let itemSize, itemDecode, itemEncode;\n if (isGlyphLocationsLong) {\n itemSize = 4;\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n itemEncode = function fontItemEncodeLong(data, offset, value) {\n data[offset] = value >>> 24 & 0xff;\n data[offset + 1] = value >> 16 & 0xff;\n data[offset + 2] = value >> 8 & 0xff;\n data[offset + 3] = value & 0xff;\n };\n } else {\n itemSize = 2;\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n itemEncode = function fontItemEncode(data, offset, value) {\n data[offset] = value >> 9 & 0xff;\n data[offset + 1] = value >> 1 & 0xff;\n };\n }\n const numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n const locaDataSize = itemSize * (1 + numGlyphsOut);\n const locaData = new Uint8Array(locaDataSize);\n locaData.set(loca.data.subarray(0, locaDataSize));\n loca.data = locaData;\n const oldGlyfData = glyf.data;\n const oldGlyfDataLength = oldGlyfData.length;\n const newGlyfData = new Uint8Array(oldGlyfDataLength);\n let i, j;\n const locaEntries = [];\n for (i = 0, j = 0; i < numGlyphs + 1; i++, j += itemSize) {\n let offset = itemDecode(locaData, j);\n if (offset > oldGlyfDataLength) {\n offset = oldGlyfDataLength;\n }\n locaEntries.push({\n index: i,\n offset,\n endOffset: 0\n });\n }\n locaEntries.sort((a, b) => {\n return a.offset - b.offset;\n });\n for (i = 0; i < numGlyphs; i++) {\n locaEntries[i].endOffset = locaEntries[i + 1].offset;\n }\n locaEntries.sort((a, b) => {\n return a.index - b.index;\n });\n for (i = 0; i < numGlyphs; i++) {\n const {\n offset,\n endOffset\n } = locaEntries[i];\n if (offset !== 0 || endOffset !== 0) {\n break;\n }\n const nextOffset = locaEntries[i + 1].offset;\n if (nextOffset === 0) {\n continue;\n }\n locaEntries[i].endOffset = nextOffset;\n break;\n }\n const missingGlyphs = Object.create(null);\n let writeOffset = 0;\n itemEncode(locaData, 0, writeOffset);\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n const glyphProfile = sanitizeGlyph(oldGlyfData, locaEntries[i].offset, locaEntries[i].endOffset, newGlyfData, writeOffset, hintsValid);\n const newLength = glyphProfile.length;\n if (newLength === 0) {\n missingGlyphs[i] = true;\n }\n if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n }\n writeOffset += newLength;\n itemEncode(locaData, j, writeOffset);\n }\n if (writeOffset === 0) {\n const simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n itemEncode(locaData, j, simpleGlyph.length);\n }\n glyf.data = simpleGlyph;\n } else if (dupFirstEntry) {\n const firstEntryLength = itemDecode(locaData, itemSize);\n if (newGlyfData.length > firstEntryLength + writeOffset) {\n glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n } else {\n glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n glyf.data.set(newGlyfData.subarray(0, writeOffset));\n }\n glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n } else {\n glyf.data = newGlyfData.subarray(0, writeOffset);\n }\n return {\n missingGlyphs,\n maxSizeOfInstructions\n };\n }\n function readPostScriptTable(post, propertiesObj, maxpNumGlyphs) {\n const start = (font.start || 0) + post.offset;\n font.pos = start;\n const length = post.length,\n end = start + length;\n const version = font.getInt32();\n font.skip(28);\n let glyphNames;\n let valid = true;\n let i;\n switch (version) {\n case 0x00010000:\n glyphNames = _fonts_utils.MacStandardGlyphOrdering;\n break;\n case 0x00020000:\n const numGlyphs = font.getUint16();\n if (numGlyphs !== maxpNumGlyphs) {\n valid = false;\n break;\n }\n const glyphNameIndexes = [];\n for (i = 0; i < numGlyphs; ++i) {\n const index = font.getUint16();\n if (index >= 32768) {\n valid = false;\n break;\n }\n glyphNameIndexes.push(index);\n }\n if (!valid) {\n break;\n }\n const customNames = [],\n strBuf = [];\n while (font.pos < end) {\n const stringLength = font.getByte();\n strBuf.length = stringLength;\n for (i = 0; i < stringLength; ++i) {\n strBuf[i] = String.fromCharCode(font.getByte());\n }\n customNames.push(strBuf.join(\"\"));\n }\n glyphNames = [];\n for (i = 0; i < numGlyphs; ++i) {\n const j = glyphNameIndexes[i];\n if (j < 258) {\n glyphNames.push(_fonts_utils.MacStandardGlyphOrdering[j]);\n continue;\n }\n glyphNames.push(customNames[j - 258]);\n }\n break;\n case 0x00030000:\n break;\n default:\n (0, _util.warn)(\"Unknown/unsupported post table version \" + version);\n valid = false;\n if (propertiesObj.defaultEncoding) {\n glyphNames = propertiesObj.defaultEncoding;\n }\n break;\n }\n propertiesObj.glyphNames = glyphNames;\n return valid;\n }\n function readNameTable(nameTable) {\n const start = (font.start || 0) + nameTable.offset;\n font.pos = start;\n const names = [[], []],\n records = [];\n const length = nameTable.length,\n end = start + length;\n const format = font.getUint16();\n const FORMAT_0_HEADER_LENGTH = 6;\n if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n return [names, records];\n }\n const numRecords = font.getUint16();\n const stringsStart = font.getUint16();\n const NAME_RECORD_LENGTH = 12;\n let i, ii;\n for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n const r = {\n platform: font.getUint16(),\n encoding: font.getUint16(),\n language: font.getUint16(),\n name: font.getUint16(),\n length: font.getUint16(),\n offset: font.getUint16()\n };\n if (isMacNameRecord(r) || isWinNameRecord(r)) {\n records.push(r);\n }\n }\n for (i = 0, ii = records.length; i < ii; i++) {\n const record = records[i];\n if (record.length <= 0) {\n continue;\n }\n const pos = start + stringsStart + record.offset;\n if (pos + record.length > end) {\n continue;\n }\n font.pos = pos;\n const nameIndex = record.name;\n if (record.encoding) {\n let str = \"\";\n for (let j = 0, jj = record.length; j < jj; j += 2) {\n str += String.fromCharCode(font.getUint16());\n }\n names[1][nameIndex] = str;\n } else {\n names[0][nameIndex] = font.getString(record.length);\n }\n }\n return [names, records];\n }\n const TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n function sanitizeTTProgram(table, ttContext) {\n let data = table.data;\n let i = 0,\n j,\n n,\n b,\n funcId,\n pc,\n lastEndf = 0,\n lastDeff = 0;\n const stack = [];\n const callstack = [];\n const functionsCalled = [];\n let tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n let inFDEF = false,\n ifLevel = 0,\n inELSE = 0;\n for (let ii = data.length; i < ii;) {\n const op = data[i++];\n if (op === 0x40) {\n n = data[i++];\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if (op === 0x41) {\n n = data[i++];\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if ((op & 0xf8) === 0xb0) {\n n = op - 0xb0 + 1;\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if ((op & 0xf8) === 0xb8) {\n n = op - 0xb8 + 1;\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if (op === 0x2b && !tooComplexToFollowFunctions) {\n if (!inFDEF && !inELSE) {\n funcId = stack.at(-1);\n if (isNaN(funcId)) {\n (0, _util.info)(\"TT: CALL empty stack (or invalid entry).\");\n } else {\n ttContext.functionsUsed[funcId] = true;\n if (funcId in ttContext.functionsStackDeltas) {\n const newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n if (newStackLength < 0) {\n (0, _util.warn)(\"TT: CALL invalid functions stack delta.\");\n ttContext.hintsValid = false;\n return;\n }\n stack.length = newStackLength;\n } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n callstack.push({\n data,\n i,\n stackTop: stack.length - 1\n });\n functionsCalled.push(funcId);\n pc = ttContext.functionsDefined[funcId];\n if (!pc) {\n (0, _util.warn)(\"TT: CALL non-existent function\");\n ttContext.hintsValid = false;\n return;\n }\n data = pc.data;\n i = pc.i;\n }\n }\n }\n } else if (op === 0x2c && !tooComplexToFollowFunctions) {\n if (inFDEF || inELSE) {\n (0, _util.warn)(\"TT: nested FDEFs not allowed\");\n tooComplexToFollowFunctions = true;\n }\n inFDEF = true;\n lastDeff = i;\n funcId = stack.pop();\n ttContext.functionsDefined[funcId] = {\n data,\n i\n };\n } else if (op === 0x2d) {\n if (inFDEF) {\n inFDEF = false;\n lastEndf = i;\n } else {\n pc = callstack.pop();\n if (!pc) {\n (0, _util.warn)(\"TT: ENDF bad stack\");\n ttContext.hintsValid = false;\n return;\n }\n funcId = functionsCalled.pop();\n data = pc.data;\n i = pc.i;\n ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n }\n } else if (op === 0x89) {\n if (inFDEF || inELSE) {\n (0, _util.warn)(\"TT: nested IDEFs not allowed\");\n tooComplexToFollowFunctions = true;\n }\n inFDEF = true;\n lastDeff = i;\n } else if (op === 0x58) {\n ++ifLevel;\n } else if (op === 0x1b) {\n inELSE = ifLevel;\n } else if (op === 0x59) {\n if (inELSE === ifLevel) {\n inELSE = 0;\n }\n --ifLevel;\n } else if (op === 0x1c) {\n if (!inFDEF && !inELSE) {\n const offset = stack.at(-1);\n if (offset > 0) {\n i += offset - 1;\n }\n }\n }\n if (!inFDEF && !inELSE) {\n let stackDelta = 0;\n if (op <= 0x8e) {\n stackDelta = TTOpsStackDeltas[op];\n } else if (op >= 0xc0 && op <= 0xdf) {\n stackDelta = -1;\n } else if (op >= 0xe0) {\n stackDelta = -2;\n }\n if (op >= 0x71 && op <= 0x75) {\n n = stack.pop();\n if (!isNaN(n)) {\n stackDelta = -n * 2;\n }\n }\n while (stackDelta < 0 && stack.length > 0) {\n stack.pop();\n stackDelta++;\n }\n while (stackDelta > 0) {\n stack.push(NaN);\n stackDelta--;\n }\n }\n }\n ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n const content = [data];\n if (i > data.length) {\n content.push(new Uint8Array(i - data.length));\n }\n if (lastDeff > lastEndf) {\n (0, _util.warn)(\"TT: complementing a missing function tail\");\n content.push(new Uint8Array([0x22, 0x2d]));\n }\n foldTTTable(table, content);\n }\n function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n if (ttContext.tooComplexToFollowFunctions) {\n return;\n }\n if (ttContext.functionsDefined.length > maxFunctionDefs) {\n (0, _util.warn)(\"TT: more functions defined than expected\");\n ttContext.hintsValid = false;\n return;\n }\n for (let j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n if (j > maxFunctionDefs) {\n (0, _util.warn)(\"TT: invalid function id: \" + j);\n ttContext.hintsValid = false;\n return;\n }\n if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n (0, _util.warn)(\"TT: undefined function: \" + j);\n ttContext.hintsValid = false;\n return;\n }\n }\n }\n function foldTTTable(table, content) {\n if (content.length > 1) {\n let newLength = 0;\n let j, jj;\n for (j = 0, jj = content.length; j < jj; j++) {\n newLength += content[j].length;\n }\n newLength = newLength + 3 & ~3;\n const result = new Uint8Array(newLength);\n let pos = 0;\n for (j = 0, jj = content.length; j < jj; j++) {\n result.set(content[j], pos);\n pos += content[j].length;\n }\n table.data = result;\n table.length = newLength;\n }\n }\n function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n const ttContext = {\n functionsDefined: [],\n functionsUsed: [],\n functionsStackDeltas: [],\n tooComplexToFollowFunctions: false,\n hintsValid: true\n };\n if (fpgm) {\n sanitizeTTProgram(fpgm, ttContext);\n }\n if (prep) {\n sanitizeTTProgram(prep, ttContext);\n }\n if (fpgm) {\n checkInvalidFunctions(ttContext, maxFunctionDefs);\n }\n if (cvt && cvt.length & 1) {\n const cvtData = new Uint8Array(cvt.length + 1);\n cvtData.set(cvt.data);\n cvt.data = cvtData;\n }\n return ttContext.hintsValid;\n }\n font = new _stream.Stream(new Uint8Array(font.getBytes()));\n let header, tables;\n if (isTrueTypeCollectionFile(font)) {\n const ttcData = readTrueTypeCollectionData(font, this.name);\n header = ttcData.header;\n tables = ttcData.tables;\n } else {\n header = readOpenTypeHeader(font);\n tables = readTables(font, header.numTables);\n }\n let cff, cffFile;\n const isTrueType = !tables[\"CFF \"];\n if (!isTrueType) {\n const isComposite = properties.composite && (properties.cidToGidMap?.length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n if (header.version === \"OTTO\" && !isComposite || !tables.head || !tables.hhea || !tables.maxp || !tables.post) {\n cffFile = new _stream.Stream(tables[\"CFF \"].data);\n cff = new _cff_font.CFFFont(cffFile, properties);\n adjustWidths(properties);\n return this.convert(name, cff, properties);\n }\n delete tables.glyf;\n delete tables.loca;\n delete tables.fpgm;\n delete tables.prep;\n delete tables[\"cvt \"];\n this.isOpenType = true;\n } else {\n if (!tables.loca) {\n throw new _util.FormatError('Required \"loca\" table is not found');\n }\n if (!tables.glyf) {\n (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n tables.glyf = {\n tag: \"glyf\",\n data: new Uint8Array(0)\n };\n }\n this.isOpenType = false;\n }\n if (!tables.maxp) {\n throw new _util.FormatError('Required \"maxp\" table is not found');\n }\n font.pos = (font.start || 0) + tables.maxp.offset;\n const version = font.getInt32();\n const numGlyphs = font.getUint16();\n if (properties.scaleFactors?.length === numGlyphs && isTrueType) {\n const {\n scaleFactors\n } = properties;\n const isGlyphLocationsLong = int16(tables.head.data[50], tables.head.data[51]);\n const glyphs = new _glyf.GlyfTable({\n glyfTable: tables.glyf.data,\n isGlyphLocationsLong,\n locaTable: tables.loca.data,\n numGlyphs\n });\n glyphs.scale(scaleFactors);\n const {\n glyf,\n loca,\n isLocationLong\n } = glyphs.write();\n tables.glyf.data = glyf;\n tables.loca.data = loca;\n if (isLocationLong !== !!isGlyphLocationsLong) {\n tables.head.data[50] = 0;\n tables.head.data[51] = isLocationLong ? 1 : 0;\n }\n const metrics = tables.hmtx.data;\n for (let i = 0; i < numGlyphs; i++) {\n const j = 4 * i;\n const advanceWidth = Math.round(scaleFactors[i] * int16(metrics[j], metrics[j + 1]));\n metrics[j] = advanceWidth >> 8 & 0xff;\n metrics[j + 1] = advanceWidth & 0xff;\n const lsb = Math.round(scaleFactors[i] * signedInt16(metrics[j + 2], metrics[j + 3]));\n writeSignedInt16(metrics, j + 2, lsb);\n }\n }\n let numGlyphsOut = numGlyphs + 1;\n let dupFirstEntry = true;\n if (numGlyphsOut > 0xffff) {\n dupFirstEntry = false;\n numGlyphsOut = numGlyphs;\n (0, _util.warn)(\"Not enough space in glyfs to duplicate first glyph.\");\n }\n let maxFunctionDefs = 0;\n let maxSizeOfInstructions = 0;\n if (version >= 0x00010000 && tables.maxp.length >= 22) {\n font.pos += 8;\n const maxZones = font.getUint16();\n if (maxZones > 2) {\n tables.maxp.data[14] = 0;\n tables.maxp.data[15] = 2;\n }\n font.pos += 4;\n maxFunctionDefs = font.getUint16();\n font.pos += 4;\n maxSizeOfInstructions = font.getUint16();\n }\n tables.maxp.data[4] = numGlyphsOut >> 8;\n tables.maxp.data[5] = numGlyphsOut & 255;\n const hintsValid = sanitizeTTPrograms(tables.fpgm, tables.prep, tables[\"cvt \"], maxFunctionDefs);\n if (!hintsValid) {\n delete tables.fpgm;\n delete tables.prep;\n delete tables[\"cvt \"];\n }\n sanitizeMetrics(font, tables.hhea, tables.hmtx, tables.head, numGlyphsOut, dupFirstEntry);\n if (!tables.head) {\n throw new _util.FormatError('Required \"head\" table is not found');\n }\n sanitizeHead(tables.head, numGlyphs, isTrueType ? tables.loca.length : 0);\n let missingGlyphs = Object.create(null);\n if (isTrueType) {\n const isGlyphLocationsLong = int16(tables.head.data[50], tables.head.data[51]);\n const glyphsInfo = sanitizeGlyphLocations(tables.loca, tables.glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n missingGlyphs = glyphsInfo.missingGlyphs;\n if (version >= 0x00010000 && tables.maxp.length >= 22) {\n tables.maxp.data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n tables.maxp.data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n }\n }\n if (!tables.hhea) {\n throw new _util.FormatError('Required \"hhea\" table is not found');\n }\n if (tables.hhea.data[10] === 0 && tables.hhea.data[11] === 0) {\n tables.hhea.data[10] = 0xff;\n tables.hhea.data[11] = 0xff;\n }\n const metricsOverride = {\n unitsPerEm: int16(tables.head.data[18], tables.head.data[19]),\n yMax: signedInt16(tables.head.data[42], tables.head.data[43]),\n yMin: signedInt16(tables.head.data[38], tables.head.data[39]),\n ascent: signedInt16(tables.hhea.data[4], tables.hhea.data[5]),\n descent: signedInt16(tables.hhea.data[6], tables.hhea.data[7]),\n lineGap: signedInt16(tables.hhea.data[8], tables.hhea.data[9])\n };\n this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n this.lineGap = metricsOverride.lineGap / metricsOverride.unitsPerEm;\n if (this.cssFontInfo?.lineHeight) {\n this.lineHeight = this.cssFontInfo.metrics.lineHeight;\n this.lineGap = this.cssFontInfo.metrics.lineGap;\n } else {\n this.lineHeight = this.ascent - this.descent + this.lineGap;\n }\n if (tables.post) {\n readPostScriptTable(tables.post, properties, numGlyphs);\n }\n tables.post = {\n tag: \"post\",\n data: createPostTable(properties)\n };\n const charCodeToGlyphId = [];\n function hasGlyph(glyphId) {\n return !missingGlyphs[glyphId];\n }\n if (properties.composite) {\n const cidToGidMap = properties.cidToGidMap || [];\n const isCidToGidMapEmpty = cidToGidMap.length === 0;\n properties.cMap.forEach(function (charCode, cid) {\n if (typeof cid === \"string\") {\n cid = convertCidString(charCode, cid, true);\n }\n if (cid > 0xffff) {\n throw new _util.FormatError(\"Max size of CID is 65,535\");\n }\n let glyphId = -1;\n if (isCidToGidMapEmpty) {\n glyphId = cid;\n } else if (cidToGidMap[cid] !== undefined) {\n glyphId = cidToGidMap[cid];\n }\n if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n });\n } else {\n const cmapTable = readCmapTable(tables.cmap, font, this.isSymbolicFont, properties.hasEncoding);\n const cmapPlatformId = cmapTable.platformId;\n const cmapEncodingId = cmapTable.encodingId;\n const cmapMappings = cmapTable.mappings;\n let baseEncoding = [],\n forcePostTable = false;\n if (properties.hasEncoding && (properties.baseEncodingName === \"MacRomanEncoding\" || properties.baseEncodingName === \"WinAnsiEncoding\")) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n if (properties.hasEncoding && !this.isSymbolicFont && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0)) {\n const glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n for (let charCode = 0; charCode < 256; charCode++) {\n let glyphName;\n if (this.differences[charCode] !== undefined) {\n glyphName = this.differences[charCode];\n } else if (baseEncoding.length && baseEncoding[charCode] !== \"\") {\n glyphName = baseEncoding[charCode];\n } else {\n glyphName = _encodings.StandardEncoding[charCode];\n }\n if (!glyphName) {\n continue;\n }\n const standardGlyphName = (0, _fonts_utils.recoverGlyphName)(glyphName, glyphsUnicodeMap);\n let unicodeOrCharCode;\n if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n }\n if (unicodeOrCharCode === undefined) {\n if (!properties.glyphNames && properties.hasIncludedToUnicodeMap && !(this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap)) {\n const unicode = this.toUnicode.get(charCode);\n if (unicode) {\n unicodeOrCharCode = unicode.codePointAt(0);\n }\n }\n if (unicodeOrCharCode === undefined) {\n continue;\n }\n }\n for (const mapping of cmapMappings) {\n if (mapping.charCode !== unicodeOrCharCode) {\n continue;\n }\n charCodeToGlyphId[charCode] = mapping.glyphId;\n break;\n }\n }\n } else if (cmapPlatformId === 0) {\n for (const mapping of cmapMappings) {\n charCodeToGlyphId[mapping.charCode] = mapping.glyphId;\n }\n forcePostTable = true;\n } else {\n for (const mapping of cmapMappings) {\n let charCode = mapping.charCode;\n if (cmapPlatformId === 3 && charCode >= 0xf000 && charCode <= 0xf0ff) {\n charCode &= 0xff;\n }\n charCodeToGlyphId[charCode] = mapping.glyphId;\n }\n }\n if (properties.glyphNames && (baseEncoding.length || this.differences.length)) {\n for (let i = 0; i < 256; ++i) {\n if (!forcePostTable && charCodeToGlyphId[i] !== undefined) {\n continue;\n }\n const glyphName = this.differences[i] || baseEncoding[i];\n if (!glyphName) {\n continue;\n }\n const glyphId = properties.glyphNames.indexOf(glyphName);\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[i] = glyphId;\n }\n }\n }\n }\n if (charCodeToGlyphId.length === 0) {\n charCodeToGlyphId[0] = 0;\n }\n let glyphZeroId = numGlyphsOut - 1;\n if (!dupFirstEntry) {\n glyphZeroId = 0;\n }\n if (!properties.cssFontInfo) {\n const newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId, this.toUnicode);\n this.toFontChar = newMapping.toFontChar;\n tables.cmap = {\n tag: \"cmap\",\n data: createCmapTable(newMapping.charCodeToGlyphId, newMapping.toUnicodeExtraMap, numGlyphsOut)\n };\n if (!tables[\"OS/2\"] || !validateOS2Table(tables[\"OS/2\"], font)) {\n tables[\"OS/2\"] = {\n tag: \"OS/2\",\n data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n };\n }\n }\n if (!isTrueType) {\n try {\n cffFile = new _stream.Stream(tables[\"CFF \"].data);\n const parser = new _cff_parser.CFFParser(cffFile, properties, _fonts_utils.SEAC_ANALYSIS_ENABLED);\n cff = parser.parse();\n cff.duplicateFirstGlyph();\n const compiler = new _cff_parser.CFFCompiler(cff);\n tables[\"CFF \"].data = compiler.compile();\n } catch {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n }\n }\n if (!tables.name) {\n tables.name = {\n tag: \"name\",\n data: createNameTable(this.name)\n };\n } else {\n const [namePrototype, nameRecords] = readNameTable(tables.name);\n tables.name.data = createNameTable(name, namePrototype);\n this.psName = namePrototype[0][6] || null;\n if (!properties.composite) {\n adjustTrueTypeToUnicode(properties, this.isSymbolicFont, nameRecords);\n }\n }\n const builder = new _opentype_file_builder.OpenTypeFileBuilder(header.version);\n for (const tableTag in tables) {\n builder.addTable(tableTag, tables[tableTag].data);\n }\n return builder.toArray();\n }\n convert(fontName, font, properties) {\n properties.fixedPitch = false;\n if (properties.builtInEncoding) {\n adjustType1ToUnicode(properties, properties.builtInEncoding);\n }\n let glyphZeroId = 1;\n if (font instanceof _cff_font.CFFFont) {\n glyphZeroId = font.numGlyphs - 1;\n }\n const mapping = font.getGlyphMapping(properties);\n let newMapping = null;\n let newCharCodeToGlyphId = mapping;\n let toUnicodeExtraMap = null;\n if (!properties.cssFontInfo) {\n newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId, this.toUnicode);\n this.toFontChar = newMapping.toFontChar;\n newCharCodeToGlyphId = newMapping.charCodeToGlyphId;\n toUnicodeExtraMap = newMapping.toUnicodeExtraMap;\n }\n const numGlyphs = font.numGlyphs;\n function getCharCodes(charCodeToGlyphId, glyphId) {\n let charCodes = null;\n for (const charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n (charCodes ||= []).push(charCode | 0);\n }\n }\n return charCodes;\n }\n function createCharCode(charCodeToGlyphId, glyphId) {\n for (const charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n return charCode | 0;\n }\n }\n newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n return newMapping.nextAvailableFontCharCode++;\n }\n const seacs = font.seacs;\n if (newMapping && _fonts_utils.SEAC_ANALYSIS_ENABLED && seacs?.length) {\n const matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const charset = font.getCharset();\n const seacMap = Object.create(null);\n for (let glyphId in seacs) {\n glyphId |= 0;\n const seac = seacs[glyphId];\n const baseGlyphName = _encodings.StandardEncoding[seac[2]];\n const accentGlyphName = _encodings.StandardEncoding[seac[3]];\n const baseGlyphId = charset.indexOf(baseGlyphName);\n const accentGlyphId = charset.indexOf(accentGlyphName);\n if (baseGlyphId < 0 || accentGlyphId < 0) {\n continue;\n }\n const accentOffset = {\n x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n };\n const charCodes = getCharCodes(mapping, glyphId);\n if (!charCodes) {\n continue;\n }\n for (const charCode of charCodes) {\n const charCodeToGlyphId = newMapping.charCodeToGlyphId;\n const baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n const accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n seacMap[charCode] = {\n baseFontCharCode,\n accentFontCharCode,\n accentOffset\n };\n }\n }\n properties.seacMap = seacMap;\n }\n const unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n const builder = new _opentype_file_builder.OpenTypeFileBuilder(\"\\x4F\\x54\\x54\\x4F\");\n builder.addTable(\"CFF \", font.data);\n builder.addTable(\"OS/2\", createOS2Table(properties, newCharCodeToGlyphId));\n builder.addTable(\"cmap\", createCmapTable(newCharCodeToGlyphId, toUnicodeExtraMap, numGlyphs));\n builder.addTable(\"head\", \"\\x00\\x01\\x00\\x00\" + \"\\x00\\x00\\x10\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x5F\\x0F\\x3C\\xF5\" + \"\\x00\\x00\" + safeString16(unitsPerEm) + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\" + safeString16(properties.descent) + \"\\x0F\\xFF\" + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + \"\\x00\\x11\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\");\n builder.addTable(\"hhea\", \"\\x00\\x01\\x00\\x00\" + safeString16(properties.ascent) + safeString16(properties.descent) + \"\\x00\\x00\" + \"\\xFF\\xFF\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + string16(numGlyphs));\n builder.addTable(\"hmtx\", function fontFieldsHmtx() {\n const charstrings = font.charstrings;\n const cffWidths = font.cff ? font.cff.widths : null;\n let hmtx = \"\\x00\\x00\\x00\\x00\";\n for (let i = 1, ii = numGlyphs; i < ii; i++) {\n let width = 0;\n if (charstrings) {\n const charstring = charstrings[i - 1];\n width = \"width\" in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[i] || 0);\n }\n hmtx += string16(width) + string16(0);\n }\n return hmtx;\n }());\n builder.addTable(\"maxp\", \"\\x00\\x00\\x50\\x00\" + string16(numGlyphs));\n builder.addTable(\"name\", createNameTable(fontName));\n builder.addTable(\"post\", createPostTable(properties));\n return builder.toArray();\n }\n get spaceWidth() {\n const possibleSpaceReplacements = [\"space\", \"minus\", \"one\", \"i\", \"I\"];\n let width;\n for (const glyphName of possibleSpaceReplacements) {\n if (glyphName in this.widths) {\n width = this.widths[glyphName];\n break;\n }\n const glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n const glyphUnicode = glyphsUnicodeMap[glyphName];\n let charcode = 0;\n if (this.composite && this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\n if (typeof charcode === \"string\") {\n charcode = convertCidString(glyphUnicode, charcode);\n }\n }\n if (!charcode && this.toUnicode) {\n charcode = this.toUnicode.charCodeOf(glyphUnicode);\n }\n if (charcode <= 0) {\n charcode = glyphUnicode;\n }\n width = this.widths[charcode];\n if (width) {\n break;\n }\n }\n return (0, _util.shadow)(this, \"spaceWidth\", width || this.defaultWidth);\n }\n _charToGlyph(charcode, isSpace = false) {\n let glyph = this._glyphCache[charcode];\n if (glyph?.isSpace === isSpace) {\n return glyph;\n }\n let fontCharCode, width, operatorListId;\n let widthCode = charcode;\n if (this.cMap?.contains(charcode)) {\n widthCode = this.cMap.lookup(charcode);\n if (typeof widthCode === \"string\") {\n widthCode = convertCidString(charcode, widthCode);\n }\n }\n width = this.widths[widthCode];\n if (typeof width !== \"number\") {\n width = this.defaultWidth;\n }\n const vmetric = this.vmetrics?.[widthCode];\n let unicode = this.toUnicode.get(charcode) || charcode;\n if (typeof unicode === \"number\") {\n unicode = String.fromCharCode(unicode);\n }\n let isInFont = this.toFontChar[charcode] !== undefined;\n fontCharCode = this.toFontChar[charcode] || charcode;\n if (this.missingFile) {\n const glyphName = this.differences[charcode] || this.defaultEncoding[charcode];\n if ((glyphName === \".notdef\" || glyphName === \"\") && this.type === \"Type1\") {\n fontCharCode = 0x20;\n }\n fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n }\n if (this.isType3Font) {\n operatorListId = fontCharCode;\n }\n let accent = null;\n if (this.seacMap?.[charcode]) {\n isInFont = true;\n const seac = this.seacMap[charcode];\n fontCharCode = seac.baseFontCharCode;\n accent = {\n fontChar: String.fromCodePoint(seac.accentFontCharCode),\n offset: seac.accentOffset\n };\n }\n let fontChar = \"\";\n if (typeof fontCharCode === \"number\") {\n if (fontCharCode <= 0x10ffff) {\n fontChar = String.fromCodePoint(fontCharCode);\n } else {\n (0, _util.warn)(`charToGlyph - invalid fontCharCode: ${fontCharCode}`);\n }\n }\n glyph = new Glyph(charcode, fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n return this._glyphCache[charcode] = glyph;\n }\n charsToGlyphs(chars) {\n let glyphs = this._charsCache[chars];\n if (glyphs) {\n return glyphs;\n }\n glyphs = [];\n if (this.cMap) {\n const c = Object.create(null),\n ii = chars.length;\n let i = 0;\n while (i < ii) {\n this.cMap.readCharCode(chars, i, c);\n const {\n charcode,\n length\n } = c;\n i += length;\n const glyph = this._charToGlyph(charcode, length === 1 && chars.charCodeAt(i - 1) === 0x20);\n glyphs.push(glyph);\n }\n } else {\n for (let i = 0, ii = chars.length; i < ii; ++i) {\n const charcode = chars.charCodeAt(i);\n const glyph = this._charToGlyph(charcode, charcode === 0x20);\n glyphs.push(glyph);\n }\n }\n return this._charsCache[chars] = glyphs;\n }\n getCharPositions(chars) {\n const positions = [];\n if (this.cMap) {\n const c = Object.create(null);\n let i = 0;\n while (i < chars.length) {\n this.cMap.readCharCode(chars, i, c);\n const length = c.length;\n positions.push([i, i + length]);\n i += length;\n }\n } else {\n for (let i = 0, ii = chars.length; i < ii; ++i) {\n positions.push([i, i + 1]);\n }\n }\n return positions;\n }\n get glyphCacheValues() {\n return Object.values(this._glyphCache);\n }\n encodeString(str) {\n const buffers = [];\n const currentBuf = [];\n const hasCurrentBufErrors = () => buffers.length % 2 === 1;\n const getCharCode = this.toUnicode instanceof _to_unicode_map.IdentityToUnicodeMap ? unicode => this.toUnicode.charCodeOf(unicode) : unicode => this.toUnicode.charCodeOf(String.fromCodePoint(unicode));\n for (let i = 0, ii = str.length; i < ii; i++) {\n const unicode = str.codePointAt(i);\n if (unicode > 0xd7ff && (unicode < 0xe000 || unicode > 0xfffd)) {\n i++;\n }\n if (this.toUnicode) {\n const charCode = getCharCode(unicode);\n if (charCode !== -1) {\n if (hasCurrentBufErrors()) {\n buffers.push(currentBuf.join(\"\"));\n currentBuf.length = 0;\n }\n const charCodeLength = this.cMap ? this.cMap.getCharCodeLength(charCode) : 1;\n for (let j = charCodeLength - 1; j >= 0; j--) {\n currentBuf.push(String.fromCharCode(charCode >> 8 * j & 0xff));\n }\n continue;\n }\n }\n if (!hasCurrentBufErrors()) {\n buffers.push(currentBuf.join(\"\"));\n currentBuf.length = 0;\n }\n currentBuf.push(String.fromCodePoint(unicode));\n }\n buffers.push(currentBuf.join(\"\"));\n return buffers;\n }\n}\nexports.Font = Font;\nclass ErrorFont {\n constructor(error) {\n this.error = error;\n this.loadedName = \"g_font_error\";\n this.missingFile = true;\n }\n charsToGlyphs() {\n return [];\n }\n encodeString(chars) {\n return [chars];\n }\n exportData(extraProperties = false) {\n return {\n error: this.error\n };\n }\n}\nexports.ErrorFont = ErrorFont;\n\n/***/ }),\n/* 35 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CFFTopDict = exports.CFFStrings = exports.CFFStandardStrings = exports.CFFPrivateDict = exports.CFFParser = exports.CFFIndex = exports.CFFHeader = exports.CFFFDSelect = exports.CFFCompiler = exports.CFFCharset = exports.CFF = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _charsets = __w_pdfjs_require__(36);\nvar _encodings = __w_pdfjs_require__(37);\nconst MAX_SUBR_NESTING = 10;\nconst CFFStandardStrings = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\", \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"];\nexports.CFFStandardStrings = CFFStandardStrings;\nconst NUM_STANDARD_CFF_STRINGS = 391;\nconst CharstringValidationData = [null, {\n id: \"hstem\",\n min: 2,\n stackClearing: true,\n stem: true\n}, null, {\n id: \"vstem\",\n min: 2,\n stackClearing: true,\n stem: true\n}, {\n id: \"vmoveto\",\n min: 1,\n stackClearing: true\n}, {\n id: \"rlineto\",\n min: 2,\n resetStack: true\n}, {\n id: \"hlineto\",\n min: 1,\n resetStack: true\n}, {\n id: \"vlineto\",\n min: 1,\n resetStack: true\n}, {\n id: \"rrcurveto\",\n min: 6,\n resetStack: true\n}, null, {\n id: \"callsubr\",\n min: 1,\n undefStack: true\n}, {\n id: \"return\",\n min: 0,\n undefStack: true\n}, null, null, {\n id: \"endchar\",\n min: 0,\n stackClearing: true\n}, null, null, null, {\n id: \"hstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n}, {\n id: \"hintmask\",\n min: 0,\n stackClearing: true\n}, {\n id: \"cntrmask\",\n min: 0,\n stackClearing: true\n}, {\n id: \"rmoveto\",\n min: 2,\n stackClearing: true\n}, {\n id: \"hmoveto\",\n min: 1,\n stackClearing: true\n}, {\n id: \"vstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n}, {\n id: \"rcurveline\",\n min: 8,\n resetStack: true\n}, {\n id: \"rlinecurve\",\n min: 8,\n resetStack: true\n}, {\n id: \"vvcurveto\",\n min: 4,\n resetStack: true\n}, {\n id: \"hhcurveto\",\n min: 4,\n resetStack: true\n}, null, {\n id: \"callgsubr\",\n min: 1,\n undefStack: true\n}, {\n id: \"vhcurveto\",\n min: 4,\n resetStack: true\n}, {\n id: \"hvcurveto\",\n min: 4,\n resetStack: true\n}];\nconst CharstringValidationData12 = [null, null, null, {\n id: \"and\",\n min: 2,\n stackDelta: -1\n}, {\n id: \"or\",\n min: 2,\n stackDelta: -1\n}, {\n id: \"not\",\n min: 1,\n stackDelta: 0\n}, null, null, null, {\n id: \"abs\",\n min: 1,\n stackDelta: 0\n}, {\n id: \"add\",\n min: 2,\n stackDelta: -1,\n stackFn(stack, index) {\n stack[index - 2] = stack[index - 2] + stack[index - 1];\n }\n}, {\n id: \"sub\",\n min: 2,\n stackDelta: -1,\n stackFn(stack, index) {\n stack[index - 2] = stack[index - 2] - stack[index - 1];\n }\n}, {\n id: \"div\",\n min: 2,\n stackDelta: -1,\n stackFn(stack, index) {\n stack[index - 2] = stack[index - 2] / stack[index - 1];\n }\n}, null, {\n id: \"neg\",\n min: 1,\n stackDelta: 0,\n stackFn(stack, index) {\n stack[index - 1] = -stack[index - 1];\n }\n}, {\n id: \"eq\",\n min: 2,\n stackDelta: -1\n}, null, null, {\n id: \"drop\",\n min: 1,\n stackDelta: -1\n}, null, {\n id: \"put\",\n min: 2,\n stackDelta: -2\n}, {\n id: \"get\",\n min: 1,\n stackDelta: 0\n}, {\n id: \"ifelse\",\n min: 4,\n stackDelta: -3\n}, {\n id: \"random\",\n min: 0,\n stackDelta: 1\n}, {\n id: \"mul\",\n min: 2,\n stackDelta: -1,\n stackFn(stack, index) {\n stack[index - 2] = stack[index - 2] * stack[index - 1];\n }\n}, null, {\n id: \"sqrt\",\n min: 1,\n stackDelta: 0\n}, {\n id: \"dup\",\n min: 1,\n stackDelta: 1\n}, {\n id: \"exch\",\n min: 2,\n stackDelta: 0\n}, {\n id: \"index\",\n min: 2,\n stackDelta: 0\n}, {\n id: \"roll\",\n min: 3,\n stackDelta: -2\n}, null, null, null, {\n id: \"hflex\",\n min: 7,\n resetStack: true\n}, {\n id: \"flex\",\n min: 13,\n resetStack: true\n}, {\n id: \"hflex1\",\n min: 9,\n resetStack: true\n}, {\n id: \"flex1\",\n min: 11,\n resetStack: true\n}];\nclass CFFParser {\n constructor(file, properties, seacAnalysisEnabled) {\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n parse() {\n const properties = this.properties;\n const cff = new CFF();\n this.cff = cff;\n const header = this.parseHeader();\n const nameIndex = this.parseIndex(header.endPos);\n const topDictIndex = this.parseIndex(nameIndex.endPos);\n const stringIndex = this.parseIndex(topDictIndex.endPos);\n const globalSubrIndex = this.parseIndex(stringIndex.endPos);\n const topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n const topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n cff.header = header.obj;\n cff.names = this.parseNameIndex(nameIndex.obj);\n cff.strings = this.parseStringIndex(stringIndex.obj);\n cff.topDict = topDict;\n cff.globalSubrIndex = globalSubrIndex.obj;\n this.parsePrivateDict(cff.topDict);\n cff.isCIDFont = topDict.hasName(\"ROS\");\n const charStringOffset = topDict.getByName(\"CharStrings\");\n const charStringIndex = this.parseIndex(charStringOffset).obj;\n const fontMatrix = topDict.getByName(\"FontMatrix\");\n if (fontMatrix) {\n properties.fontMatrix = fontMatrix;\n }\n const fontBBox = topDict.getByName(\"FontBBox\");\n if (fontBBox) {\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n }\n let charset, encoding;\n if (cff.isCIDFont) {\n const fdArrayIndex = this.parseIndex(topDict.getByName(\"FDArray\")).obj;\n for (let i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n const dictRaw = fdArrayIndex.get(i);\n const fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n this.parsePrivateDict(fontDict);\n cff.fdArray.push(fontDict);\n }\n encoding = null;\n charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, true);\n cff.fdSelect = this.parseFDSelect(topDict.getByName(\"FDSelect\"), charStringIndex.count);\n } else {\n charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, false);\n encoding = this.parseEncoding(topDict.getByName(\"Encoding\"), properties, cff.strings, charset.charset);\n }\n cff.charset = charset;\n cff.encoding = encoding;\n const charStringsAndSeacs = this.parseCharStrings({\n charStrings: charStringIndex,\n localSubrIndex: topDict.privateDict.subrsIndex,\n globalSubrIndex: globalSubrIndex.obj,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray,\n privateDict: topDict.privateDict\n });\n cff.charStrings = charStringsAndSeacs.charStrings;\n cff.seacs = charStringsAndSeacs.seacs;\n cff.widths = charStringsAndSeacs.widths;\n return cff;\n }\n parseHeader() {\n let bytes = this.bytes;\n const bytesLength = bytes.length;\n let offset = 0;\n while (offset < bytesLength && bytes[offset] !== 1) {\n ++offset;\n }\n if (offset >= bytesLength) {\n throw new _util.FormatError(\"Invalid CFF header\");\n }\n if (offset !== 0) {\n (0, _util.info)(\"cff data is shifted\");\n bytes = bytes.subarray(offset);\n this.bytes = bytes;\n }\n const major = bytes[0];\n const minor = bytes[1];\n const hdrSize = bytes[2];\n const offSize = bytes[3];\n const header = new CFFHeader(major, minor, hdrSize, offSize);\n return {\n obj: header,\n endPos: hdrSize\n };\n }\n parseDict(dict) {\n let pos = 0;\n function parseOperand() {\n let value = dict[pos++];\n if (value === 30) {\n return parseFloatOperand();\n } else if (value === 28) {\n value = dict[pos++];\n value = (value << 24 | dict[pos++] << 16) >> 16;\n return value;\n } else if (value === 29) {\n value = dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n return value;\n } else if (value >= 32 && value <= 246) {\n return value - 139;\n } else if (value >= 247 && value <= 250) {\n return (value - 247) * 256 + dict[pos++] + 108;\n } else if (value >= 251 && value <= 254) {\n return -((value - 251) * 256) - dict[pos++] - 108;\n }\n (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n return NaN;\n }\n function parseFloatOperand() {\n let str = \"\";\n const eof = 15;\n const lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n const length = dict.length;\n while (pos < length) {\n const b = dict[pos++];\n const b1 = b >> 4;\n const b2 = b & 15;\n if (b1 === eof) {\n break;\n }\n str += lookup[b1];\n if (b2 === eof) {\n break;\n }\n str += lookup[b2];\n }\n return parseFloat(str);\n }\n let operands = [];\n const entries = [];\n pos = 0;\n const end = dict.length;\n while (pos < end) {\n let b = dict[pos];\n if (b <= 21) {\n if (b === 12) {\n b = b << 8 | dict[++pos];\n }\n entries.push([b, operands]);\n operands = [];\n ++pos;\n } else {\n operands.push(parseOperand());\n }\n }\n return entries;\n }\n parseIndex(pos) {\n const cffIndex = new CFFIndex();\n const bytes = this.bytes;\n const count = bytes[pos++] << 8 | bytes[pos++];\n const offsets = [];\n let end = pos;\n let i, ii;\n if (count !== 0) {\n const offsetSize = bytes[pos++];\n const startPos = pos + (count + 1) * offsetSize - 1;\n for (i = 0, ii = count + 1; i < ii; ++i) {\n let offset = 0;\n for (let j = 0; j < offsetSize; ++j) {\n offset <<= 8;\n offset += bytes[pos++];\n }\n offsets.push(startPos + offset);\n }\n end = offsets[count];\n }\n for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n const offsetStart = offsets[i];\n const offsetEnd = offsets[i + 1];\n cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n }\n return {\n obj: cffIndex,\n endPos: end\n };\n }\n parseNameIndex(index) {\n const names = [];\n for (let i = 0, ii = index.count; i < ii; ++i) {\n const name = index.get(i);\n names.push((0, _util.bytesToString)(name));\n }\n return names;\n }\n parseStringIndex(index) {\n const strings = new CFFStrings();\n for (let i = 0, ii = index.count; i < ii; ++i) {\n const data = index.get(i);\n strings.add((0, _util.bytesToString)(data));\n }\n return strings;\n }\n createDict(Type, dict, strings) {\n const cffDict = new Type(strings);\n for (const [key, value] of dict) {\n cffDict.setByKey(key, value);\n }\n return cffDict;\n }\n parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n if (!data || state.callDepth > MAX_SUBR_NESTING) {\n return false;\n }\n let stackSize = state.stackSize;\n const stack = state.stack;\n let length = data.length;\n for (let j = 0; j < length;) {\n const value = data[j++];\n let validationCommand = null;\n if (value === 12) {\n const q = data[j++];\n if (q === 0) {\n data[j - 2] = 139;\n data[j - 1] = 22;\n stackSize = 0;\n } else {\n validationCommand = CharstringValidationData12[q];\n }\n } else if (value === 28) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n j += 2;\n stackSize++;\n } else if (value === 14) {\n if (stackSize >= 4) {\n stackSize -= 4;\n if (this.seacAnalysisEnabled) {\n state.seac = stack.slice(stackSize, stackSize + 4);\n return false;\n }\n }\n validationCommand = CharstringValidationData[value];\n } else if (value >= 32 && value <= 246) {\n stack[stackSize] = value - 139;\n stackSize++;\n } else if (value >= 247 && value <= 254) {\n stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n j++;\n stackSize++;\n } else if (value === 255) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n j += 4;\n stackSize++;\n } else if (value === 19 || value === 20) {\n state.hints += stackSize >> 1;\n if (state.hints === 0) {\n data.copyWithin(j - 1, j, -1);\n j -= 1;\n length -= 1;\n continue;\n }\n j += state.hints + 7 >> 3;\n stackSize %= 2;\n validationCommand = CharstringValidationData[value];\n } else if (value === 10 || value === 29) {\n const subrsIndex = value === 10 ? localSubrIndex : globalSubrIndex;\n if (!subrsIndex) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)(\"Missing subrsIndex for \" + validationCommand.id);\n return false;\n }\n let bias = 32768;\n if (subrsIndex.count < 1240) {\n bias = 107;\n } else if (subrsIndex.count < 33900) {\n bias = 1131;\n }\n const subrNumber = stack[--stackSize] + bias;\n if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)(\"Out of bounds subrIndex for \" + validationCommand.id);\n return false;\n }\n state.stackSize = stackSize;\n state.callDepth++;\n const valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n if (!valid) {\n return false;\n }\n state.callDepth--;\n stackSize = state.stackSize;\n continue;\n } else if (value === 11) {\n state.stackSize = stackSize;\n return true;\n } else if (value === 0 && j === data.length) {\n data[j - 1] = 14;\n validationCommand = CharstringValidationData[14];\n } else if (value === 9) {\n data.copyWithin(j - 1, j, -1);\n j -= 1;\n length -= 1;\n continue;\n } else {\n validationCommand = CharstringValidationData[value];\n }\n if (validationCommand) {\n if (validationCommand.stem) {\n state.hints += stackSize >> 1;\n if (value === 3 || value === 23) {\n state.hasVStems = true;\n } else if (state.hasVStems && (value === 1 || value === 18)) {\n (0, _util.warn)(\"CFF stem hints are in wrong order\");\n data[j - 1] = value === 1 ? 3 : 23;\n }\n }\n if (\"min\" in validationCommand) {\n if (!state.undefStack && stackSize < validationCommand.min) {\n (0, _util.warn)(\"Not enough parameters for \" + validationCommand.id + \"; actual: \" + stackSize + \", expected: \" + validationCommand.min);\n if (stackSize === 0) {\n data[j - 1] = 14;\n return true;\n }\n return false;\n }\n }\n if (state.firstStackClearing && validationCommand.stackClearing) {\n state.firstStackClearing = false;\n stackSize -= validationCommand.min;\n if (stackSize >= 2 && validationCommand.stem) {\n stackSize %= 2;\n } else if (stackSize > 1) {\n (0, _util.warn)(\"Found too many parameters for stack-clearing command\");\n }\n if (stackSize > 0) {\n state.width = stack[stackSize - 1];\n }\n }\n if (\"stackDelta\" in validationCommand) {\n if (\"stackFn\" in validationCommand) {\n validationCommand.stackFn(stack, stackSize);\n }\n stackSize += validationCommand.stackDelta;\n } else if (validationCommand.stackClearing) {\n stackSize = 0;\n } else if (validationCommand.resetStack) {\n stackSize = 0;\n state.undefStack = false;\n } else if (validationCommand.undefStack) {\n stackSize = 0;\n state.undefStack = true;\n state.firstStackClearing = false;\n }\n }\n }\n if (length < data.length) {\n data.fill(14, length);\n }\n state.stackSize = stackSize;\n return true;\n }\n parseCharStrings({\n charStrings,\n localSubrIndex,\n globalSubrIndex,\n fdSelect,\n fdArray,\n privateDict\n }) {\n const seacs = [];\n const widths = [];\n const count = charStrings.count;\n for (let i = 0; i < count; i++) {\n const charstring = charStrings.get(i);\n const state = {\n callDepth: 0,\n stackSize: 0,\n stack: [],\n undefStack: true,\n hints: 0,\n firstStackClearing: true,\n seac: null,\n width: null,\n hasVStems: false\n };\n let valid = true;\n let localSubrToUse = null;\n let privateDictToUse = privateDict;\n if (fdSelect && fdArray.length) {\n const fdIndex = fdSelect.getFDIndex(i);\n if (fdIndex === -1) {\n (0, _util.warn)(\"Glyph index is not in fd select.\");\n valid = false;\n }\n if (fdIndex >= fdArray.length) {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n valid = false;\n }\n if (valid) {\n privateDictToUse = fdArray[fdIndex].privateDict;\n localSubrToUse = privateDictToUse.subrsIndex;\n }\n } else if (localSubrIndex) {\n localSubrToUse = localSubrIndex;\n }\n if (valid) {\n valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n }\n if (state.width !== null) {\n const nominalWidth = privateDictToUse.getByName(\"nominalWidthX\");\n widths[i] = nominalWidth + state.width;\n } else {\n const defaultWidth = privateDictToUse.getByName(\"defaultWidthX\");\n widths[i] = defaultWidth;\n }\n if (state.seac !== null) {\n seacs[i] = state.seac;\n }\n if (!valid) {\n charStrings.set(i, new Uint8Array([14]));\n }\n }\n return {\n charStrings,\n seacs,\n widths\n };\n }\n emptyPrivateDictionary(parentDict) {\n const privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n }\n parsePrivateDict(parentDict) {\n if (!parentDict.hasName(\"Private\")) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n const privateOffset = parentDict.getByName(\"Private\");\n if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n parentDict.removeByName(\"Private\");\n return;\n }\n const size = privateOffset[0];\n const offset = privateOffset[1];\n if (size === 0 || offset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n const privateDictEnd = offset + size;\n const dictData = this.bytes.subarray(offset, privateDictEnd);\n const dict = this.parseDict(dictData);\n const privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n parentDict.privateDict = privateDict;\n if (privateDict.getByName(\"ExpansionFactor\") === 0) {\n privateDict.setByName(\"ExpansionFactor\", 0.06);\n }\n if (!privateDict.getByName(\"Subrs\")) {\n return;\n }\n const subrsOffset = privateDict.getByName(\"Subrs\");\n const relativeOffset = offset + subrsOffset;\n if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n const subrsIndex = this.parseIndex(relativeOffset);\n privateDict.subrsIndex = subrsIndex.obj;\n }\n parseCharsets(pos, length, strings, cid) {\n if (pos === 0) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n } else if (pos === 1) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n } else if (pos === 2) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n }\n const bytes = this.bytes;\n const start = pos;\n const format = bytes[pos++];\n const charset = [cid ? 0 : \".notdef\"];\n let id, count, i;\n length -= 1;\n switch (format) {\n case 0:\n for (i = 0; i < length; i++) {\n id = bytes[pos++] << 8 | bytes[pos++];\n charset.push(cid ? id : strings.get(id));\n }\n break;\n case 1:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++];\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n break;\n case 2:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++] << 8 | bytes[pos++];\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n break;\n default:\n throw new _util.FormatError(\"Unknown charset format\");\n }\n const end = pos;\n const raw = bytes.subarray(start, end);\n return new CFFCharset(false, format, charset, raw);\n }\n parseEncoding(pos, properties, strings, charset) {\n const encoding = Object.create(null);\n const bytes = this.bytes;\n let predefined = false;\n let format, i, ii;\n let raw = null;\n function readSupplement() {\n const supplementsCount = bytes[pos++];\n for (i = 0; i < supplementsCount; i++) {\n const code = bytes[pos++];\n const sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n encoding[code] = charset.indexOf(strings.get(sid));\n }\n }\n if (pos === 0 || pos === 1) {\n predefined = true;\n format = pos;\n const baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n for (i = 0, ii = charset.length; i < ii; i++) {\n const index = baseEncoding.indexOf(charset[i]);\n if (index !== -1) {\n encoding[index] = i;\n }\n }\n } else {\n const dataStart = pos;\n format = bytes[pos++];\n switch (format & 0x7f) {\n case 0:\n const glyphsCount = bytes[pos++];\n for (i = 1; i <= glyphsCount; i++) {\n encoding[bytes[pos++]] = i;\n }\n break;\n case 1:\n const rangesCount = bytes[pos++];\n let gid = 1;\n for (i = 0; i < rangesCount; i++) {\n const start = bytes[pos++];\n const left = bytes[pos++];\n for (let j = start; j <= start + left; j++) {\n encoding[j] = gid++;\n }\n }\n break;\n default:\n throw new _util.FormatError(`Unknown encoding format: ${format} in CFF`);\n }\n const dataEnd = pos;\n if (format & 0x80) {\n bytes[dataStart] &= 0x7f;\n readSupplement();\n }\n raw = bytes.subarray(dataStart, dataEnd);\n }\n format &= 0x7f;\n return new CFFEncoding(predefined, format, encoding, raw);\n }\n parseFDSelect(pos, length) {\n const bytes = this.bytes;\n const format = bytes[pos++];\n const fdSelect = [];\n let i;\n switch (format) {\n case 0:\n for (i = 0; i < length; ++i) {\n const id = bytes[pos++];\n fdSelect.push(id);\n }\n break;\n case 3:\n const rangesCount = bytes[pos++] << 8 | bytes[pos++];\n for (i = 0; i < rangesCount; ++i) {\n let first = bytes[pos++] << 8 | bytes[pos++];\n if (i === 0 && first !== 0) {\n (0, _util.warn)(\"parseFDSelect: The first range must have a first GID of 0\" + \" -- trying to recover.\");\n first = 0;\n }\n const fdIndex = bytes[pos++];\n const next = bytes[pos] << 8 | bytes[pos + 1];\n for (let j = first; j < next; ++j) {\n fdSelect.push(fdIndex);\n }\n }\n pos += 2;\n break;\n default:\n throw new _util.FormatError(`parseFDSelect: Unknown format \"${format}\".`);\n }\n if (fdSelect.length !== length) {\n throw new _util.FormatError(\"parseFDSelect: Invalid font data.\");\n }\n return new CFFFDSelect(format, fdSelect);\n }\n}\nexports.CFFParser = CFFParser;\nclass CFF {\n constructor() {\n this.header = null;\n this.names = [];\n this.topDict = null;\n this.strings = new CFFStrings();\n this.globalSubrIndex = null;\n this.encoding = null;\n this.charset = null;\n this.charStrings = null;\n this.fdArray = [];\n this.fdSelect = null;\n this.isCIDFont = false;\n }\n duplicateFirstGlyph() {\n if (this.charStrings.count >= 65535) {\n (0, _util.warn)(\"Not enough space in charstrings to duplicate first glyph.\");\n return;\n }\n const glyphZero = this.charStrings.get(0);\n this.charStrings.add(glyphZero);\n if (this.isCIDFont) {\n this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n }\n }\n hasGlyphId(id) {\n if (id < 0 || id >= this.charStrings.count) {\n return false;\n }\n const glyph = this.charStrings.get(id);\n return glyph.length > 0;\n }\n}\nexports.CFF = CFF;\nclass CFFHeader {\n constructor(major, minor, hdrSize, offSize) {\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n }\n}\nexports.CFFHeader = CFFHeader;\nclass CFFStrings {\n constructor() {\n this.strings = [];\n }\n get(index) {\n if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n return CFFStandardStrings[index];\n }\n if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n }\n return CFFStandardStrings[0];\n }\n getSID(str) {\n let index = CFFStandardStrings.indexOf(str);\n if (index !== -1) {\n return index;\n }\n index = this.strings.indexOf(str);\n if (index !== -1) {\n return index + NUM_STANDARD_CFF_STRINGS;\n }\n return -1;\n }\n add(value) {\n this.strings.push(value);\n }\n get count() {\n return this.strings.length;\n }\n}\nexports.CFFStrings = CFFStrings;\nclass CFFIndex {\n constructor() {\n this.objects = [];\n this.length = 0;\n }\n add(data) {\n this.length += data.length;\n this.objects.push(data);\n }\n set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n }\n get(index) {\n return this.objects[index];\n }\n get count() {\n return this.objects.length;\n }\n}\nexports.CFFIndex = CFFIndex;\nclass CFFDict {\n constructor(tables, strings) {\n this.keyToNameMap = tables.keyToNameMap;\n this.nameToKeyMap = tables.nameToKeyMap;\n this.defaults = tables.defaults;\n this.types = tables.types;\n this.opcodes = tables.opcodes;\n this.order = tables.order;\n this.strings = strings;\n this.values = Object.create(null);\n }\n setByKey(key, value) {\n if (!(key in this.keyToNameMap)) {\n return false;\n }\n if (value.length === 0) {\n return true;\n }\n for (const val of value) {\n if (isNaN(val)) {\n (0, _util.warn)(`Invalid CFFDict value: \"${value}\" for key \"${key}\".`);\n return true;\n }\n }\n const type = this.types[key];\n if (type === \"num\" || type === \"sid\" || type === \"offset\") {\n value = value[0];\n }\n this.values[key] = value;\n return true;\n }\n setByName(name, value) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(`Invalid dictionary name \"${name}\"`);\n }\n this.values[this.nameToKeyMap[name]] = value;\n }\n hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n }\n getByName(name) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(`Invalid dictionary name ${name}\"`);\n }\n const key = this.nameToKeyMap[name];\n if (!(key in this.values)) {\n return this.defaults[key];\n }\n return this.values[key];\n }\n removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n static createTables(layout) {\n const tables = {\n keyToNameMap: {},\n nameToKeyMap: {},\n defaults: {},\n types: {},\n opcodes: {},\n order: []\n };\n for (const entry of layout) {\n const key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n tables.keyToNameMap[key] = entry[1];\n tables.nameToKeyMap[entry[1]] = key;\n tables.types[key] = entry[2];\n tables.defaults[key] = entry[3];\n tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n tables.order.push(key);\n }\n return tables;\n }\n}\nconst CFFTopDictLayout = [[[12, 30], \"ROS\", [\"sid\", \"sid\", \"num\"], null], [[12, 20], \"SyntheticBase\", \"num\", null], [0, \"version\", \"sid\", null], [1, \"Notice\", \"sid\", null], [[12, 0], \"Copyright\", \"sid\", null], [2, \"FullName\", \"sid\", null], [3, \"FamilyName\", \"sid\", null], [4, \"Weight\", \"sid\", null], [[12, 1], \"isFixedPitch\", \"num\", 0], [[12, 2], \"ItalicAngle\", \"num\", 0], [[12, 3], \"UnderlinePosition\", \"num\", -100], [[12, 4], \"UnderlineThickness\", \"num\", 50], [[12, 5], \"PaintType\", \"num\", 0], [[12, 6], \"CharstringType\", \"num\", 2], [[12, 7], \"FontMatrix\", [\"num\", \"num\", \"num\", \"num\", \"num\", \"num\"], [0.001, 0, 0, 0.001, 0, 0]], [13, \"UniqueID\", \"num\", null], [5, \"FontBBox\", [\"num\", \"num\", \"num\", \"num\"], [0, 0, 0, 0]], [[12, 8], \"StrokeWidth\", \"num\", 0], [14, \"XUID\", \"array\", null], [15, \"charset\", \"offset\", 0], [16, \"Encoding\", \"offset\", 0], [17, \"CharStrings\", \"offset\", 0], [18, \"Private\", [\"offset\", \"offset\"], null], [[12, 21], \"PostScript\", \"sid\", null], [[12, 22], \"BaseFontName\", \"sid\", null], [[12, 23], \"BaseFontBlend\", \"delta\", null], [[12, 31], \"CIDFontVersion\", \"num\", 0], [[12, 32], \"CIDFontRevision\", \"num\", 0], [[12, 33], \"CIDFontType\", \"num\", 0], [[12, 34], \"CIDCount\", \"num\", 8720], [[12, 35], \"UIDBase\", \"num\", null], [[12, 37], \"FDSelect\", \"offset\", null], [[12, 36], \"FDArray\", \"offset\", null], [[12, 38], \"FontName\", \"sid\", null]];\nclass CFFTopDict extends CFFDict {\n static get tables() {\n return (0, _util.shadow)(this, \"tables\", this.createTables(CFFTopDictLayout));\n }\n constructor(strings) {\n super(CFFTopDict.tables, strings);\n this.privateDict = null;\n }\n}\nexports.CFFTopDict = CFFTopDict;\nconst CFFPrivateDictLayout = [[6, \"BlueValues\", \"delta\", null], [7, \"OtherBlues\", \"delta\", null], [8, \"FamilyBlues\", \"delta\", null], [9, \"FamilyOtherBlues\", \"delta\", null], [[12, 9], \"BlueScale\", \"num\", 0.039625], [[12, 10], \"BlueShift\", \"num\", 7], [[12, 11], \"BlueFuzz\", \"num\", 1], [10, \"StdHW\", \"num\", null], [11, \"StdVW\", \"num\", null], [[12, 12], \"StemSnapH\", \"delta\", null], [[12, 13], \"StemSnapV\", \"delta\", null], [[12, 14], \"ForceBold\", \"num\", 0], [[12, 17], \"LanguageGroup\", \"num\", 0], [[12, 18], \"ExpansionFactor\", \"num\", 0.06], [[12, 19], \"initialRandomSeed\", \"num\", 0], [20, \"defaultWidthX\", \"num\", 0], [21, \"nominalWidthX\", \"num\", 0], [19, \"Subrs\", \"offset\", null]];\nclass CFFPrivateDict extends CFFDict {\n static get tables() {\n return (0, _util.shadow)(this, \"tables\", this.createTables(CFFPrivateDictLayout));\n }\n constructor(strings) {\n super(CFFPrivateDict.tables, strings);\n this.subrsIndex = null;\n }\n}\nexports.CFFPrivateDict = CFFPrivateDict;\nconst CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n};\nclass CFFCharset {\n constructor(predefined, format, charset, raw) {\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n }\n}\nexports.CFFCharset = CFFCharset;\nclass CFFEncoding {\n constructor(predefined, format, encoding, raw) {\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n }\n}\nclass CFFFDSelect {\n constructor(format, fdSelect) {\n this.format = format;\n this.fdSelect = fdSelect;\n }\n getFDIndex(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n return this.fdSelect[glyphIndex];\n }\n}\nexports.CFFFDSelect = CFFFDSelect;\nclass CFFOffsetTracker {\n constructor() {\n this.offsets = Object.create(null);\n }\n isTracking(key) {\n return key in this.offsets;\n }\n track(key, location) {\n if (key in this.offsets) {\n throw new _util.FormatError(`Already tracking location of ${key}`);\n }\n this.offsets[key] = location;\n }\n offset(value) {\n for (const key in this.offsets) {\n this.offsets[key] += value;\n }\n }\n setEntryLocation(key, values, output) {\n if (!(key in this.offsets)) {\n throw new _util.FormatError(`Not tracking location of ${key}`);\n }\n const data = output.data;\n const dataOffset = this.offsets[key];\n const size = 5;\n for (let i = 0, ii = values.length; i < ii; ++i) {\n const offset0 = i * size + dataOffset;\n const offset1 = offset0 + 1;\n const offset2 = offset0 + 2;\n const offset3 = offset0 + 3;\n const offset4 = offset0 + 4;\n if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n throw new _util.FormatError(\"writing to an offset that is not empty\");\n }\n const value = values[i];\n data[offset0] = 0x1d;\n data[offset1] = value >> 24 & 0xff;\n data[offset2] = value >> 16 & 0xff;\n data[offset3] = value >> 8 & 0xff;\n data[offset4] = value & 0xff;\n }\n }\n}\nclass CFFCompiler {\n constructor(cff) {\n this.cff = cff;\n }\n compile() {\n const cff = this.cff;\n const output = {\n data: [],\n length: 0,\n add(data) {\n try {\n this.data.push(...data);\n } catch {\n this.data = this.data.concat(data);\n }\n this.length = this.data.length;\n }\n };\n const header = this.compileHeader(cff.header);\n output.add(header);\n const nameIndex = this.compileNameIndex(cff.names);\n output.add(nameIndex);\n if (cff.isCIDFont) {\n if (cff.topDict.hasName(\"FontMatrix\")) {\n const base = cff.topDict.getByName(\"FontMatrix\");\n cff.topDict.removeByName(\"FontMatrix\");\n for (const subDict of cff.fdArray) {\n let matrix = base.slice(0);\n if (subDict.hasName(\"FontMatrix\")) {\n matrix = _util.Util.transform(matrix, subDict.getByName(\"FontMatrix\"));\n }\n subDict.setByName(\"FontMatrix\", matrix);\n }\n }\n }\n const xuid = cff.topDict.getByName(\"XUID\");\n if (xuid?.length > 16) {\n cff.topDict.removeByName(\"XUID\");\n }\n cff.topDict.setByName(\"charset\", 0);\n let compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n output.add(compiled.output);\n const topDictTracker = compiled.trackers[0];\n const stringIndex = this.compileStringIndex(cff.strings.strings);\n output.add(stringIndex);\n const globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n output.add(globalSubrIndex);\n if (cff.encoding && cff.topDict.hasName(\"Encoding\")) {\n if (cff.encoding.predefined) {\n topDictTracker.setEntryLocation(\"Encoding\", [cff.encoding.format], output);\n } else {\n const encoding = this.compileEncoding(cff.encoding);\n topDictTracker.setEntryLocation(\"Encoding\", [output.length], output);\n output.add(encoding);\n }\n }\n const charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);\n topDictTracker.setEntryLocation(\"charset\", [output.length], output);\n output.add(charset);\n const charStrings = this.compileCharStrings(cff.charStrings);\n topDictTracker.setEntryLocation(\"CharStrings\", [output.length], output);\n output.add(charStrings);\n if (cff.isCIDFont) {\n topDictTracker.setEntryLocation(\"FDSelect\", [output.length], output);\n const fdSelect = this.compileFDSelect(cff.fdSelect);\n output.add(fdSelect);\n compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n topDictTracker.setEntryLocation(\"FDArray\", [output.length], output);\n output.add(compiled.output);\n const fontDictTrackers = compiled.trackers;\n this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n }\n this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n output.add([0]);\n return output.data;\n }\n encodeNumber(value) {\n if (Number.isInteger(value)) {\n return this.encodeInteger(value);\n }\n return this.encodeFloat(value);\n }\n static get EncodeFloatRegExp() {\n return (0, _util.shadow)(this, \"EncodeFloatRegExp\", /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/);\n }\n encodeFloat(num) {\n let value = num.toString();\n const m = CFFCompiler.EncodeFloatRegExp.exec(value);\n if (m) {\n const epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(num * epsilon) / epsilon).toString();\n }\n let nibbles = \"\";\n let i, ii;\n for (i = 0, ii = value.length; i < ii; ++i) {\n const a = value[i];\n if (a === \"e\") {\n nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n } else if (a === \".\") {\n nibbles += \"a\";\n } else if (a === \"-\") {\n nibbles += \"e\";\n } else {\n nibbles += a;\n }\n }\n nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n const out = [30];\n for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substring(i, i + 2), 16));\n }\n return out;\n }\n encodeInteger(value) {\n let code;\n if (value >= -107 && value <= 107) {\n code = [value + 139];\n } else if (value >= 108 && value <= 1131) {\n value -= 108;\n code = [(value >> 8) + 247, value & 0xff];\n } else if (value >= -1131 && value <= -108) {\n value = -value - 108;\n code = [(value >> 8) + 251, value & 0xff];\n } else if (value >= -32768 && value <= 32767) {\n code = [0x1c, value >> 8 & 0xff, value & 0xff];\n } else {\n code = [0x1d, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff];\n }\n return code;\n }\n compileHeader(header) {\n return [header.major, header.minor, 4, header.offSize];\n }\n compileNameIndex(names) {\n const nameIndex = new CFFIndex();\n for (const name of names) {\n const length = Math.min(name.length, 127);\n let sanitizedName = new Array(length);\n for (let j = 0; j < length; j++) {\n let char = name[j];\n if (char < \"!\" || char > \"~\" || char === \"[\" || char === \"]\" || char === \"(\" || char === \")\" || char === \"{\" || char === \"}\" || char === \"<\" || char === \">\" || char === \"/\" || char === \"%\") {\n char = \"_\";\n }\n sanitizedName[j] = char;\n }\n sanitizedName = sanitizedName.join(\"\");\n if (sanitizedName === \"\") {\n sanitizedName = \"Bad_Font_Name\";\n }\n nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n }\n return this.compileIndex(nameIndex);\n }\n compileTopDicts(dicts, length, removeCidKeys) {\n const fontDictTrackers = [];\n let fdArrayIndex = new CFFIndex();\n for (const fontDict of dicts) {\n if (removeCidKeys) {\n fontDict.removeByName(\"CIDFontVersion\");\n fontDict.removeByName(\"CIDFontRevision\");\n fontDict.removeByName(\"CIDFontType\");\n fontDict.removeByName(\"CIDCount\");\n fontDict.removeByName(\"UIDBase\");\n }\n const fontDictTracker = new CFFOffsetTracker();\n const fontDictData = this.compileDict(fontDict, fontDictTracker);\n fontDictTrackers.push(fontDictTracker);\n fdArrayIndex.add(fontDictData);\n fontDictTracker.offset(length);\n }\n fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n return {\n trackers: fontDictTrackers,\n output: fdArrayIndex\n };\n }\n compilePrivateDicts(dicts, trackers, output) {\n for (let i = 0, ii = dicts.length; i < ii; ++i) {\n const fontDict = dicts[i];\n const privateDict = fontDict.privateDict;\n if (!privateDict || !fontDict.hasName(\"Private\")) {\n throw new _util.FormatError(\"There must be a private dictionary.\");\n }\n const privateDictTracker = new CFFOffsetTracker();\n const privateDictData = this.compileDict(privateDict, privateDictTracker);\n let outputLength = output.length;\n privateDictTracker.offset(outputLength);\n if (!privateDictData.length) {\n outputLength = 0;\n }\n trackers[i].setEntryLocation(\"Private\", [privateDictData.length, outputLength], output);\n output.add(privateDictData);\n if (privateDict.subrsIndex && privateDict.hasName(\"Subrs\")) {\n const subrs = this.compileIndex(privateDict.subrsIndex);\n privateDictTracker.setEntryLocation(\"Subrs\", [privateDictData.length], output);\n output.add(subrs);\n }\n }\n }\n compileDict(dict, offsetTracker) {\n const out = [];\n for (const key of dict.order) {\n if (!(key in dict.values)) {\n continue;\n }\n let values = dict.values[key];\n let types = dict.types[key];\n if (!Array.isArray(types)) {\n types = [types];\n }\n if (!Array.isArray(values)) {\n values = [values];\n }\n if (values.length === 0) {\n continue;\n }\n for (let j = 0, jj = types.length; j < jj; ++j) {\n const type = types[j];\n const value = values[j];\n switch (type) {\n case \"num\":\n case \"sid\":\n out.push(...this.encodeNumber(value));\n break;\n case \"offset\":\n const name = dict.keyToNameMap[key];\n if (!offsetTracker.isTracking(name)) {\n offsetTracker.track(name, out.length);\n }\n out.push(0x1d, 0, 0, 0, 0);\n break;\n case \"array\":\n case \"delta\":\n out.push(...this.encodeNumber(value));\n for (let k = 1, kk = values.length; k < kk; ++k) {\n out.push(...this.encodeNumber(values[k]));\n }\n break;\n default:\n throw new _util.FormatError(`Unknown data type of ${type}`);\n }\n }\n out.push(...dict.opcodes[key]);\n }\n return out;\n }\n compileStringIndex(strings) {\n const stringIndex = new CFFIndex();\n for (const string of strings) {\n stringIndex.add((0, _util.stringToBytes)(string));\n }\n return this.compileIndex(stringIndex);\n }\n compileCharStrings(charStrings) {\n const charStringsIndex = new CFFIndex();\n for (let i = 0; i < charStrings.count; i++) {\n const glyph = charStrings.get(i);\n if (glyph.length === 0) {\n charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));\n continue;\n }\n charStringsIndex.add(glyph);\n }\n return this.compileIndex(charStringsIndex);\n }\n compileCharset(charset, numGlyphs, strings, isCIDFont) {\n let out;\n const numGlyphsLessNotDef = numGlyphs - 1;\n if (isCIDFont) {\n out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xff, numGlyphsLessNotDef & 0xff]);\n } else {\n const length = 1 + numGlyphsLessNotDef * 2;\n out = new Uint8Array(length);\n out[0] = 0;\n let charsetIndex = 0;\n const numCharsets = charset.charset.length;\n let warned = false;\n for (let i = 1; i < out.length; i += 2) {\n let sid = 0;\n if (charsetIndex < numCharsets) {\n const name = charset.charset[charsetIndex++];\n sid = strings.getSID(name);\n if (sid === -1) {\n sid = 0;\n if (!warned) {\n warned = true;\n (0, _util.warn)(`Couldn't find ${name} in CFF strings`);\n }\n }\n }\n out[i] = sid >> 8 & 0xff;\n out[i + 1] = sid & 0xff;\n }\n }\n return this.compileTypedArray(out);\n }\n compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n }\n compileFDSelect(fdSelect) {\n const format = fdSelect.format;\n let out, i;\n switch (format) {\n case 0:\n out = new Uint8Array(1 + fdSelect.fdSelect.length);\n out[0] = format;\n for (i = 0; i < fdSelect.fdSelect.length; i++) {\n out[i + 1] = fdSelect.fdSelect[i];\n }\n break;\n case 3:\n const start = 0;\n let lastFD = fdSelect.fdSelect[0];\n const ranges = [format, 0, 0, start >> 8 & 0xff, start & 0xff, lastFD];\n for (i = 1; i < fdSelect.fdSelect.length; i++) {\n const currentFD = fdSelect.fdSelect[i];\n if (currentFD !== lastFD) {\n ranges.push(i >> 8 & 0xff, i & 0xff, currentFD);\n lastFD = currentFD;\n }\n }\n const numRanges = (ranges.length - 3) / 3;\n ranges[1] = numRanges >> 8 & 0xff;\n ranges[2] = numRanges & 0xff;\n ranges.push(i >> 8 & 0xff, i & 0xff);\n out = new Uint8Array(ranges);\n break;\n }\n return this.compileTypedArray(out);\n }\n compileTypedArray(data) {\n return Array.from(data);\n }\n compileIndex(index, trackers = []) {\n const objects = index.objects;\n const count = objects.length;\n if (count === 0) {\n return [0, 0];\n }\n const data = [count >> 8 & 0xff, count & 0xff];\n let lastOffset = 1,\n i;\n for (i = 0; i < count; ++i) {\n lastOffset += objects[i].length;\n }\n let offsetSize;\n if (lastOffset < 0x100) {\n offsetSize = 1;\n } else if (lastOffset < 0x10000) {\n offsetSize = 2;\n } else if (lastOffset < 0x1000000) {\n offsetSize = 3;\n } else {\n offsetSize = 4;\n }\n data.push(offsetSize);\n let relativeOffset = 1;\n for (i = 0; i < count + 1; i++) {\n if (offsetSize === 1) {\n data.push(relativeOffset & 0xff);\n } else if (offsetSize === 2) {\n data.push(relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n } else if (offsetSize === 3) {\n data.push(relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n } else {\n data.push(relativeOffset >>> 24 & 0xff, relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n }\n if (objects[i]) {\n relativeOffset += objects[i].length;\n }\n }\n for (i = 0; i < count; i++) {\n if (trackers[i]) {\n trackers[i].offset(data.length);\n }\n data.push(...objects[i]);\n }\n return data;\n }\n}\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 36 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ISOAdobeCharset = exports.ExpertSubsetCharset = exports.ExpertCharset = void 0;\nconst ISOAdobeCharset = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\"];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nconst ExpertCharset = [\".notdef\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertCharset = ExpertCharset;\nconst ExpertSubsetCharset = [\".notdef\", \"space\", \"dollaroldstyle\", \"dollarsuperior\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"hyphensuperior\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"centoldstyle\", \"figuredash\", \"hypheninferior\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\"];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 37 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ZapfDingbatsEncoding = exports.WinAnsiEncoding = exports.SymbolSetEncoding = exports.StandardEncoding = exports.MacRomanEncoding = exports.ExpertEncoding = void 0;\nexports.getEncoding = getEncoding;\nconst ExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"\", \"\", \"\", \"isuperior\", \"\", \"\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"\", \"\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"\", \"\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"\", \"Dotaccentsmall\", \"\", \"\", \"Macronsmall\", \"\", \"\", \"figuredash\", \"hypheninferior\", \"\", \"\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertEncoding = ExpertEncoding;\nconst MacExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"centoldstyle\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"\", \"threequartersemdash\", \"\", \"questionsmall\", \"\", \"\", \"\", \"\", \"Ethsmall\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"\", \"\", \"\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hypheninferior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"asuperior\", \"centsuperior\", \"\", \"\", \"\", \"\", \"Aacutesmall\", \"Agravesmall\", \"Acircumflexsmall\", \"Adieresissmall\", \"Atildesmall\", \"Aringsmall\", \"Ccedillasmall\", \"Eacutesmall\", \"Egravesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Iacutesmall\", \"Igravesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ntildesmall\", \"Oacutesmall\", \"Ogravesmall\", \"Ocircumflexsmall\", \"Odieresissmall\", \"Otildesmall\", \"Uacutesmall\", \"Ugravesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"\", \"eightsuperior\", \"fourinferior\", \"threeinferior\", \"sixinferior\", \"eightinferior\", \"seveninferior\", \"Scaronsmall\", \"\", \"centinferior\", \"twoinferior\", \"\", \"Dieresissmall\", \"\", \"Caronsmall\", \"osuperior\", \"fiveinferior\", \"\", \"commainferior\", \"periodinferior\", \"Yacutesmall\", \"\", \"dollarinferior\", \"\", \"\", \"Thornsmall\", \"\", \"nineinferior\", \"zeroinferior\", \"Zcaronsmall\", \"AEsmall\", \"Oslashsmall\", \"questiondownsmall\", \"oneinferior\", \"Lslashsmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"Cedillasmall\", \"\", \"\", \"\", \"\", \"\", \"OEsmall\", \"figuredash\", \"hyphensuperior\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"\", \"Ydieresissmall\", \"\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"ninesuperior\", \"zerosuperior\", \"\", \"esuperior\", \"rsuperior\", \"tsuperior\", \"\", \"\", \"isuperior\", \"ssuperior\", \"dsuperior\", \"\", \"\", \"\", \"\", \"\", \"lsuperior\", \"Ogoneksmall\", \"Brevesmall\", \"Macronsmall\", \"bsuperior\", \"nsuperior\", \"msuperior\", \"commasuperior\", \"periodsuperior\", \"Dotaccentsmall\", \"Ringsmall\", \"\", \"\", \"\", \"\"];\nconst MacRomanEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"space\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\"];\nexports.MacRomanEncoding = MacRomanEncoding;\nconst StandardEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"\", \"questiondown\", \"\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"\", \"ring\", \"cedilla\", \"\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"AE\", \"\", \"ordfeminine\", \"\", \"\", \"\", \"\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"\", \"\", \"\", \"\", \"\", \"ae\", \"\", \"\", \"\", \"dotlessi\", \"\", \"\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"\", \"\", \"\", \"\"];\nexports.StandardEncoding = StandardEncoding;\nconst WinAnsiEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"bullet\", \"Euro\", \"bullet\", \"quotesinglbase\", \"florin\", \"quotedblbase\", \"ellipsis\", \"dagger\", \"daggerdbl\", \"circumflex\", \"perthousand\", \"Scaron\", \"guilsinglleft\", \"OE\", \"bullet\", \"Zcaron\", \"bullet\", \"bullet\", \"quoteleft\", \"quoteright\", \"quotedblleft\", \"quotedblright\", \"bullet\", \"endash\", \"emdash\", \"tilde\", \"trademark\", \"scaron\", \"guilsinglright\", \"oe\", \"bullet\", \"zcaron\", \"Ydieresis\", \"space\", \"exclamdown\", \"cent\", \"sterling\", \"currency\", \"yen\", \"brokenbar\", \"section\", \"dieresis\", \"copyright\", \"ordfeminine\", \"guillemotleft\", \"logicalnot\", \"hyphen\", \"registered\", \"macron\", \"degree\", \"plusminus\", \"twosuperior\", \"threesuperior\", \"acute\", \"mu\", \"paragraph\", \"periodcentered\", \"cedilla\", \"onesuperior\", \"ordmasculine\", \"guillemotright\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondown\", \"Agrave\", \"Aacute\", \"Acircumflex\", \"Atilde\", \"Adieresis\", \"Aring\", \"AE\", \"Ccedilla\", \"Egrave\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Igrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Eth\", \"Ntilde\", \"Ograve\", \"Oacute\", \"Ocircumflex\", \"Otilde\", \"Odieresis\", \"multiply\", \"Oslash\", \"Ugrave\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Yacute\", \"Thorn\", \"germandbls\", \"agrave\", \"aacute\", \"acircumflex\", \"atilde\", \"adieresis\", \"aring\", \"ae\", \"ccedilla\", \"egrave\", \"eacute\", \"ecircumflex\", \"edieresis\", \"igrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"eth\", \"ntilde\", \"ograve\", \"oacute\", \"ocircumflex\", \"otilde\", \"odieresis\", \"divide\", \"oslash\", \"ugrave\", \"uacute\", \"ucircumflex\", \"udieresis\", \"yacute\", \"thorn\", \"ydieresis\"];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nconst SymbolSetEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"universal\", \"numbersign\", \"existential\", \"percent\", \"ampersand\", \"suchthat\", \"parenleft\", \"parenright\", \"asteriskmath\", \"plus\", \"comma\", \"minus\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"congruent\", \"Alpha\", \"Beta\", \"Chi\", \"Delta\", \"Epsilon\", \"Phi\", \"Gamma\", \"Eta\", \"Iota\", \"theta1\", \"Kappa\", \"Lambda\", \"Mu\", \"Nu\", \"Omicron\", \"Pi\", \"Theta\", \"Rho\", \"Sigma\", \"Tau\", \"Upsilon\", \"sigma1\", \"Omega\", \"Xi\", \"Psi\", \"Zeta\", \"bracketleft\", \"therefore\", \"bracketright\", \"perpendicular\", \"underscore\", \"radicalex\", \"alpha\", \"beta\", \"chi\", \"delta\", \"epsilon\", \"phi\", \"gamma\", \"eta\", \"iota\", \"phi1\", \"kappa\", \"lambda\", \"mu\", \"nu\", \"omicron\", \"pi\", \"theta\", \"rho\", \"sigma\", \"tau\", \"upsilon\", \"omega1\", \"omega\", \"xi\", \"psi\", \"zeta\", \"braceleft\", \"bar\", \"braceright\", \"similar\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"Euro\", \"Upsilon1\", \"minute\", \"lessequal\", \"fraction\", \"infinity\", \"florin\", \"club\", \"diamond\", \"heart\", \"spade\", \"arrowboth\", \"arrowleft\", \"arrowup\", \"arrowright\", \"arrowdown\", \"degree\", \"plusminus\", \"second\", \"greaterequal\", \"multiply\", \"proportional\", \"partialdiff\", \"bullet\", \"divide\", \"notequal\", \"equivalence\", \"approxequal\", \"ellipsis\", \"arrowvertex\", \"arrowhorizex\", \"carriagereturn\", \"aleph\", \"Ifraktur\", \"Rfraktur\", \"weierstrass\", \"circlemultiply\", \"circleplus\", \"emptyset\", \"intersection\", \"union\", \"propersuperset\", \"reflexsuperset\", \"notsubset\", \"propersubset\", \"reflexsubset\", \"element\", \"notelement\", \"angle\", \"gradient\", \"registerserif\", \"copyrightserif\", \"trademarkserif\", \"product\", \"radical\", \"dotmath\", \"logicalnot\", \"logicaland\", \"logicalor\", \"arrowdblboth\", \"arrowdblleft\", \"arrowdblup\", \"arrowdblright\", \"arrowdbldown\", \"lozenge\", \"angleleft\", \"registersans\", \"copyrightsans\", \"trademarksans\", \"summation\", \"parenlefttp\", \"parenleftex\", \"parenleftbt\", \"bracketlefttp\", \"bracketleftex\", \"bracketleftbt\", \"bracelefttp\", \"braceleftmid\", \"braceleftbt\", \"braceex\", \"\", \"angleright\", \"integral\", \"integraltp\", \"integralex\", \"integralbt\", \"parenrighttp\", \"parenrightex\", \"parenrightbt\", \"bracketrighttp\", \"bracketrightex\", \"bracketrightbt\", \"bracerighttp\", \"bracerightmid\", \"bracerightbt\", \"\"];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nconst ZapfDingbatsEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"a1\", \"a2\", \"a202\", \"a3\", \"a4\", \"a5\", \"a119\", \"a118\", \"a117\", \"a11\", \"a12\", \"a13\", \"a14\", \"a15\", \"a16\", \"a105\", \"a17\", \"a18\", \"a19\", \"a20\", \"a21\", \"a22\", \"a23\", \"a24\", \"a25\", \"a26\", \"a27\", \"a28\", \"a6\", \"a7\", \"a8\", \"a9\", \"a10\", \"a29\", \"a30\", \"a31\", \"a32\", \"a33\", \"a34\", \"a35\", \"a36\", \"a37\", \"a38\", \"a39\", \"a40\", \"a41\", \"a42\", \"a43\", \"a44\", \"a45\", \"a46\", \"a47\", \"a48\", \"a49\", \"a50\", \"a51\", \"a52\", \"a53\", \"a54\", \"a55\", \"a56\", \"a57\", \"a58\", \"a59\", \"a60\", \"a61\", \"a62\", \"a63\", \"a64\", \"a65\", \"a66\", \"a67\", \"a68\", \"a69\", \"a70\", \"a71\", \"a72\", \"a73\", \"a74\", \"a203\", \"a75\", \"a204\", \"a76\", \"a77\", \"a78\", \"a79\", \"a81\", \"a82\", \"a83\", \"a84\", \"a97\", \"a98\", \"a99\", \"a100\", \"\", \"a89\", \"a90\", \"a93\", \"a94\", \"a91\", \"a92\", \"a205\", \"a85\", \"a206\", \"a86\", \"a87\", \"a88\", \"a95\", \"a96\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"a101\", \"a102\", \"a103\", \"a104\", \"a106\", \"a107\", \"a108\", \"a112\", \"a111\", \"a110\", \"a109\", \"a120\", \"a121\", \"a122\", \"a123\", \"a124\", \"a125\", \"a126\", \"a127\", \"a128\", \"a129\", \"a130\", \"a131\", \"a132\", \"a133\", \"a134\", \"a135\", \"a136\", \"a137\", \"a138\", \"a139\", \"a140\", \"a141\", \"a142\", \"a143\", \"a144\", \"a145\", \"a146\", \"a147\", \"a148\", \"a149\", \"a150\", \"a151\", \"a152\", \"a153\", \"a154\", \"a155\", \"a156\", \"a157\", \"a158\", \"a159\", \"a160\", \"a161\", \"a163\", \"a164\", \"a196\", \"a165\", \"a192\", \"a166\", \"a167\", \"a168\", \"a169\", \"a170\", \"a171\", \"a172\", \"a173\", \"a162\", \"a174\", \"a175\", \"a176\", \"a177\", \"a178\", \"a179\", \"a193\", \"a180\", \"a199\", \"a181\", \"a200\", \"a182\", \"\", \"a201\", \"a183\", \"a184\", \"a197\", \"a185\", \"a194\", \"a198\", \"a186\", \"a195\", \"a187\", \"a188\", \"a189\", \"a190\", \"a191\", \"\"];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\nfunction getEncoding(encodingName) {\n switch (encodingName) {\n case \"WinAnsiEncoding\":\n return WinAnsiEncoding;\n case \"StandardEncoding\":\n return StandardEncoding;\n case \"MacRomanEncoding\":\n return MacRomanEncoding;\n case \"SymbolSetEncoding\":\n return SymbolSetEncoding;\n case \"ZapfDingbatsEncoding\":\n return ZapfDingbatsEncoding;\n case \"ExpertEncoding\":\n return ExpertEncoding;\n case \"MacExpertEncoding\":\n return MacExpertEncoding;\n default:\n return null;\n }\n}\n\n/***/ }),\n/* 38 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SEAC_ANALYSIS_ENABLED = exports.MacStandardGlyphOrdering = exports.FontFlags = void 0;\nexports.normalizeFontName = normalizeFontName;\nexports.recoverGlyphName = recoverGlyphName;\nexports.type1FontGlyphMapping = type1FontGlyphMapping;\nvar _encodings = __w_pdfjs_require__(37);\nvar _glyphlist = __w_pdfjs_require__(39);\nvar _unicode = __w_pdfjs_require__(40);\nvar _util = __w_pdfjs_require__(2);\nconst SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nconst FontFlags = {\n FixedPitch: 1,\n Serif: 2,\n Symbolic: 4,\n Script: 8,\n Nonsymbolic: 32,\n Italic: 64,\n AllCap: 65536,\n SmallCap: 131072,\n ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nconst MacStandardGlyphOrdering = [\".notdef\", \".null\", \"nonmarkingreturn\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"nonbreakingspace\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"Lslash\", \"lslash\", \"Scaron\", \"scaron\", \"Zcaron\", \"zcaron\", \"brokenbar\", \"Eth\", \"eth\", \"Yacute\", \"yacute\", \"Thorn\", \"thorn\", \"minus\", \"multiply\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"onehalf\", \"onequarter\", \"threequarters\", \"franc\", \"Gbreve\", \"gbreve\", \"Idotaccent\", \"Scedilla\", \"scedilla\", \"Cacute\", \"cacute\", \"Ccaron\", \"ccaron\", \"dcroat\"];\nexports.MacStandardGlyphOrdering = MacStandardGlyphOrdering;\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n if (glyphsUnicodeMap[name] !== undefined) {\n return name;\n }\n const unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n if (unicode !== -1) {\n for (const key in glyphsUnicodeMap) {\n if (glyphsUnicodeMap[key] === unicode) {\n return key;\n }\n }\n }\n (0, _util.info)(\"Unable to recover a standard glyph name for: \" + name);\n return name;\n}\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n const charCodeToGlyphId = Object.create(null);\n let glyphId, charCode, baseEncoding;\n const isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n if (properties.isInternalFont) {\n baseEncoding = builtInEncoding;\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n charCodeToGlyphId[charCode] = glyphId >= 0 ? glyphId : 0;\n }\n } else if (properties.baseEncodingName) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n charCodeToGlyphId[charCode] = glyphId >= 0 ? glyphId : 0;\n }\n } else if (isSymbolicFont) {\n for (charCode in builtInEncoding) {\n charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n }\n } else {\n baseEncoding = _encodings.StandardEncoding;\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n charCodeToGlyphId[charCode] = glyphId >= 0 ? glyphId : 0;\n }\n }\n const differences = properties.differences;\n let glyphsUnicodeMap;\n if (differences) {\n for (charCode in differences) {\n const glyphName = differences[charCode];\n glyphId = glyphNames.indexOf(glyphName);\n if (glyphId === -1) {\n if (!glyphsUnicodeMap) {\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n }\n const standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n if (standardGlyphName !== glyphName) {\n glyphId = glyphNames.indexOf(standardGlyphName);\n }\n }\n charCodeToGlyphId[charCode] = glyphId >= 0 ? glyphId : 0;\n }\n }\n return charCodeToGlyphId;\n}\nfunction normalizeFontName(name) {\n return name.replaceAll(/[,_]/g, \"-\").replaceAll(/\\s/g, \"\");\n}\n\n/***/ }),\n/* 39 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getGlyphsUnicode = exports.getDingbatsGlyphsUnicode = void 0;\nvar _core_utils = __w_pdfjs_require__(3);\nconst getGlyphsUnicode = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.A = 0x0041;\n t.AE = 0x00c6;\n t.AEacute = 0x01fc;\n t.AEmacron = 0x01e2;\n t.AEsmall = 0xf7e6;\n t.Aacute = 0x00c1;\n t.Aacutesmall = 0xf7e1;\n t.Abreve = 0x0102;\n t.Abreveacute = 0x1eae;\n t.Abrevecyrillic = 0x04d0;\n t.Abrevedotbelow = 0x1eb6;\n t.Abrevegrave = 0x1eb0;\n t.Abrevehookabove = 0x1eb2;\n t.Abrevetilde = 0x1eb4;\n t.Acaron = 0x01cd;\n t.Acircle = 0x24b6;\n t.Acircumflex = 0x00c2;\n t.Acircumflexacute = 0x1ea4;\n t.Acircumflexdotbelow = 0x1eac;\n t.Acircumflexgrave = 0x1ea6;\n t.Acircumflexhookabove = 0x1ea8;\n t.Acircumflexsmall = 0xf7e2;\n t.Acircumflextilde = 0x1eaa;\n t.Acute = 0xf6c9;\n t.Acutesmall = 0xf7b4;\n t.Acyrillic = 0x0410;\n t.Adblgrave = 0x0200;\n t.Adieresis = 0x00c4;\n t.Adieresiscyrillic = 0x04d2;\n t.Adieresismacron = 0x01de;\n t.Adieresissmall = 0xf7e4;\n t.Adotbelow = 0x1ea0;\n t.Adotmacron = 0x01e0;\n t.Agrave = 0x00c0;\n t.Agravesmall = 0xf7e0;\n t.Ahookabove = 0x1ea2;\n t.Aiecyrillic = 0x04d4;\n t.Ainvertedbreve = 0x0202;\n t.Alpha = 0x0391;\n t.Alphatonos = 0x0386;\n t.Amacron = 0x0100;\n t.Amonospace = 0xff21;\n t.Aogonek = 0x0104;\n t.Aring = 0x00c5;\n t.Aringacute = 0x01fa;\n t.Aringbelow = 0x1e00;\n t.Aringsmall = 0xf7e5;\n t.Asmall = 0xf761;\n t.Atilde = 0x00c3;\n t.Atildesmall = 0xf7e3;\n t.Aybarmenian = 0x0531;\n t.B = 0x0042;\n t.Bcircle = 0x24b7;\n t.Bdotaccent = 0x1e02;\n t.Bdotbelow = 0x1e04;\n t.Becyrillic = 0x0411;\n t.Benarmenian = 0x0532;\n t.Beta = 0x0392;\n t.Bhook = 0x0181;\n t.Blinebelow = 0x1e06;\n t.Bmonospace = 0xff22;\n t.Brevesmall = 0xf6f4;\n t.Bsmall = 0xf762;\n t.Btopbar = 0x0182;\n t.C = 0x0043;\n t.Caarmenian = 0x053e;\n t.Cacute = 0x0106;\n t.Caron = 0xf6ca;\n t.Caronsmall = 0xf6f5;\n t.Ccaron = 0x010c;\n t.Ccedilla = 0x00c7;\n t.Ccedillaacute = 0x1e08;\n t.Ccedillasmall = 0xf7e7;\n t.Ccircle = 0x24b8;\n t.Ccircumflex = 0x0108;\n t.Cdot = 0x010a;\n t.Cdotaccent = 0x010a;\n t.Cedillasmall = 0xf7b8;\n t.Chaarmenian = 0x0549;\n t.Cheabkhasiancyrillic = 0x04bc;\n t.Checyrillic = 0x0427;\n t.Chedescenderabkhasiancyrillic = 0x04be;\n t.Chedescendercyrillic = 0x04b6;\n t.Chedieresiscyrillic = 0x04f4;\n t.Cheharmenian = 0x0543;\n t.Chekhakassiancyrillic = 0x04cb;\n t.Cheverticalstrokecyrillic = 0x04b8;\n t.Chi = 0x03a7;\n t.Chook = 0x0187;\n t.Circumflexsmall = 0xf6f6;\n t.Cmonospace = 0xff23;\n t.Coarmenian = 0x0551;\n t.Csmall = 0xf763;\n t.D = 0x0044;\n t.DZ = 0x01f1;\n t.DZcaron = 0x01c4;\n t.Daarmenian = 0x0534;\n t.Dafrican = 0x0189;\n t.Dcaron = 0x010e;\n t.Dcedilla = 0x1e10;\n t.Dcircle = 0x24b9;\n t.Dcircumflexbelow = 0x1e12;\n t.Dcroat = 0x0110;\n t.Ddotaccent = 0x1e0a;\n t.Ddotbelow = 0x1e0c;\n t.Decyrillic = 0x0414;\n t.Deicoptic = 0x03ee;\n t.Delta = 0x2206;\n t.Deltagreek = 0x0394;\n t.Dhook = 0x018a;\n t.Dieresis = 0xf6cb;\n t.DieresisAcute = 0xf6cc;\n t.DieresisGrave = 0xf6cd;\n t.Dieresissmall = 0xf7a8;\n t.Digammagreek = 0x03dc;\n t.Djecyrillic = 0x0402;\n t.Dlinebelow = 0x1e0e;\n t.Dmonospace = 0xff24;\n t.Dotaccentsmall = 0xf6f7;\n t.Dslash = 0x0110;\n t.Dsmall = 0xf764;\n t.Dtopbar = 0x018b;\n t.Dz = 0x01f2;\n t.Dzcaron = 0x01c5;\n t.Dzeabkhasiancyrillic = 0x04e0;\n t.Dzecyrillic = 0x0405;\n t.Dzhecyrillic = 0x040f;\n t.E = 0x0045;\n t.Eacute = 0x00c9;\n t.Eacutesmall = 0xf7e9;\n t.Ebreve = 0x0114;\n t.Ecaron = 0x011a;\n t.Ecedillabreve = 0x1e1c;\n t.Echarmenian = 0x0535;\n t.Ecircle = 0x24ba;\n t.Ecircumflex = 0x00ca;\n t.Ecircumflexacute = 0x1ebe;\n t.Ecircumflexbelow = 0x1e18;\n t.Ecircumflexdotbelow = 0x1ec6;\n t.Ecircumflexgrave = 0x1ec0;\n t.Ecircumflexhookabove = 0x1ec2;\n t.Ecircumflexsmall = 0xf7ea;\n t.Ecircumflextilde = 0x1ec4;\n t.Ecyrillic = 0x0404;\n t.Edblgrave = 0x0204;\n t.Edieresis = 0x00cb;\n t.Edieresissmall = 0xf7eb;\n t.Edot = 0x0116;\n t.Edotaccent = 0x0116;\n t.Edotbelow = 0x1eb8;\n t.Efcyrillic = 0x0424;\n t.Egrave = 0x00c8;\n t.Egravesmall = 0xf7e8;\n t.Eharmenian = 0x0537;\n t.Ehookabove = 0x1eba;\n t.Eightroman = 0x2167;\n t.Einvertedbreve = 0x0206;\n t.Eiotifiedcyrillic = 0x0464;\n t.Elcyrillic = 0x041b;\n t.Elevenroman = 0x216a;\n t.Emacron = 0x0112;\n t.Emacronacute = 0x1e16;\n t.Emacrongrave = 0x1e14;\n t.Emcyrillic = 0x041c;\n t.Emonospace = 0xff25;\n t.Encyrillic = 0x041d;\n t.Endescendercyrillic = 0x04a2;\n t.Eng = 0x014a;\n t.Enghecyrillic = 0x04a4;\n t.Enhookcyrillic = 0x04c7;\n t.Eogonek = 0x0118;\n t.Eopen = 0x0190;\n t.Epsilon = 0x0395;\n t.Epsilontonos = 0x0388;\n t.Ercyrillic = 0x0420;\n t.Ereversed = 0x018e;\n t.Ereversedcyrillic = 0x042d;\n t.Escyrillic = 0x0421;\n t.Esdescendercyrillic = 0x04aa;\n t.Esh = 0x01a9;\n t.Esmall = 0xf765;\n t.Eta = 0x0397;\n t.Etarmenian = 0x0538;\n t.Etatonos = 0x0389;\n t.Eth = 0x00d0;\n t.Ethsmall = 0xf7f0;\n t.Etilde = 0x1ebc;\n t.Etildebelow = 0x1e1a;\n t.Euro = 0x20ac;\n t.Ezh = 0x01b7;\n t.Ezhcaron = 0x01ee;\n t.Ezhreversed = 0x01b8;\n t.F = 0x0046;\n t.Fcircle = 0x24bb;\n t.Fdotaccent = 0x1e1e;\n t.Feharmenian = 0x0556;\n t.Feicoptic = 0x03e4;\n t.Fhook = 0x0191;\n t.Fitacyrillic = 0x0472;\n t.Fiveroman = 0x2164;\n t.Fmonospace = 0xff26;\n t.Fourroman = 0x2163;\n t.Fsmall = 0xf766;\n t.G = 0x0047;\n t.GBsquare = 0x3387;\n t.Gacute = 0x01f4;\n t.Gamma = 0x0393;\n t.Gammaafrican = 0x0194;\n t.Gangiacoptic = 0x03ea;\n t.Gbreve = 0x011e;\n t.Gcaron = 0x01e6;\n t.Gcedilla = 0x0122;\n t.Gcircle = 0x24bc;\n t.Gcircumflex = 0x011c;\n t.Gcommaaccent = 0x0122;\n t.Gdot = 0x0120;\n t.Gdotaccent = 0x0120;\n t.Gecyrillic = 0x0413;\n t.Ghadarmenian = 0x0542;\n t.Ghemiddlehookcyrillic = 0x0494;\n t.Ghestrokecyrillic = 0x0492;\n t.Gheupturncyrillic = 0x0490;\n t.Ghook = 0x0193;\n t.Gimarmenian = 0x0533;\n t.Gjecyrillic = 0x0403;\n t.Gmacron = 0x1e20;\n t.Gmonospace = 0xff27;\n t.Grave = 0xf6ce;\n t.Gravesmall = 0xf760;\n t.Gsmall = 0xf767;\n t.Gsmallhook = 0x029b;\n t.Gstroke = 0x01e4;\n t.H = 0x0048;\n t.H18533 = 0x25cf;\n t.H18543 = 0x25aa;\n t.H18551 = 0x25ab;\n t.H22073 = 0x25a1;\n t.HPsquare = 0x33cb;\n t.Haabkhasiancyrillic = 0x04a8;\n t.Hadescendercyrillic = 0x04b2;\n t.Hardsigncyrillic = 0x042a;\n t.Hbar = 0x0126;\n t.Hbrevebelow = 0x1e2a;\n t.Hcedilla = 0x1e28;\n t.Hcircle = 0x24bd;\n t.Hcircumflex = 0x0124;\n t.Hdieresis = 0x1e26;\n t.Hdotaccent = 0x1e22;\n t.Hdotbelow = 0x1e24;\n t.Hmonospace = 0xff28;\n t.Hoarmenian = 0x0540;\n t.Horicoptic = 0x03e8;\n t.Hsmall = 0xf768;\n t.Hungarumlaut = 0xf6cf;\n t.Hungarumlautsmall = 0xf6f8;\n t.Hzsquare = 0x3390;\n t.I = 0x0049;\n t.IAcyrillic = 0x042f;\n t.IJ = 0x0132;\n t.IUcyrillic = 0x042e;\n t.Iacute = 0x00cd;\n t.Iacutesmall = 0xf7ed;\n t.Ibreve = 0x012c;\n t.Icaron = 0x01cf;\n t.Icircle = 0x24be;\n t.Icircumflex = 0x00ce;\n t.Icircumflexsmall = 0xf7ee;\n t.Icyrillic = 0x0406;\n t.Idblgrave = 0x0208;\n t.Idieresis = 0x00cf;\n t.Idieresisacute = 0x1e2e;\n t.Idieresiscyrillic = 0x04e4;\n t.Idieresissmall = 0xf7ef;\n t.Idot = 0x0130;\n t.Idotaccent = 0x0130;\n t.Idotbelow = 0x1eca;\n t.Iebrevecyrillic = 0x04d6;\n t.Iecyrillic = 0x0415;\n t.Ifraktur = 0x2111;\n t.Igrave = 0x00cc;\n t.Igravesmall = 0xf7ec;\n t.Ihookabove = 0x1ec8;\n t.Iicyrillic = 0x0418;\n t.Iinvertedbreve = 0x020a;\n t.Iishortcyrillic = 0x0419;\n t.Imacron = 0x012a;\n t.Imacroncyrillic = 0x04e2;\n t.Imonospace = 0xff29;\n t.Iniarmenian = 0x053b;\n t.Iocyrillic = 0x0401;\n t.Iogonek = 0x012e;\n t.Iota = 0x0399;\n t.Iotaafrican = 0x0196;\n t.Iotadieresis = 0x03aa;\n t.Iotatonos = 0x038a;\n t.Ismall = 0xf769;\n t.Istroke = 0x0197;\n t.Itilde = 0x0128;\n t.Itildebelow = 0x1e2c;\n t.Izhitsacyrillic = 0x0474;\n t.Izhitsadblgravecyrillic = 0x0476;\n t.J = 0x004a;\n t.Jaarmenian = 0x0541;\n t.Jcircle = 0x24bf;\n t.Jcircumflex = 0x0134;\n t.Jecyrillic = 0x0408;\n t.Jheharmenian = 0x054b;\n t.Jmonospace = 0xff2a;\n t.Jsmall = 0xf76a;\n t.K = 0x004b;\n t.KBsquare = 0x3385;\n t.KKsquare = 0x33cd;\n t.Kabashkircyrillic = 0x04a0;\n t.Kacute = 0x1e30;\n t.Kacyrillic = 0x041a;\n t.Kadescendercyrillic = 0x049a;\n t.Kahookcyrillic = 0x04c3;\n t.Kappa = 0x039a;\n t.Kastrokecyrillic = 0x049e;\n t.Kaverticalstrokecyrillic = 0x049c;\n t.Kcaron = 0x01e8;\n t.Kcedilla = 0x0136;\n t.Kcircle = 0x24c0;\n t.Kcommaaccent = 0x0136;\n t.Kdotbelow = 0x1e32;\n t.Keharmenian = 0x0554;\n t.Kenarmenian = 0x053f;\n t.Khacyrillic = 0x0425;\n t.Kheicoptic = 0x03e6;\n t.Khook = 0x0198;\n t.Kjecyrillic = 0x040c;\n t.Klinebelow = 0x1e34;\n t.Kmonospace = 0xff2b;\n t.Koppacyrillic = 0x0480;\n t.Koppagreek = 0x03de;\n t.Ksicyrillic = 0x046e;\n t.Ksmall = 0xf76b;\n t.L = 0x004c;\n t.LJ = 0x01c7;\n t.LL = 0xf6bf;\n t.Lacute = 0x0139;\n t.Lambda = 0x039b;\n t.Lcaron = 0x013d;\n t.Lcedilla = 0x013b;\n t.Lcircle = 0x24c1;\n t.Lcircumflexbelow = 0x1e3c;\n t.Lcommaaccent = 0x013b;\n t.Ldot = 0x013f;\n t.Ldotaccent = 0x013f;\n t.Ldotbelow = 0x1e36;\n t.Ldotbelowmacron = 0x1e38;\n t.Liwnarmenian = 0x053c;\n t.Lj = 0x01c8;\n t.Ljecyrillic = 0x0409;\n t.Llinebelow = 0x1e3a;\n t.Lmonospace = 0xff2c;\n t.Lslash = 0x0141;\n t.Lslashsmall = 0xf6f9;\n t.Lsmall = 0xf76c;\n t.M = 0x004d;\n t.MBsquare = 0x3386;\n t.Macron = 0xf6d0;\n t.Macronsmall = 0xf7af;\n t.Macute = 0x1e3e;\n t.Mcircle = 0x24c2;\n t.Mdotaccent = 0x1e40;\n t.Mdotbelow = 0x1e42;\n t.Menarmenian = 0x0544;\n t.Mmonospace = 0xff2d;\n t.Msmall = 0xf76d;\n t.Mturned = 0x019c;\n t.Mu = 0x039c;\n t.N = 0x004e;\n t.NJ = 0x01ca;\n t.Nacute = 0x0143;\n t.Ncaron = 0x0147;\n t.Ncedilla = 0x0145;\n t.Ncircle = 0x24c3;\n t.Ncircumflexbelow = 0x1e4a;\n t.Ncommaaccent = 0x0145;\n t.Ndotaccent = 0x1e44;\n t.Ndotbelow = 0x1e46;\n t.Nhookleft = 0x019d;\n t.Nineroman = 0x2168;\n t.Nj = 0x01cb;\n t.Njecyrillic = 0x040a;\n t.Nlinebelow = 0x1e48;\n t.Nmonospace = 0xff2e;\n t.Nowarmenian = 0x0546;\n t.Nsmall = 0xf76e;\n t.Ntilde = 0x00d1;\n t.Ntildesmall = 0xf7f1;\n t.Nu = 0x039d;\n t.O = 0x004f;\n t.OE = 0x0152;\n t.OEsmall = 0xf6fa;\n t.Oacute = 0x00d3;\n t.Oacutesmall = 0xf7f3;\n t.Obarredcyrillic = 0x04e8;\n t.Obarreddieresiscyrillic = 0x04ea;\n t.Obreve = 0x014e;\n t.Ocaron = 0x01d1;\n t.Ocenteredtilde = 0x019f;\n t.Ocircle = 0x24c4;\n t.Ocircumflex = 0x00d4;\n t.Ocircumflexacute = 0x1ed0;\n t.Ocircumflexdotbelow = 0x1ed8;\n t.Ocircumflexgrave = 0x1ed2;\n t.Ocircumflexhookabove = 0x1ed4;\n t.Ocircumflexsmall = 0xf7f4;\n t.Ocircumflextilde = 0x1ed6;\n t.Ocyrillic = 0x041e;\n t.Odblacute = 0x0150;\n t.Odblgrave = 0x020c;\n t.Odieresis = 0x00d6;\n t.Odieresiscyrillic = 0x04e6;\n t.Odieresissmall = 0xf7f6;\n t.Odotbelow = 0x1ecc;\n t.Ogoneksmall = 0xf6fb;\n t.Ograve = 0x00d2;\n t.Ogravesmall = 0xf7f2;\n t.Oharmenian = 0x0555;\n t.Ohm = 0x2126;\n t.Ohookabove = 0x1ece;\n t.Ohorn = 0x01a0;\n t.Ohornacute = 0x1eda;\n t.Ohorndotbelow = 0x1ee2;\n t.Ohorngrave = 0x1edc;\n t.Ohornhookabove = 0x1ede;\n t.Ohorntilde = 0x1ee0;\n t.Ohungarumlaut = 0x0150;\n t.Oi = 0x01a2;\n t.Oinvertedbreve = 0x020e;\n t.Omacron = 0x014c;\n t.Omacronacute = 0x1e52;\n t.Omacrongrave = 0x1e50;\n t.Omega = 0x2126;\n t.Omegacyrillic = 0x0460;\n t.Omegagreek = 0x03a9;\n t.Omegaroundcyrillic = 0x047a;\n t.Omegatitlocyrillic = 0x047c;\n t.Omegatonos = 0x038f;\n t.Omicron = 0x039f;\n t.Omicrontonos = 0x038c;\n t.Omonospace = 0xff2f;\n t.Oneroman = 0x2160;\n t.Oogonek = 0x01ea;\n t.Oogonekmacron = 0x01ec;\n t.Oopen = 0x0186;\n t.Oslash = 0x00d8;\n t.Oslashacute = 0x01fe;\n t.Oslashsmall = 0xf7f8;\n t.Osmall = 0xf76f;\n t.Ostrokeacute = 0x01fe;\n t.Otcyrillic = 0x047e;\n t.Otilde = 0x00d5;\n t.Otildeacute = 0x1e4c;\n t.Otildedieresis = 0x1e4e;\n t.Otildesmall = 0xf7f5;\n t.P = 0x0050;\n t.Pacute = 0x1e54;\n t.Pcircle = 0x24c5;\n t.Pdotaccent = 0x1e56;\n t.Pecyrillic = 0x041f;\n t.Peharmenian = 0x054a;\n t.Pemiddlehookcyrillic = 0x04a6;\n t.Phi = 0x03a6;\n t.Phook = 0x01a4;\n t.Pi = 0x03a0;\n t.Piwrarmenian = 0x0553;\n t.Pmonospace = 0xff30;\n t.Psi = 0x03a8;\n t.Psicyrillic = 0x0470;\n t.Psmall = 0xf770;\n t.Q = 0x0051;\n t.Qcircle = 0x24c6;\n t.Qmonospace = 0xff31;\n t.Qsmall = 0xf771;\n t.R = 0x0052;\n t.Raarmenian = 0x054c;\n t.Racute = 0x0154;\n t.Rcaron = 0x0158;\n t.Rcedilla = 0x0156;\n t.Rcircle = 0x24c7;\n t.Rcommaaccent = 0x0156;\n t.Rdblgrave = 0x0210;\n t.Rdotaccent = 0x1e58;\n t.Rdotbelow = 0x1e5a;\n t.Rdotbelowmacron = 0x1e5c;\n t.Reharmenian = 0x0550;\n t.Rfraktur = 0x211c;\n t.Rho = 0x03a1;\n t.Ringsmall = 0xf6fc;\n t.Rinvertedbreve = 0x0212;\n t.Rlinebelow = 0x1e5e;\n t.Rmonospace = 0xff32;\n t.Rsmall = 0xf772;\n t.Rsmallinverted = 0x0281;\n t.Rsmallinvertedsuperior = 0x02b6;\n t.S = 0x0053;\n t.SF010000 = 0x250c;\n t.SF020000 = 0x2514;\n t.SF030000 = 0x2510;\n t.SF040000 = 0x2518;\n t.SF050000 = 0x253c;\n t.SF060000 = 0x252c;\n t.SF070000 = 0x2534;\n t.SF080000 = 0x251c;\n t.SF090000 = 0x2524;\n t.SF100000 = 0x2500;\n t.SF110000 = 0x2502;\n t.SF190000 = 0x2561;\n t.SF200000 = 0x2562;\n t.SF210000 = 0x2556;\n t.SF220000 = 0x2555;\n t.SF230000 = 0x2563;\n t.SF240000 = 0x2551;\n t.SF250000 = 0x2557;\n t.SF260000 = 0x255d;\n t.SF270000 = 0x255c;\n t.SF280000 = 0x255b;\n t.SF360000 = 0x255e;\n t.SF370000 = 0x255f;\n t.SF380000 = 0x255a;\n t.SF390000 = 0x2554;\n t.SF400000 = 0x2569;\n t.SF410000 = 0x2566;\n t.SF420000 = 0x2560;\n t.SF430000 = 0x2550;\n t.SF440000 = 0x256c;\n t.SF450000 = 0x2567;\n t.SF460000 = 0x2568;\n t.SF470000 = 0x2564;\n t.SF480000 = 0x2565;\n t.SF490000 = 0x2559;\n t.SF500000 = 0x2558;\n t.SF510000 = 0x2552;\n t.SF520000 = 0x2553;\n t.SF530000 = 0x256b;\n t.SF540000 = 0x256a;\n t.Sacute = 0x015a;\n t.Sacutedotaccent = 0x1e64;\n t.Sampigreek = 0x03e0;\n t.Scaron = 0x0160;\n t.Scarondotaccent = 0x1e66;\n t.Scaronsmall = 0xf6fd;\n t.Scedilla = 0x015e;\n t.Schwa = 0x018f;\n t.Schwacyrillic = 0x04d8;\n t.Schwadieresiscyrillic = 0x04da;\n t.Scircle = 0x24c8;\n t.Scircumflex = 0x015c;\n t.Scommaaccent = 0x0218;\n t.Sdotaccent = 0x1e60;\n t.Sdotbelow = 0x1e62;\n t.Sdotbelowdotaccent = 0x1e68;\n t.Seharmenian = 0x054d;\n t.Sevenroman = 0x2166;\n t.Shaarmenian = 0x0547;\n t.Shacyrillic = 0x0428;\n t.Shchacyrillic = 0x0429;\n t.Sheicoptic = 0x03e2;\n t.Shhacyrillic = 0x04ba;\n t.Shimacoptic = 0x03ec;\n t.Sigma = 0x03a3;\n t.Sixroman = 0x2165;\n t.Smonospace = 0xff33;\n t.Softsigncyrillic = 0x042c;\n t.Ssmall = 0xf773;\n t.Stigmagreek = 0x03da;\n t.T = 0x0054;\n t.Tau = 0x03a4;\n t.Tbar = 0x0166;\n t.Tcaron = 0x0164;\n t.Tcedilla = 0x0162;\n t.Tcircle = 0x24c9;\n t.Tcircumflexbelow = 0x1e70;\n t.Tcommaaccent = 0x0162;\n t.Tdotaccent = 0x1e6a;\n t.Tdotbelow = 0x1e6c;\n t.Tecyrillic = 0x0422;\n t.Tedescendercyrillic = 0x04ac;\n t.Tenroman = 0x2169;\n t.Tetsecyrillic = 0x04b4;\n t.Theta = 0x0398;\n t.Thook = 0x01ac;\n t.Thorn = 0x00de;\n t.Thornsmall = 0xf7fe;\n t.Threeroman = 0x2162;\n t.Tildesmall = 0xf6fe;\n t.Tiwnarmenian = 0x054f;\n t.Tlinebelow = 0x1e6e;\n t.Tmonospace = 0xff34;\n t.Toarmenian = 0x0539;\n t.Tonefive = 0x01bc;\n t.Tonesix = 0x0184;\n t.Tonetwo = 0x01a7;\n t.Tretroflexhook = 0x01ae;\n t.Tsecyrillic = 0x0426;\n t.Tshecyrillic = 0x040b;\n t.Tsmall = 0xf774;\n t.Twelveroman = 0x216b;\n t.Tworoman = 0x2161;\n t.U = 0x0055;\n t.Uacute = 0x00da;\n t.Uacutesmall = 0xf7fa;\n t.Ubreve = 0x016c;\n t.Ucaron = 0x01d3;\n t.Ucircle = 0x24ca;\n t.Ucircumflex = 0x00db;\n t.Ucircumflexbelow = 0x1e76;\n t.Ucircumflexsmall = 0xf7fb;\n t.Ucyrillic = 0x0423;\n t.Udblacute = 0x0170;\n t.Udblgrave = 0x0214;\n t.Udieresis = 0x00dc;\n t.Udieresisacute = 0x01d7;\n t.Udieresisbelow = 0x1e72;\n t.Udieresiscaron = 0x01d9;\n t.Udieresiscyrillic = 0x04f0;\n t.Udieresisgrave = 0x01db;\n t.Udieresismacron = 0x01d5;\n t.Udieresissmall = 0xf7fc;\n t.Udotbelow = 0x1ee4;\n t.Ugrave = 0x00d9;\n t.Ugravesmall = 0xf7f9;\n t.Uhookabove = 0x1ee6;\n t.Uhorn = 0x01af;\n t.Uhornacute = 0x1ee8;\n t.Uhorndotbelow = 0x1ef0;\n t.Uhorngrave = 0x1eea;\n t.Uhornhookabove = 0x1eec;\n t.Uhorntilde = 0x1eee;\n t.Uhungarumlaut = 0x0170;\n t.Uhungarumlautcyrillic = 0x04f2;\n t.Uinvertedbreve = 0x0216;\n t.Ukcyrillic = 0x0478;\n t.Umacron = 0x016a;\n t.Umacroncyrillic = 0x04ee;\n t.Umacrondieresis = 0x1e7a;\n t.Umonospace = 0xff35;\n t.Uogonek = 0x0172;\n t.Upsilon = 0x03a5;\n t.Upsilon1 = 0x03d2;\n t.Upsilonacutehooksymbolgreek = 0x03d3;\n t.Upsilonafrican = 0x01b1;\n t.Upsilondieresis = 0x03ab;\n t.Upsilondieresishooksymbolgreek = 0x03d4;\n t.Upsilonhooksymbol = 0x03d2;\n t.Upsilontonos = 0x038e;\n t.Uring = 0x016e;\n t.Ushortcyrillic = 0x040e;\n t.Usmall = 0xf775;\n t.Ustraightcyrillic = 0x04ae;\n t.Ustraightstrokecyrillic = 0x04b0;\n t.Utilde = 0x0168;\n t.Utildeacute = 0x1e78;\n t.Utildebelow = 0x1e74;\n t.V = 0x0056;\n t.Vcircle = 0x24cb;\n t.Vdotbelow = 0x1e7e;\n t.Vecyrillic = 0x0412;\n t.Vewarmenian = 0x054e;\n t.Vhook = 0x01b2;\n t.Vmonospace = 0xff36;\n t.Voarmenian = 0x0548;\n t.Vsmall = 0xf776;\n t.Vtilde = 0x1e7c;\n t.W = 0x0057;\n t.Wacute = 0x1e82;\n t.Wcircle = 0x24cc;\n t.Wcircumflex = 0x0174;\n t.Wdieresis = 0x1e84;\n t.Wdotaccent = 0x1e86;\n t.Wdotbelow = 0x1e88;\n t.Wgrave = 0x1e80;\n t.Wmonospace = 0xff37;\n t.Wsmall = 0xf777;\n t.X = 0x0058;\n t.Xcircle = 0x24cd;\n t.Xdieresis = 0x1e8c;\n t.Xdotaccent = 0x1e8a;\n t.Xeharmenian = 0x053d;\n t.Xi = 0x039e;\n t.Xmonospace = 0xff38;\n t.Xsmall = 0xf778;\n t.Y = 0x0059;\n t.Yacute = 0x00dd;\n t.Yacutesmall = 0xf7fd;\n t.Yatcyrillic = 0x0462;\n t.Ycircle = 0x24ce;\n t.Ycircumflex = 0x0176;\n t.Ydieresis = 0x0178;\n t.Ydieresissmall = 0xf7ff;\n t.Ydotaccent = 0x1e8e;\n t.Ydotbelow = 0x1ef4;\n t.Yericyrillic = 0x042b;\n t.Yerudieresiscyrillic = 0x04f8;\n t.Ygrave = 0x1ef2;\n t.Yhook = 0x01b3;\n t.Yhookabove = 0x1ef6;\n t.Yiarmenian = 0x0545;\n t.Yicyrillic = 0x0407;\n t.Yiwnarmenian = 0x0552;\n t.Ymonospace = 0xff39;\n t.Ysmall = 0xf779;\n t.Ytilde = 0x1ef8;\n t.Yusbigcyrillic = 0x046a;\n t.Yusbigiotifiedcyrillic = 0x046c;\n t.Yuslittlecyrillic = 0x0466;\n t.Yuslittleiotifiedcyrillic = 0x0468;\n t.Z = 0x005a;\n t.Zaarmenian = 0x0536;\n t.Zacute = 0x0179;\n t.Zcaron = 0x017d;\n t.Zcaronsmall = 0xf6ff;\n t.Zcircle = 0x24cf;\n t.Zcircumflex = 0x1e90;\n t.Zdot = 0x017b;\n t.Zdotaccent = 0x017b;\n t.Zdotbelow = 0x1e92;\n t.Zecyrillic = 0x0417;\n t.Zedescendercyrillic = 0x0498;\n t.Zedieresiscyrillic = 0x04de;\n t.Zeta = 0x0396;\n t.Zhearmenian = 0x053a;\n t.Zhebrevecyrillic = 0x04c1;\n t.Zhecyrillic = 0x0416;\n t.Zhedescendercyrillic = 0x0496;\n t.Zhedieresiscyrillic = 0x04dc;\n t.Zlinebelow = 0x1e94;\n t.Zmonospace = 0xff3a;\n t.Zsmall = 0xf77a;\n t.Zstroke = 0x01b5;\n t.a = 0x0061;\n t.aabengali = 0x0986;\n t.aacute = 0x00e1;\n t.aadeva = 0x0906;\n t.aagujarati = 0x0a86;\n t.aagurmukhi = 0x0a06;\n t.aamatragurmukhi = 0x0a3e;\n t.aarusquare = 0x3303;\n t.aavowelsignbengali = 0x09be;\n t.aavowelsigndeva = 0x093e;\n t.aavowelsigngujarati = 0x0abe;\n t.abbreviationmarkarmenian = 0x055f;\n t.abbreviationsigndeva = 0x0970;\n t.abengali = 0x0985;\n t.abopomofo = 0x311a;\n t.abreve = 0x0103;\n t.abreveacute = 0x1eaf;\n t.abrevecyrillic = 0x04d1;\n t.abrevedotbelow = 0x1eb7;\n t.abrevegrave = 0x1eb1;\n t.abrevehookabove = 0x1eb3;\n t.abrevetilde = 0x1eb5;\n t.acaron = 0x01ce;\n t.acircle = 0x24d0;\n t.acircumflex = 0x00e2;\n t.acircumflexacute = 0x1ea5;\n t.acircumflexdotbelow = 0x1ead;\n t.acircumflexgrave = 0x1ea7;\n t.acircumflexhookabove = 0x1ea9;\n t.acircumflextilde = 0x1eab;\n t.acute = 0x00b4;\n t.acutebelowcmb = 0x0317;\n t.acutecmb = 0x0301;\n t.acutecomb = 0x0301;\n t.acutedeva = 0x0954;\n t.acutelowmod = 0x02cf;\n t.acutetonecmb = 0x0341;\n t.acyrillic = 0x0430;\n t.adblgrave = 0x0201;\n t.addakgurmukhi = 0x0a71;\n t.adeva = 0x0905;\n t.adieresis = 0x00e4;\n t.adieresiscyrillic = 0x04d3;\n t.adieresismacron = 0x01df;\n t.adotbelow = 0x1ea1;\n t.adotmacron = 0x01e1;\n t.ae = 0x00e6;\n t.aeacute = 0x01fd;\n t.aekorean = 0x3150;\n t.aemacron = 0x01e3;\n t.afii00208 = 0x2015;\n t.afii08941 = 0x20a4;\n t.afii10017 = 0x0410;\n t.afii10018 = 0x0411;\n t.afii10019 = 0x0412;\n t.afii10020 = 0x0413;\n t.afii10021 = 0x0414;\n t.afii10022 = 0x0415;\n t.afii10023 = 0x0401;\n t.afii10024 = 0x0416;\n t.afii10025 = 0x0417;\n t.afii10026 = 0x0418;\n t.afii10027 = 0x0419;\n t.afii10028 = 0x041a;\n t.afii10029 = 0x041b;\n t.afii10030 = 0x041c;\n t.afii10031 = 0x041d;\n t.afii10032 = 0x041e;\n t.afii10033 = 0x041f;\n t.afii10034 = 0x0420;\n t.afii10035 = 0x0421;\n t.afii10036 = 0x0422;\n t.afii10037 = 0x0423;\n t.afii10038 = 0x0424;\n t.afii10039 = 0x0425;\n t.afii10040 = 0x0426;\n t.afii10041 = 0x0427;\n t.afii10042 = 0x0428;\n t.afii10043 = 0x0429;\n t.afii10044 = 0x042a;\n t.afii10045 = 0x042b;\n t.afii10046 = 0x042c;\n t.afii10047 = 0x042d;\n t.afii10048 = 0x042e;\n t.afii10049 = 0x042f;\n t.afii10050 = 0x0490;\n t.afii10051 = 0x0402;\n t.afii10052 = 0x0403;\n t.afii10053 = 0x0404;\n t.afii10054 = 0x0405;\n t.afii10055 = 0x0406;\n t.afii10056 = 0x0407;\n t.afii10057 = 0x0408;\n t.afii10058 = 0x0409;\n t.afii10059 = 0x040a;\n t.afii10060 = 0x040b;\n t.afii10061 = 0x040c;\n t.afii10062 = 0x040e;\n t.afii10063 = 0xf6c4;\n t.afii10064 = 0xf6c5;\n t.afii10065 = 0x0430;\n t.afii10066 = 0x0431;\n t.afii10067 = 0x0432;\n t.afii10068 = 0x0433;\n t.afii10069 = 0x0434;\n t.afii10070 = 0x0435;\n t.afii10071 = 0x0451;\n t.afii10072 = 0x0436;\n t.afii10073 = 0x0437;\n t.afii10074 = 0x0438;\n t.afii10075 = 0x0439;\n t.afii10076 = 0x043a;\n t.afii10077 = 0x043b;\n t.afii10078 = 0x043c;\n t.afii10079 = 0x043d;\n t.afii10080 = 0x043e;\n t.afii10081 = 0x043f;\n t.afii10082 = 0x0440;\n t.afii10083 = 0x0441;\n t.afii10084 = 0x0442;\n t.afii10085 = 0x0443;\n t.afii10086 = 0x0444;\n t.afii10087 = 0x0445;\n t.afii10088 = 0x0446;\n t.afii10089 = 0x0447;\n t.afii10090 = 0x0448;\n t.afii10091 = 0x0449;\n t.afii10092 = 0x044a;\n t.afii10093 = 0x044b;\n t.afii10094 = 0x044c;\n t.afii10095 = 0x044d;\n t.afii10096 = 0x044e;\n t.afii10097 = 0x044f;\n t.afii10098 = 0x0491;\n t.afii10099 = 0x0452;\n t.afii10100 = 0x0453;\n t.afii10101 = 0x0454;\n t.afii10102 = 0x0455;\n t.afii10103 = 0x0456;\n t.afii10104 = 0x0457;\n t.afii10105 = 0x0458;\n t.afii10106 = 0x0459;\n t.afii10107 = 0x045a;\n t.afii10108 = 0x045b;\n t.afii10109 = 0x045c;\n t.afii10110 = 0x045e;\n t.afii10145 = 0x040f;\n t.afii10146 = 0x0462;\n t.afii10147 = 0x0472;\n t.afii10148 = 0x0474;\n t.afii10192 = 0xf6c6;\n t.afii10193 = 0x045f;\n t.afii10194 = 0x0463;\n t.afii10195 = 0x0473;\n t.afii10196 = 0x0475;\n t.afii10831 = 0xf6c7;\n t.afii10832 = 0xf6c8;\n t.afii10846 = 0x04d9;\n t.afii299 = 0x200e;\n t.afii300 = 0x200f;\n t.afii301 = 0x200d;\n t.afii57381 = 0x066a;\n t.afii57388 = 0x060c;\n t.afii57392 = 0x0660;\n t.afii57393 = 0x0661;\n t.afii57394 = 0x0662;\n t.afii57395 = 0x0663;\n t.afii57396 = 0x0664;\n t.afii57397 = 0x0665;\n t.afii57398 = 0x0666;\n t.afii57399 = 0x0667;\n t.afii57400 = 0x0668;\n t.afii57401 = 0x0669;\n t.afii57403 = 0x061b;\n t.afii57407 = 0x061f;\n t.afii57409 = 0x0621;\n t.afii57410 = 0x0622;\n t.afii57411 = 0x0623;\n t.afii57412 = 0x0624;\n t.afii57413 = 0x0625;\n t.afii57414 = 0x0626;\n t.afii57415 = 0x0627;\n t.afii57416 = 0x0628;\n t.afii57417 = 0x0629;\n t.afii57418 = 0x062a;\n t.afii57419 = 0x062b;\n t.afii57420 = 0x062c;\n t.afii57421 = 0x062d;\n t.afii57422 = 0x062e;\n t.afii57423 = 0x062f;\n t.afii57424 = 0x0630;\n t.afii57425 = 0x0631;\n t.afii57426 = 0x0632;\n t.afii57427 = 0x0633;\n t.afii57428 = 0x0634;\n t.afii57429 = 0x0635;\n t.afii57430 = 0x0636;\n t.afii57431 = 0x0637;\n t.afii57432 = 0x0638;\n t.afii57433 = 0x0639;\n t.afii57434 = 0x063a;\n t.afii57440 = 0x0640;\n t.afii57441 = 0x0641;\n t.afii57442 = 0x0642;\n t.afii57443 = 0x0643;\n t.afii57444 = 0x0644;\n t.afii57445 = 0x0645;\n t.afii57446 = 0x0646;\n t.afii57448 = 0x0648;\n t.afii57449 = 0x0649;\n t.afii57450 = 0x064a;\n t.afii57451 = 0x064b;\n t.afii57452 = 0x064c;\n t.afii57453 = 0x064d;\n t.afii57454 = 0x064e;\n t.afii57455 = 0x064f;\n t.afii57456 = 0x0650;\n t.afii57457 = 0x0651;\n t.afii57458 = 0x0652;\n t.afii57470 = 0x0647;\n t.afii57505 = 0x06a4;\n t.afii57506 = 0x067e;\n t.afii57507 = 0x0686;\n t.afii57508 = 0x0698;\n t.afii57509 = 0x06af;\n t.afii57511 = 0x0679;\n t.afii57512 = 0x0688;\n t.afii57513 = 0x0691;\n t.afii57514 = 0x06ba;\n t.afii57519 = 0x06d2;\n t.afii57534 = 0x06d5;\n t.afii57636 = 0x20aa;\n t.afii57645 = 0x05be;\n t.afii57658 = 0x05c3;\n t.afii57664 = 0x05d0;\n t.afii57665 = 0x05d1;\n t.afii57666 = 0x05d2;\n t.afii57667 = 0x05d3;\n t.afii57668 = 0x05d4;\n t.afii57669 = 0x05d5;\n t.afii57670 = 0x05d6;\n t.afii57671 = 0x05d7;\n t.afii57672 = 0x05d8;\n t.afii57673 = 0x05d9;\n t.afii57674 = 0x05da;\n t.afii57675 = 0x05db;\n t.afii57676 = 0x05dc;\n t.afii57677 = 0x05dd;\n t.afii57678 = 0x05de;\n t.afii57679 = 0x05df;\n t.afii57680 = 0x05e0;\n t.afii57681 = 0x05e1;\n t.afii57682 = 0x05e2;\n t.afii57683 = 0x05e3;\n t.afii57684 = 0x05e4;\n t.afii57685 = 0x05e5;\n t.afii57686 = 0x05e6;\n t.afii57687 = 0x05e7;\n t.afii57688 = 0x05e8;\n t.afii57689 = 0x05e9;\n t.afii57690 = 0x05ea;\n t.afii57694 = 0xfb2a;\n t.afii57695 = 0xfb2b;\n t.afii57700 = 0xfb4b;\n t.afii57705 = 0xfb1f;\n t.afii57716 = 0x05f0;\n t.afii57717 = 0x05f1;\n t.afii57718 = 0x05f2;\n t.afii57723 = 0xfb35;\n t.afii57793 = 0x05b4;\n t.afii57794 = 0x05b5;\n t.afii57795 = 0x05b6;\n t.afii57796 = 0x05bb;\n t.afii57797 = 0x05b8;\n t.afii57798 = 0x05b7;\n t.afii57799 = 0x05b0;\n t.afii57800 = 0x05b2;\n t.afii57801 = 0x05b1;\n t.afii57802 = 0x05b3;\n t.afii57803 = 0x05c2;\n t.afii57804 = 0x05c1;\n t.afii57806 = 0x05b9;\n t.afii57807 = 0x05bc;\n t.afii57839 = 0x05bd;\n t.afii57841 = 0x05bf;\n t.afii57842 = 0x05c0;\n t.afii57929 = 0x02bc;\n t.afii61248 = 0x2105;\n t.afii61289 = 0x2113;\n t.afii61352 = 0x2116;\n t.afii61573 = 0x202c;\n t.afii61574 = 0x202d;\n t.afii61575 = 0x202e;\n t.afii61664 = 0x200c;\n t.afii63167 = 0x066d;\n t.afii64937 = 0x02bd;\n t.agrave = 0x00e0;\n t.agujarati = 0x0a85;\n t.agurmukhi = 0x0a05;\n t.ahiragana = 0x3042;\n t.ahookabove = 0x1ea3;\n t.aibengali = 0x0990;\n t.aibopomofo = 0x311e;\n t.aideva = 0x0910;\n t.aiecyrillic = 0x04d5;\n t.aigujarati = 0x0a90;\n t.aigurmukhi = 0x0a10;\n t.aimatragurmukhi = 0x0a48;\n t.ainarabic = 0x0639;\n t.ainfinalarabic = 0xfeca;\n t.aininitialarabic = 0xfecb;\n t.ainmedialarabic = 0xfecc;\n t.ainvertedbreve = 0x0203;\n t.aivowelsignbengali = 0x09c8;\n t.aivowelsigndeva = 0x0948;\n t.aivowelsigngujarati = 0x0ac8;\n t.akatakana = 0x30a2;\n t.akatakanahalfwidth = 0xff71;\n t.akorean = 0x314f;\n t.alef = 0x05d0;\n t.alefarabic = 0x0627;\n t.alefdageshhebrew = 0xfb30;\n t.aleffinalarabic = 0xfe8e;\n t.alefhamzaabovearabic = 0x0623;\n t.alefhamzaabovefinalarabic = 0xfe84;\n t.alefhamzabelowarabic = 0x0625;\n t.alefhamzabelowfinalarabic = 0xfe88;\n t.alefhebrew = 0x05d0;\n t.aleflamedhebrew = 0xfb4f;\n t.alefmaddaabovearabic = 0x0622;\n t.alefmaddaabovefinalarabic = 0xfe82;\n t.alefmaksuraarabic = 0x0649;\n t.alefmaksurafinalarabic = 0xfef0;\n t.alefmaksurainitialarabic = 0xfef3;\n t.alefmaksuramedialarabic = 0xfef4;\n t.alefpatahhebrew = 0xfb2e;\n t.alefqamatshebrew = 0xfb2f;\n t.aleph = 0x2135;\n t.allequal = 0x224c;\n t.alpha = 0x03b1;\n t.alphatonos = 0x03ac;\n t.amacron = 0x0101;\n t.amonospace = 0xff41;\n t.ampersand = 0x0026;\n t.ampersandmonospace = 0xff06;\n t.ampersandsmall = 0xf726;\n t.amsquare = 0x33c2;\n t.anbopomofo = 0x3122;\n t.angbopomofo = 0x3124;\n t.angbracketleft = 0x3008;\n t.angbracketright = 0x3009;\n t.angkhankhuthai = 0x0e5a;\n t.angle = 0x2220;\n t.anglebracketleft = 0x3008;\n t.anglebracketleftvertical = 0xfe3f;\n t.anglebracketright = 0x3009;\n t.anglebracketrightvertical = 0xfe40;\n t.angleleft = 0x2329;\n t.angleright = 0x232a;\n t.angstrom = 0x212b;\n t.anoteleia = 0x0387;\n t.anudattadeva = 0x0952;\n t.anusvarabengali = 0x0982;\n t.anusvaradeva = 0x0902;\n t.anusvaragujarati = 0x0a82;\n t.aogonek = 0x0105;\n t.apaatosquare = 0x3300;\n t.aparen = 0x249c;\n t.apostrophearmenian = 0x055a;\n t.apostrophemod = 0x02bc;\n t.apple = 0xf8ff;\n t.approaches = 0x2250;\n t.approxequal = 0x2248;\n t.approxequalorimage = 0x2252;\n t.approximatelyequal = 0x2245;\n t.araeaekorean = 0x318e;\n t.araeakorean = 0x318d;\n t.arc = 0x2312;\n t.arighthalfring = 0x1e9a;\n t.aring = 0x00e5;\n t.aringacute = 0x01fb;\n t.aringbelow = 0x1e01;\n t.arrowboth = 0x2194;\n t.arrowdashdown = 0x21e3;\n t.arrowdashleft = 0x21e0;\n t.arrowdashright = 0x21e2;\n t.arrowdashup = 0x21e1;\n t.arrowdblboth = 0x21d4;\n t.arrowdbldown = 0x21d3;\n t.arrowdblleft = 0x21d0;\n t.arrowdblright = 0x21d2;\n t.arrowdblup = 0x21d1;\n t.arrowdown = 0x2193;\n t.arrowdownleft = 0x2199;\n t.arrowdownright = 0x2198;\n t.arrowdownwhite = 0x21e9;\n t.arrowheaddownmod = 0x02c5;\n t.arrowheadleftmod = 0x02c2;\n t.arrowheadrightmod = 0x02c3;\n t.arrowheadupmod = 0x02c4;\n t.arrowhorizex = 0xf8e7;\n t.arrowleft = 0x2190;\n t.arrowleftdbl = 0x21d0;\n t.arrowleftdblstroke = 0x21cd;\n t.arrowleftoverright = 0x21c6;\n t.arrowleftwhite = 0x21e6;\n t.arrowright = 0x2192;\n t.arrowrightdblstroke = 0x21cf;\n t.arrowrightheavy = 0x279e;\n t.arrowrightoverleft = 0x21c4;\n t.arrowrightwhite = 0x21e8;\n t.arrowtableft = 0x21e4;\n t.arrowtabright = 0x21e5;\n t.arrowup = 0x2191;\n t.arrowupdn = 0x2195;\n t.arrowupdnbse = 0x21a8;\n t.arrowupdownbase = 0x21a8;\n t.arrowupleft = 0x2196;\n t.arrowupleftofdown = 0x21c5;\n t.arrowupright = 0x2197;\n t.arrowupwhite = 0x21e7;\n t.arrowvertex = 0xf8e6;\n t.asciicircum = 0x005e;\n t.asciicircummonospace = 0xff3e;\n t.asciitilde = 0x007e;\n t.asciitildemonospace = 0xff5e;\n t.ascript = 0x0251;\n t.ascriptturned = 0x0252;\n t.asmallhiragana = 0x3041;\n t.asmallkatakana = 0x30a1;\n t.asmallkatakanahalfwidth = 0xff67;\n t.asterisk = 0x002a;\n t.asteriskaltonearabic = 0x066d;\n t.asteriskarabic = 0x066d;\n t.asteriskmath = 0x2217;\n t.asteriskmonospace = 0xff0a;\n t.asterisksmall = 0xfe61;\n t.asterism = 0x2042;\n t.asuperior = 0xf6e9;\n t.asymptoticallyequal = 0x2243;\n t.at = 0x0040;\n t.atilde = 0x00e3;\n t.atmonospace = 0xff20;\n t.atsmall = 0xfe6b;\n t.aturned = 0x0250;\n t.aubengali = 0x0994;\n t.aubopomofo = 0x3120;\n t.audeva = 0x0914;\n t.augujarati = 0x0a94;\n t.augurmukhi = 0x0a14;\n t.aulengthmarkbengali = 0x09d7;\n t.aumatragurmukhi = 0x0a4c;\n t.auvowelsignbengali = 0x09cc;\n t.auvowelsigndeva = 0x094c;\n t.auvowelsigngujarati = 0x0acc;\n t.avagrahadeva = 0x093d;\n t.aybarmenian = 0x0561;\n t.ayin = 0x05e2;\n t.ayinaltonehebrew = 0xfb20;\n t.ayinhebrew = 0x05e2;\n t.b = 0x0062;\n t.babengali = 0x09ac;\n t.backslash = 0x005c;\n t.backslashmonospace = 0xff3c;\n t.badeva = 0x092c;\n t.bagujarati = 0x0aac;\n t.bagurmukhi = 0x0a2c;\n t.bahiragana = 0x3070;\n t.bahtthai = 0x0e3f;\n t.bakatakana = 0x30d0;\n t.bar = 0x007c;\n t.barmonospace = 0xff5c;\n t.bbopomofo = 0x3105;\n t.bcircle = 0x24d1;\n t.bdotaccent = 0x1e03;\n t.bdotbelow = 0x1e05;\n t.beamedsixteenthnotes = 0x266c;\n t.because = 0x2235;\n t.becyrillic = 0x0431;\n t.beharabic = 0x0628;\n t.behfinalarabic = 0xfe90;\n t.behinitialarabic = 0xfe91;\n t.behiragana = 0x3079;\n t.behmedialarabic = 0xfe92;\n t.behmeeminitialarabic = 0xfc9f;\n t.behmeemisolatedarabic = 0xfc08;\n t.behnoonfinalarabic = 0xfc6d;\n t.bekatakana = 0x30d9;\n t.benarmenian = 0x0562;\n t.bet = 0x05d1;\n t.beta = 0x03b2;\n t.betasymbolgreek = 0x03d0;\n t.betdagesh = 0xfb31;\n t.betdageshhebrew = 0xfb31;\n t.bethebrew = 0x05d1;\n t.betrafehebrew = 0xfb4c;\n t.bhabengali = 0x09ad;\n t.bhadeva = 0x092d;\n t.bhagujarati = 0x0aad;\n t.bhagurmukhi = 0x0a2d;\n t.bhook = 0x0253;\n t.bihiragana = 0x3073;\n t.bikatakana = 0x30d3;\n t.bilabialclick = 0x0298;\n t.bindigurmukhi = 0x0a02;\n t.birusquare = 0x3331;\n t.blackcircle = 0x25cf;\n t.blackdiamond = 0x25c6;\n t.blackdownpointingtriangle = 0x25bc;\n t.blackleftpointingpointer = 0x25c4;\n t.blackleftpointingtriangle = 0x25c0;\n t.blacklenticularbracketleft = 0x3010;\n t.blacklenticularbracketleftvertical = 0xfe3b;\n t.blacklenticularbracketright = 0x3011;\n t.blacklenticularbracketrightvertical = 0xfe3c;\n t.blacklowerlefttriangle = 0x25e3;\n t.blacklowerrighttriangle = 0x25e2;\n t.blackrectangle = 0x25ac;\n t.blackrightpointingpointer = 0x25ba;\n t.blackrightpointingtriangle = 0x25b6;\n t.blacksmallsquare = 0x25aa;\n t.blacksmilingface = 0x263b;\n t.blacksquare = 0x25a0;\n t.blackstar = 0x2605;\n t.blackupperlefttriangle = 0x25e4;\n t.blackupperrighttriangle = 0x25e5;\n t.blackuppointingsmalltriangle = 0x25b4;\n t.blackuppointingtriangle = 0x25b2;\n t.blank = 0x2423;\n t.blinebelow = 0x1e07;\n t.block = 0x2588;\n t.bmonospace = 0xff42;\n t.bobaimaithai = 0x0e1a;\n t.bohiragana = 0x307c;\n t.bokatakana = 0x30dc;\n t.bparen = 0x249d;\n t.bqsquare = 0x33c3;\n t.braceex = 0xf8f4;\n t.braceleft = 0x007b;\n t.braceleftbt = 0xf8f3;\n t.braceleftmid = 0xf8f2;\n t.braceleftmonospace = 0xff5b;\n t.braceleftsmall = 0xfe5b;\n t.bracelefttp = 0xf8f1;\n t.braceleftvertical = 0xfe37;\n t.braceright = 0x007d;\n t.bracerightbt = 0xf8fe;\n t.bracerightmid = 0xf8fd;\n t.bracerightmonospace = 0xff5d;\n t.bracerightsmall = 0xfe5c;\n t.bracerighttp = 0xf8fc;\n t.bracerightvertical = 0xfe38;\n t.bracketleft = 0x005b;\n t.bracketleftbt = 0xf8f0;\n t.bracketleftex = 0xf8ef;\n t.bracketleftmonospace = 0xff3b;\n t.bracketlefttp = 0xf8ee;\n t.bracketright = 0x005d;\n t.bracketrightbt = 0xf8fb;\n t.bracketrightex = 0xf8fa;\n t.bracketrightmonospace = 0xff3d;\n t.bracketrighttp = 0xf8f9;\n t.breve = 0x02d8;\n t.brevebelowcmb = 0x032e;\n t.brevecmb = 0x0306;\n t.breveinvertedbelowcmb = 0x032f;\n t.breveinvertedcmb = 0x0311;\n t.breveinverteddoublecmb = 0x0361;\n t.bridgebelowcmb = 0x032a;\n t.bridgeinvertedbelowcmb = 0x033a;\n t.brokenbar = 0x00a6;\n t.bstroke = 0x0180;\n t.bsuperior = 0xf6ea;\n t.btopbar = 0x0183;\n t.buhiragana = 0x3076;\n t.bukatakana = 0x30d6;\n t.bullet = 0x2022;\n t.bulletinverse = 0x25d8;\n t.bulletoperator = 0x2219;\n t.bullseye = 0x25ce;\n t.c = 0x0063;\n t.caarmenian = 0x056e;\n t.cabengali = 0x099a;\n t.cacute = 0x0107;\n t.cadeva = 0x091a;\n t.cagujarati = 0x0a9a;\n t.cagurmukhi = 0x0a1a;\n t.calsquare = 0x3388;\n t.candrabindubengali = 0x0981;\n t.candrabinducmb = 0x0310;\n t.candrabindudeva = 0x0901;\n t.candrabindugujarati = 0x0a81;\n t.capslock = 0x21ea;\n t.careof = 0x2105;\n t.caron = 0x02c7;\n t.caronbelowcmb = 0x032c;\n t.caroncmb = 0x030c;\n t.carriagereturn = 0x21b5;\n t.cbopomofo = 0x3118;\n t.ccaron = 0x010d;\n t.ccedilla = 0x00e7;\n t.ccedillaacute = 0x1e09;\n t.ccircle = 0x24d2;\n t.ccircumflex = 0x0109;\n t.ccurl = 0x0255;\n t.cdot = 0x010b;\n t.cdotaccent = 0x010b;\n t.cdsquare = 0x33c5;\n t.cedilla = 0x00b8;\n t.cedillacmb = 0x0327;\n t.cent = 0x00a2;\n t.centigrade = 0x2103;\n t.centinferior = 0xf6df;\n t.centmonospace = 0xffe0;\n t.centoldstyle = 0xf7a2;\n t.centsuperior = 0xf6e0;\n t.chaarmenian = 0x0579;\n t.chabengali = 0x099b;\n t.chadeva = 0x091b;\n t.chagujarati = 0x0a9b;\n t.chagurmukhi = 0x0a1b;\n t.chbopomofo = 0x3114;\n t.cheabkhasiancyrillic = 0x04bd;\n t.checkmark = 0x2713;\n t.checyrillic = 0x0447;\n t.chedescenderabkhasiancyrillic = 0x04bf;\n t.chedescendercyrillic = 0x04b7;\n t.chedieresiscyrillic = 0x04f5;\n t.cheharmenian = 0x0573;\n t.chekhakassiancyrillic = 0x04cc;\n t.cheverticalstrokecyrillic = 0x04b9;\n t.chi = 0x03c7;\n t.chieuchacirclekorean = 0x3277;\n t.chieuchaparenkorean = 0x3217;\n t.chieuchcirclekorean = 0x3269;\n t.chieuchkorean = 0x314a;\n t.chieuchparenkorean = 0x3209;\n t.chochangthai = 0x0e0a;\n t.chochanthai = 0x0e08;\n t.chochingthai = 0x0e09;\n t.chochoethai = 0x0e0c;\n t.chook = 0x0188;\n t.cieucacirclekorean = 0x3276;\n t.cieucaparenkorean = 0x3216;\n t.cieuccirclekorean = 0x3268;\n t.cieuckorean = 0x3148;\n t.cieucparenkorean = 0x3208;\n t.cieucuparenkorean = 0x321c;\n t.circle = 0x25cb;\n t.circlecopyrt = 0x00a9;\n t.circlemultiply = 0x2297;\n t.circleot = 0x2299;\n t.circleplus = 0x2295;\n t.circlepostalmark = 0x3036;\n t.circlewithlefthalfblack = 0x25d0;\n t.circlewithrighthalfblack = 0x25d1;\n t.circumflex = 0x02c6;\n t.circumflexbelowcmb = 0x032d;\n t.circumflexcmb = 0x0302;\n t.clear = 0x2327;\n t.clickalveolar = 0x01c2;\n t.clickdental = 0x01c0;\n t.clicklateral = 0x01c1;\n t.clickretroflex = 0x01c3;\n t.club = 0x2663;\n t.clubsuitblack = 0x2663;\n t.clubsuitwhite = 0x2667;\n t.cmcubedsquare = 0x33a4;\n t.cmonospace = 0xff43;\n t.cmsquaredsquare = 0x33a0;\n t.coarmenian = 0x0581;\n t.colon = 0x003a;\n t.colonmonetary = 0x20a1;\n t.colonmonospace = 0xff1a;\n t.colonsign = 0x20a1;\n t.colonsmall = 0xfe55;\n t.colontriangularhalfmod = 0x02d1;\n t.colontriangularmod = 0x02d0;\n t.comma = 0x002c;\n t.commaabovecmb = 0x0313;\n t.commaaboverightcmb = 0x0315;\n t.commaaccent = 0xf6c3;\n t.commaarabic = 0x060c;\n t.commaarmenian = 0x055d;\n t.commainferior = 0xf6e1;\n t.commamonospace = 0xff0c;\n t.commareversedabovecmb = 0x0314;\n t.commareversedmod = 0x02bd;\n t.commasmall = 0xfe50;\n t.commasuperior = 0xf6e2;\n t.commaturnedabovecmb = 0x0312;\n t.commaturnedmod = 0x02bb;\n t.compass = 0x263c;\n t.congruent = 0x2245;\n t.contourintegral = 0x222e;\n t.control = 0x2303;\n t.controlACK = 0x0006;\n t.controlBEL = 0x0007;\n t.controlBS = 0x0008;\n t.controlCAN = 0x0018;\n t.controlCR = 0x000d;\n t.controlDC1 = 0x0011;\n t.controlDC2 = 0x0012;\n t.controlDC3 = 0x0013;\n t.controlDC4 = 0x0014;\n t.controlDEL = 0x007f;\n t.controlDLE = 0x0010;\n t.controlEM = 0x0019;\n t.controlENQ = 0x0005;\n t.controlEOT = 0x0004;\n t.controlESC = 0x001b;\n t.controlETB = 0x0017;\n t.controlETX = 0x0003;\n t.controlFF = 0x000c;\n t.controlFS = 0x001c;\n t.controlGS = 0x001d;\n t.controlHT = 0x0009;\n t.controlLF = 0x000a;\n t.controlNAK = 0x0015;\n t.controlNULL = 0x0000;\n t.controlRS = 0x001e;\n t.controlSI = 0x000f;\n t.controlSO = 0x000e;\n t.controlSOT = 0x0002;\n t.controlSTX = 0x0001;\n t.controlSUB = 0x001a;\n t.controlSYN = 0x0016;\n t.controlUS = 0x001f;\n t.controlVT = 0x000b;\n t.copyright = 0x00a9;\n t.copyrightsans = 0xf8e9;\n t.copyrightserif = 0xf6d9;\n t.cornerbracketleft = 0x300c;\n t.cornerbracketlefthalfwidth = 0xff62;\n t.cornerbracketleftvertical = 0xfe41;\n t.cornerbracketright = 0x300d;\n t.cornerbracketrighthalfwidth = 0xff63;\n t.cornerbracketrightvertical = 0xfe42;\n t.corporationsquare = 0x337f;\n t.cosquare = 0x33c7;\n t.coverkgsquare = 0x33c6;\n t.cparen = 0x249e;\n t.cruzeiro = 0x20a2;\n t.cstretched = 0x0297;\n t.curlyand = 0x22cf;\n t.curlyor = 0x22ce;\n t.currency = 0x00a4;\n t.cyrBreve = 0xf6d1;\n t.cyrFlex = 0xf6d2;\n t.cyrbreve = 0xf6d4;\n t.cyrflex = 0xf6d5;\n t.d = 0x0064;\n t.daarmenian = 0x0564;\n t.dabengali = 0x09a6;\n t.dadarabic = 0x0636;\n t.dadeva = 0x0926;\n t.dadfinalarabic = 0xfebe;\n t.dadinitialarabic = 0xfebf;\n t.dadmedialarabic = 0xfec0;\n t.dagesh = 0x05bc;\n t.dageshhebrew = 0x05bc;\n t.dagger = 0x2020;\n t.daggerdbl = 0x2021;\n t.dagujarati = 0x0aa6;\n t.dagurmukhi = 0x0a26;\n t.dahiragana = 0x3060;\n t.dakatakana = 0x30c0;\n t.dalarabic = 0x062f;\n t.dalet = 0x05d3;\n t.daletdagesh = 0xfb33;\n t.daletdageshhebrew = 0xfb33;\n t.dalethebrew = 0x05d3;\n t.dalfinalarabic = 0xfeaa;\n t.dammaarabic = 0x064f;\n t.dammalowarabic = 0x064f;\n t.dammatanaltonearabic = 0x064c;\n t.dammatanarabic = 0x064c;\n t.danda = 0x0964;\n t.dargahebrew = 0x05a7;\n t.dargalefthebrew = 0x05a7;\n t.dasiapneumatacyrilliccmb = 0x0485;\n t.dblGrave = 0xf6d3;\n t.dblanglebracketleft = 0x300a;\n t.dblanglebracketleftvertical = 0xfe3d;\n t.dblanglebracketright = 0x300b;\n t.dblanglebracketrightvertical = 0xfe3e;\n t.dblarchinvertedbelowcmb = 0x032b;\n t.dblarrowleft = 0x21d4;\n t.dblarrowright = 0x21d2;\n t.dbldanda = 0x0965;\n t.dblgrave = 0xf6d6;\n t.dblgravecmb = 0x030f;\n t.dblintegral = 0x222c;\n t.dbllowline = 0x2017;\n t.dbllowlinecmb = 0x0333;\n t.dbloverlinecmb = 0x033f;\n t.dblprimemod = 0x02ba;\n t.dblverticalbar = 0x2016;\n t.dblverticallineabovecmb = 0x030e;\n t.dbopomofo = 0x3109;\n t.dbsquare = 0x33c8;\n t.dcaron = 0x010f;\n t.dcedilla = 0x1e11;\n t.dcircle = 0x24d3;\n t.dcircumflexbelow = 0x1e13;\n t.dcroat = 0x0111;\n t.ddabengali = 0x09a1;\n t.ddadeva = 0x0921;\n t.ddagujarati = 0x0aa1;\n t.ddagurmukhi = 0x0a21;\n t.ddalarabic = 0x0688;\n t.ddalfinalarabic = 0xfb89;\n t.dddhadeva = 0x095c;\n t.ddhabengali = 0x09a2;\n t.ddhadeva = 0x0922;\n t.ddhagujarati = 0x0aa2;\n t.ddhagurmukhi = 0x0a22;\n t.ddotaccent = 0x1e0b;\n t.ddotbelow = 0x1e0d;\n t.decimalseparatorarabic = 0x066b;\n t.decimalseparatorpersian = 0x066b;\n t.decyrillic = 0x0434;\n t.degree = 0x00b0;\n t.dehihebrew = 0x05ad;\n t.dehiragana = 0x3067;\n t.deicoptic = 0x03ef;\n t.dekatakana = 0x30c7;\n t.deleteleft = 0x232b;\n t.deleteright = 0x2326;\n t.delta = 0x03b4;\n t.deltaturned = 0x018d;\n t.denominatorminusonenumeratorbengali = 0x09f8;\n t.dezh = 0x02a4;\n t.dhabengali = 0x09a7;\n t.dhadeva = 0x0927;\n t.dhagujarati = 0x0aa7;\n t.dhagurmukhi = 0x0a27;\n t.dhook = 0x0257;\n t.dialytikatonos = 0x0385;\n t.dialytikatonoscmb = 0x0344;\n t.diamond = 0x2666;\n t.diamondsuitwhite = 0x2662;\n t.dieresis = 0x00a8;\n t.dieresisacute = 0xf6d7;\n t.dieresisbelowcmb = 0x0324;\n t.dieresiscmb = 0x0308;\n t.dieresisgrave = 0xf6d8;\n t.dieresistonos = 0x0385;\n t.dihiragana = 0x3062;\n t.dikatakana = 0x30c2;\n t.dittomark = 0x3003;\n t.divide = 0x00f7;\n t.divides = 0x2223;\n t.divisionslash = 0x2215;\n t.djecyrillic = 0x0452;\n t.dkshade = 0x2593;\n t.dlinebelow = 0x1e0f;\n t.dlsquare = 0x3397;\n t.dmacron = 0x0111;\n t.dmonospace = 0xff44;\n t.dnblock = 0x2584;\n t.dochadathai = 0x0e0e;\n t.dodekthai = 0x0e14;\n t.dohiragana = 0x3069;\n t.dokatakana = 0x30c9;\n t.dollar = 0x0024;\n t.dollarinferior = 0xf6e3;\n t.dollarmonospace = 0xff04;\n t.dollaroldstyle = 0xf724;\n t.dollarsmall = 0xfe69;\n t.dollarsuperior = 0xf6e4;\n t.dong = 0x20ab;\n t.dorusquare = 0x3326;\n t.dotaccent = 0x02d9;\n t.dotaccentcmb = 0x0307;\n t.dotbelowcmb = 0x0323;\n t.dotbelowcomb = 0x0323;\n t.dotkatakana = 0x30fb;\n t.dotlessi = 0x0131;\n t.dotlessj = 0xf6be;\n t.dotlessjstrokehook = 0x0284;\n t.dotmath = 0x22c5;\n t.dottedcircle = 0x25cc;\n t.doubleyodpatah = 0xfb1f;\n t.doubleyodpatahhebrew = 0xfb1f;\n t.downtackbelowcmb = 0x031e;\n t.downtackmod = 0x02d5;\n t.dparen = 0x249f;\n t.dsuperior = 0xf6eb;\n t.dtail = 0x0256;\n t.dtopbar = 0x018c;\n t.duhiragana = 0x3065;\n t.dukatakana = 0x30c5;\n t.dz = 0x01f3;\n t.dzaltone = 0x02a3;\n t.dzcaron = 0x01c6;\n t.dzcurl = 0x02a5;\n t.dzeabkhasiancyrillic = 0x04e1;\n t.dzecyrillic = 0x0455;\n t.dzhecyrillic = 0x045f;\n t.e = 0x0065;\n t.eacute = 0x00e9;\n t.earth = 0x2641;\n t.ebengali = 0x098f;\n t.ebopomofo = 0x311c;\n t.ebreve = 0x0115;\n t.ecandradeva = 0x090d;\n t.ecandragujarati = 0x0a8d;\n t.ecandravowelsigndeva = 0x0945;\n t.ecandravowelsigngujarati = 0x0ac5;\n t.ecaron = 0x011b;\n t.ecedillabreve = 0x1e1d;\n t.echarmenian = 0x0565;\n t.echyiwnarmenian = 0x0587;\n t.ecircle = 0x24d4;\n t.ecircumflex = 0x00ea;\n t.ecircumflexacute = 0x1ebf;\n t.ecircumflexbelow = 0x1e19;\n t.ecircumflexdotbelow = 0x1ec7;\n t.ecircumflexgrave = 0x1ec1;\n t.ecircumflexhookabove = 0x1ec3;\n t.ecircumflextilde = 0x1ec5;\n t.ecyrillic = 0x0454;\n t.edblgrave = 0x0205;\n t.edeva = 0x090f;\n t.edieresis = 0x00eb;\n t.edot = 0x0117;\n t.edotaccent = 0x0117;\n t.edotbelow = 0x1eb9;\n t.eegurmukhi = 0x0a0f;\n t.eematragurmukhi = 0x0a47;\n t.efcyrillic = 0x0444;\n t.egrave = 0x00e8;\n t.egujarati = 0x0a8f;\n t.eharmenian = 0x0567;\n t.ehbopomofo = 0x311d;\n t.ehiragana = 0x3048;\n t.ehookabove = 0x1ebb;\n t.eibopomofo = 0x311f;\n t.eight = 0x0038;\n t.eightarabic = 0x0668;\n t.eightbengali = 0x09ee;\n t.eightcircle = 0x2467;\n t.eightcircleinversesansserif = 0x2791;\n t.eightdeva = 0x096e;\n t.eighteencircle = 0x2471;\n t.eighteenparen = 0x2485;\n t.eighteenperiod = 0x2499;\n t.eightgujarati = 0x0aee;\n t.eightgurmukhi = 0x0a6e;\n t.eighthackarabic = 0x0668;\n t.eighthangzhou = 0x3028;\n t.eighthnotebeamed = 0x266b;\n t.eightideographicparen = 0x3227;\n t.eightinferior = 0x2088;\n t.eightmonospace = 0xff18;\n t.eightoldstyle = 0xf738;\n t.eightparen = 0x247b;\n t.eightperiod = 0x248f;\n t.eightpersian = 0x06f8;\n t.eightroman = 0x2177;\n t.eightsuperior = 0x2078;\n t.eightthai = 0x0e58;\n t.einvertedbreve = 0x0207;\n t.eiotifiedcyrillic = 0x0465;\n t.ekatakana = 0x30a8;\n t.ekatakanahalfwidth = 0xff74;\n t.ekonkargurmukhi = 0x0a74;\n t.ekorean = 0x3154;\n t.elcyrillic = 0x043b;\n t.element = 0x2208;\n t.elevencircle = 0x246a;\n t.elevenparen = 0x247e;\n t.elevenperiod = 0x2492;\n t.elevenroman = 0x217a;\n t.ellipsis = 0x2026;\n t.ellipsisvertical = 0x22ee;\n t.emacron = 0x0113;\n t.emacronacute = 0x1e17;\n t.emacrongrave = 0x1e15;\n t.emcyrillic = 0x043c;\n t.emdash = 0x2014;\n t.emdashvertical = 0xfe31;\n t.emonospace = 0xff45;\n t.emphasismarkarmenian = 0x055b;\n t.emptyset = 0x2205;\n t.enbopomofo = 0x3123;\n t.encyrillic = 0x043d;\n t.endash = 0x2013;\n t.endashvertical = 0xfe32;\n t.endescendercyrillic = 0x04a3;\n t.eng = 0x014b;\n t.engbopomofo = 0x3125;\n t.enghecyrillic = 0x04a5;\n t.enhookcyrillic = 0x04c8;\n t.enspace = 0x2002;\n t.eogonek = 0x0119;\n t.eokorean = 0x3153;\n t.eopen = 0x025b;\n t.eopenclosed = 0x029a;\n t.eopenreversed = 0x025c;\n t.eopenreversedclosed = 0x025e;\n t.eopenreversedhook = 0x025d;\n t.eparen = 0x24a0;\n t.epsilon = 0x03b5;\n t.epsilontonos = 0x03ad;\n t.equal = 0x003d;\n t.equalmonospace = 0xff1d;\n t.equalsmall = 0xfe66;\n t.equalsuperior = 0x207c;\n t.equivalence = 0x2261;\n t.erbopomofo = 0x3126;\n t.ercyrillic = 0x0440;\n t.ereversed = 0x0258;\n t.ereversedcyrillic = 0x044d;\n t.escyrillic = 0x0441;\n t.esdescendercyrillic = 0x04ab;\n t.esh = 0x0283;\n t.eshcurl = 0x0286;\n t.eshortdeva = 0x090e;\n t.eshortvowelsigndeva = 0x0946;\n t.eshreversedloop = 0x01aa;\n t.eshsquatreversed = 0x0285;\n t.esmallhiragana = 0x3047;\n t.esmallkatakana = 0x30a7;\n t.esmallkatakanahalfwidth = 0xff6a;\n t.estimated = 0x212e;\n t.esuperior = 0xf6ec;\n t.eta = 0x03b7;\n t.etarmenian = 0x0568;\n t.etatonos = 0x03ae;\n t.eth = 0x00f0;\n t.etilde = 0x1ebd;\n t.etildebelow = 0x1e1b;\n t.etnahtafoukhhebrew = 0x0591;\n t.etnahtafoukhlefthebrew = 0x0591;\n t.etnahtahebrew = 0x0591;\n t.etnahtalefthebrew = 0x0591;\n t.eturned = 0x01dd;\n t.eukorean = 0x3161;\n t.euro = 0x20ac;\n t.evowelsignbengali = 0x09c7;\n t.evowelsigndeva = 0x0947;\n t.evowelsigngujarati = 0x0ac7;\n t.exclam = 0x0021;\n t.exclamarmenian = 0x055c;\n t.exclamdbl = 0x203c;\n t.exclamdown = 0x00a1;\n t.exclamdownsmall = 0xf7a1;\n t.exclammonospace = 0xff01;\n t.exclamsmall = 0xf721;\n t.existential = 0x2203;\n t.ezh = 0x0292;\n t.ezhcaron = 0x01ef;\n t.ezhcurl = 0x0293;\n t.ezhreversed = 0x01b9;\n t.ezhtail = 0x01ba;\n t.f = 0x0066;\n t.fadeva = 0x095e;\n t.fagurmukhi = 0x0a5e;\n t.fahrenheit = 0x2109;\n t.fathaarabic = 0x064e;\n t.fathalowarabic = 0x064e;\n t.fathatanarabic = 0x064b;\n t.fbopomofo = 0x3108;\n t.fcircle = 0x24d5;\n t.fdotaccent = 0x1e1f;\n t.feharabic = 0x0641;\n t.feharmenian = 0x0586;\n t.fehfinalarabic = 0xfed2;\n t.fehinitialarabic = 0xfed3;\n t.fehmedialarabic = 0xfed4;\n t.feicoptic = 0x03e5;\n t.female = 0x2640;\n t.ff = 0xfb00;\n t.f_f = 0xfb00;\n t.ffi = 0xfb03;\n t.f_f_i = 0xfb03;\n t.ffl = 0xfb04;\n t.f_f_l = 0xfb04;\n t.fi = 0xfb01;\n t.f_i = 0xfb01;\n t.fifteencircle = 0x246e;\n t.fifteenparen = 0x2482;\n t.fifteenperiod = 0x2496;\n t.figuredash = 0x2012;\n t.filledbox = 0x25a0;\n t.filledrect = 0x25ac;\n t.finalkaf = 0x05da;\n t.finalkafdagesh = 0xfb3a;\n t.finalkafdageshhebrew = 0xfb3a;\n t.finalkafhebrew = 0x05da;\n t.finalmem = 0x05dd;\n t.finalmemhebrew = 0x05dd;\n t.finalnun = 0x05df;\n t.finalnunhebrew = 0x05df;\n t.finalpe = 0x05e3;\n t.finalpehebrew = 0x05e3;\n t.finaltsadi = 0x05e5;\n t.finaltsadihebrew = 0x05e5;\n t.firsttonechinese = 0x02c9;\n t.fisheye = 0x25c9;\n t.fitacyrillic = 0x0473;\n t.five = 0x0035;\n t.fivearabic = 0x0665;\n t.fivebengali = 0x09eb;\n t.fivecircle = 0x2464;\n t.fivecircleinversesansserif = 0x278e;\n t.fivedeva = 0x096b;\n t.fiveeighths = 0x215d;\n t.fivegujarati = 0x0aeb;\n t.fivegurmukhi = 0x0a6b;\n t.fivehackarabic = 0x0665;\n t.fivehangzhou = 0x3025;\n t.fiveideographicparen = 0x3224;\n t.fiveinferior = 0x2085;\n t.fivemonospace = 0xff15;\n t.fiveoldstyle = 0xf735;\n t.fiveparen = 0x2478;\n t.fiveperiod = 0x248c;\n t.fivepersian = 0x06f5;\n t.fiveroman = 0x2174;\n t.fivesuperior = 0x2075;\n t.fivethai = 0x0e55;\n t.fl = 0xfb02;\n t.f_l = 0xfb02;\n t.florin = 0x0192;\n t.fmonospace = 0xff46;\n t.fmsquare = 0x3399;\n t.fofanthai = 0x0e1f;\n t.fofathai = 0x0e1d;\n t.fongmanthai = 0x0e4f;\n t.forall = 0x2200;\n t.four = 0x0034;\n t.fourarabic = 0x0664;\n t.fourbengali = 0x09ea;\n t.fourcircle = 0x2463;\n t.fourcircleinversesansserif = 0x278d;\n t.fourdeva = 0x096a;\n t.fourgujarati = 0x0aea;\n t.fourgurmukhi = 0x0a6a;\n t.fourhackarabic = 0x0664;\n t.fourhangzhou = 0x3024;\n t.fourideographicparen = 0x3223;\n t.fourinferior = 0x2084;\n t.fourmonospace = 0xff14;\n t.fournumeratorbengali = 0x09f7;\n t.fouroldstyle = 0xf734;\n t.fourparen = 0x2477;\n t.fourperiod = 0x248b;\n t.fourpersian = 0x06f4;\n t.fourroman = 0x2173;\n t.foursuperior = 0x2074;\n t.fourteencircle = 0x246d;\n t.fourteenparen = 0x2481;\n t.fourteenperiod = 0x2495;\n t.fourthai = 0x0e54;\n t.fourthtonechinese = 0x02cb;\n t.fparen = 0x24a1;\n t.fraction = 0x2044;\n t.franc = 0x20a3;\n t.g = 0x0067;\n t.gabengali = 0x0997;\n t.gacute = 0x01f5;\n t.gadeva = 0x0917;\n t.gafarabic = 0x06af;\n t.gaffinalarabic = 0xfb93;\n t.gafinitialarabic = 0xfb94;\n t.gafmedialarabic = 0xfb95;\n t.gagujarati = 0x0a97;\n t.gagurmukhi = 0x0a17;\n t.gahiragana = 0x304c;\n t.gakatakana = 0x30ac;\n t.gamma = 0x03b3;\n t.gammalatinsmall = 0x0263;\n t.gammasuperior = 0x02e0;\n t.gangiacoptic = 0x03eb;\n t.gbopomofo = 0x310d;\n t.gbreve = 0x011f;\n t.gcaron = 0x01e7;\n t.gcedilla = 0x0123;\n t.gcircle = 0x24d6;\n t.gcircumflex = 0x011d;\n t.gcommaaccent = 0x0123;\n t.gdot = 0x0121;\n t.gdotaccent = 0x0121;\n t.gecyrillic = 0x0433;\n t.gehiragana = 0x3052;\n t.gekatakana = 0x30b2;\n t.geometricallyequal = 0x2251;\n t.gereshaccenthebrew = 0x059c;\n t.gereshhebrew = 0x05f3;\n t.gereshmuqdamhebrew = 0x059d;\n t.germandbls = 0x00df;\n t.gershayimaccenthebrew = 0x059e;\n t.gershayimhebrew = 0x05f4;\n t.getamark = 0x3013;\n t.ghabengali = 0x0998;\n t.ghadarmenian = 0x0572;\n t.ghadeva = 0x0918;\n t.ghagujarati = 0x0a98;\n t.ghagurmukhi = 0x0a18;\n t.ghainarabic = 0x063a;\n t.ghainfinalarabic = 0xfece;\n t.ghaininitialarabic = 0xfecf;\n t.ghainmedialarabic = 0xfed0;\n t.ghemiddlehookcyrillic = 0x0495;\n t.ghestrokecyrillic = 0x0493;\n t.gheupturncyrillic = 0x0491;\n t.ghhadeva = 0x095a;\n t.ghhagurmukhi = 0x0a5a;\n t.ghook = 0x0260;\n t.ghzsquare = 0x3393;\n t.gihiragana = 0x304e;\n t.gikatakana = 0x30ae;\n t.gimarmenian = 0x0563;\n t.gimel = 0x05d2;\n t.gimeldagesh = 0xfb32;\n t.gimeldageshhebrew = 0xfb32;\n t.gimelhebrew = 0x05d2;\n t.gjecyrillic = 0x0453;\n t.glottalinvertedstroke = 0x01be;\n t.glottalstop = 0x0294;\n t.glottalstopinverted = 0x0296;\n t.glottalstopmod = 0x02c0;\n t.glottalstopreversed = 0x0295;\n t.glottalstopreversedmod = 0x02c1;\n t.glottalstopreversedsuperior = 0x02e4;\n t.glottalstopstroke = 0x02a1;\n t.glottalstopstrokereversed = 0x02a2;\n t.gmacron = 0x1e21;\n t.gmonospace = 0xff47;\n t.gohiragana = 0x3054;\n t.gokatakana = 0x30b4;\n t.gparen = 0x24a2;\n t.gpasquare = 0x33ac;\n t.gradient = 0x2207;\n t.grave = 0x0060;\n t.gravebelowcmb = 0x0316;\n t.gravecmb = 0x0300;\n t.gravecomb = 0x0300;\n t.gravedeva = 0x0953;\n t.gravelowmod = 0x02ce;\n t.gravemonospace = 0xff40;\n t.gravetonecmb = 0x0340;\n t.greater = 0x003e;\n t.greaterequal = 0x2265;\n t.greaterequalorless = 0x22db;\n t.greatermonospace = 0xff1e;\n t.greaterorequivalent = 0x2273;\n t.greaterorless = 0x2277;\n t.greateroverequal = 0x2267;\n t.greatersmall = 0xfe65;\n t.gscript = 0x0261;\n t.gstroke = 0x01e5;\n t.guhiragana = 0x3050;\n t.guillemotleft = 0x00ab;\n t.guillemotright = 0x00bb;\n t.guilsinglleft = 0x2039;\n t.guilsinglright = 0x203a;\n t.gukatakana = 0x30b0;\n t.guramusquare = 0x3318;\n t.gysquare = 0x33c9;\n t.h = 0x0068;\n t.haabkhasiancyrillic = 0x04a9;\n t.haaltonearabic = 0x06c1;\n t.habengali = 0x09b9;\n t.hadescendercyrillic = 0x04b3;\n t.hadeva = 0x0939;\n t.hagujarati = 0x0ab9;\n t.hagurmukhi = 0x0a39;\n t.haharabic = 0x062d;\n t.hahfinalarabic = 0xfea2;\n t.hahinitialarabic = 0xfea3;\n t.hahiragana = 0x306f;\n t.hahmedialarabic = 0xfea4;\n t.haitusquare = 0x332a;\n t.hakatakana = 0x30cf;\n t.hakatakanahalfwidth = 0xff8a;\n t.halantgurmukhi = 0x0a4d;\n t.hamzaarabic = 0x0621;\n t.hamzalowarabic = 0x0621;\n t.hangulfiller = 0x3164;\n t.hardsigncyrillic = 0x044a;\n t.harpoonleftbarbup = 0x21bc;\n t.harpoonrightbarbup = 0x21c0;\n t.hasquare = 0x33ca;\n t.hatafpatah = 0x05b2;\n t.hatafpatah16 = 0x05b2;\n t.hatafpatah23 = 0x05b2;\n t.hatafpatah2f = 0x05b2;\n t.hatafpatahhebrew = 0x05b2;\n t.hatafpatahnarrowhebrew = 0x05b2;\n t.hatafpatahquarterhebrew = 0x05b2;\n t.hatafpatahwidehebrew = 0x05b2;\n t.hatafqamats = 0x05b3;\n t.hatafqamats1b = 0x05b3;\n t.hatafqamats28 = 0x05b3;\n t.hatafqamats34 = 0x05b3;\n t.hatafqamatshebrew = 0x05b3;\n t.hatafqamatsnarrowhebrew = 0x05b3;\n t.hatafqamatsquarterhebrew = 0x05b3;\n t.hatafqamatswidehebrew = 0x05b3;\n t.hatafsegol = 0x05b1;\n t.hatafsegol17 = 0x05b1;\n t.hatafsegol24 = 0x05b1;\n t.hatafsegol30 = 0x05b1;\n t.hatafsegolhebrew = 0x05b1;\n t.hatafsegolnarrowhebrew = 0x05b1;\n t.hatafsegolquarterhebrew = 0x05b1;\n t.hatafsegolwidehebrew = 0x05b1;\n t.hbar = 0x0127;\n t.hbopomofo = 0x310f;\n t.hbrevebelow = 0x1e2b;\n t.hcedilla = 0x1e29;\n t.hcircle = 0x24d7;\n t.hcircumflex = 0x0125;\n t.hdieresis = 0x1e27;\n t.hdotaccent = 0x1e23;\n t.hdotbelow = 0x1e25;\n t.he = 0x05d4;\n t.heart = 0x2665;\n t.heartsuitblack = 0x2665;\n t.heartsuitwhite = 0x2661;\n t.hedagesh = 0xfb34;\n t.hedageshhebrew = 0xfb34;\n t.hehaltonearabic = 0x06c1;\n t.heharabic = 0x0647;\n t.hehebrew = 0x05d4;\n t.hehfinalaltonearabic = 0xfba7;\n t.hehfinalalttwoarabic = 0xfeea;\n t.hehfinalarabic = 0xfeea;\n t.hehhamzaabovefinalarabic = 0xfba5;\n t.hehhamzaaboveisolatedarabic = 0xfba4;\n t.hehinitialaltonearabic = 0xfba8;\n t.hehinitialarabic = 0xfeeb;\n t.hehiragana = 0x3078;\n t.hehmedialaltonearabic = 0xfba9;\n t.hehmedialarabic = 0xfeec;\n t.heiseierasquare = 0x337b;\n t.hekatakana = 0x30d8;\n t.hekatakanahalfwidth = 0xff8d;\n t.hekutaarusquare = 0x3336;\n t.henghook = 0x0267;\n t.herutusquare = 0x3339;\n t.het = 0x05d7;\n t.hethebrew = 0x05d7;\n t.hhook = 0x0266;\n t.hhooksuperior = 0x02b1;\n t.hieuhacirclekorean = 0x327b;\n t.hieuhaparenkorean = 0x321b;\n t.hieuhcirclekorean = 0x326d;\n t.hieuhkorean = 0x314e;\n t.hieuhparenkorean = 0x320d;\n t.hihiragana = 0x3072;\n t.hikatakana = 0x30d2;\n t.hikatakanahalfwidth = 0xff8b;\n t.hiriq = 0x05b4;\n t.hiriq14 = 0x05b4;\n t.hiriq21 = 0x05b4;\n t.hiriq2d = 0x05b4;\n t.hiriqhebrew = 0x05b4;\n t.hiriqnarrowhebrew = 0x05b4;\n t.hiriqquarterhebrew = 0x05b4;\n t.hiriqwidehebrew = 0x05b4;\n t.hlinebelow = 0x1e96;\n t.hmonospace = 0xff48;\n t.hoarmenian = 0x0570;\n t.hohipthai = 0x0e2b;\n t.hohiragana = 0x307b;\n t.hokatakana = 0x30db;\n t.hokatakanahalfwidth = 0xff8e;\n t.holam = 0x05b9;\n t.holam19 = 0x05b9;\n t.holam26 = 0x05b9;\n t.holam32 = 0x05b9;\n t.holamhebrew = 0x05b9;\n t.holamnarrowhebrew = 0x05b9;\n t.holamquarterhebrew = 0x05b9;\n t.holamwidehebrew = 0x05b9;\n t.honokhukthai = 0x0e2e;\n t.hookabovecomb = 0x0309;\n t.hookcmb = 0x0309;\n t.hookpalatalizedbelowcmb = 0x0321;\n t.hookretroflexbelowcmb = 0x0322;\n t.hoonsquare = 0x3342;\n t.horicoptic = 0x03e9;\n t.horizontalbar = 0x2015;\n t.horncmb = 0x031b;\n t.hotsprings = 0x2668;\n t.house = 0x2302;\n t.hparen = 0x24a3;\n t.hsuperior = 0x02b0;\n t.hturned = 0x0265;\n t.huhiragana = 0x3075;\n t.huiitosquare = 0x3333;\n t.hukatakana = 0x30d5;\n t.hukatakanahalfwidth = 0xff8c;\n t.hungarumlaut = 0x02dd;\n t.hungarumlautcmb = 0x030b;\n t.hv = 0x0195;\n t.hyphen = 0x002d;\n t.hypheninferior = 0xf6e5;\n t.hyphenmonospace = 0xff0d;\n t.hyphensmall = 0xfe63;\n t.hyphensuperior = 0xf6e6;\n t.hyphentwo = 0x2010;\n t.i = 0x0069;\n t.iacute = 0x00ed;\n t.iacyrillic = 0x044f;\n t.ibengali = 0x0987;\n t.ibopomofo = 0x3127;\n t.ibreve = 0x012d;\n t.icaron = 0x01d0;\n t.icircle = 0x24d8;\n t.icircumflex = 0x00ee;\n t.icyrillic = 0x0456;\n t.idblgrave = 0x0209;\n t.ideographearthcircle = 0x328f;\n t.ideographfirecircle = 0x328b;\n t.ideographicallianceparen = 0x323f;\n t.ideographiccallparen = 0x323a;\n t.ideographiccentrecircle = 0x32a5;\n t.ideographicclose = 0x3006;\n t.ideographiccomma = 0x3001;\n t.ideographiccommaleft = 0xff64;\n t.ideographiccongratulationparen = 0x3237;\n t.ideographiccorrectcircle = 0x32a3;\n t.ideographicearthparen = 0x322f;\n t.ideographicenterpriseparen = 0x323d;\n t.ideographicexcellentcircle = 0x329d;\n t.ideographicfestivalparen = 0x3240;\n t.ideographicfinancialcircle = 0x3296;\n t.ideographicfinancialparen = 0x3236;\n t.ideographicfireparen = 0x322b;\n t.ideographichaveparen = 0x3232;\n t.ideographichighcircle = 0x32a4;\n t.ideographiciterationmark = 0x3005;\n t.ideographiclaborcircle = 0x3298;\n t.ideographiclaborparen = 0x3238;\n t.ideographicleftcircle = 0x32a7;\n t.ideographiclowcircle = 0x32a6;\n t.ideographicmedicinecircle = 0x32a9;\n t.ideographicmetalparen = 0x322e;\n t.ideographicmoonparen = 0x322a;\n t.ideographicnameparen = 0x3234;\n t.ideographicperiod = 0x3002;\n t.ideographicprintcircle = 0x329e;\n t.ideographicreachparen = 0x3243;\n t.ideographicrepresentparen = 0x3239;\n t.ideographicresourceparen = 0x323e;\n t.ideographicrightcircle = 0x32a8;\n t.ideographicsecretcircle = 0x3299;\n t.ideographicselfparen = 0x3242;\n t.ideographicsocietyparen = 0x3233;\n t.ideographicspace = 0x3000;\n t.ideographicspecialparen = 0x3235;\n t.ideographicstockparen = 0x3231;\n t.ideographicstudyparen = 0x323b;\n t.ideographicsunparen = 0x3230;\n t.ideographicsuperviseparen = 0x323c;\n t.ideographicwaterparen = 0x322c;\n t.ideographicwoodparen = 0x322d;\n t.ideographiczero = 0x3007;\n t.ideographmetalcircle = 0x328e;\n t.ideographmooncircle = 0x328a;\n t.ideographnamecircle = 0x3294;\n t.ideographsuncircle = 0x3290;\n t.ideographwatercircle = 0x328c;\n t.ideographwoodcircle = 0x328d;\n t.ideva = 0x0907;\n t.idieresis = 0x00ef;\n t.idieresisacute = 0x1e2f;\n t.idieresiscyrillic = 0x04e5;\n t.idotbelow = 0x1ecb;\n t.iebrevecyrillic = 0x04d7;\n t.iecyrillic = 0x0435;\n t.ieungacirclekorean = 0x3275;\n t.ieungaparenkorean = 0x3215;\n t.ieungcirclekorean = 0x3267;\n t.ieungkorean = 0x3147;\n t.ieungparenkorean = 0x3207;\n t.igrave = 0x00ec;\n t.igujarati = 0x0a87;\n t.igurmukhi = 0x0a07;\n t.ihiragana = 0x3044;\n t.ihookabove = 0x1ec9;\n t.iibengali = 0x0988;\n t.iicyrillic = 0x0438;\n t.iideva = 0x0908;\n t.iigujarati = 0x0a88;\n t.iigurmukhi = 0x0a08;\n t.iimatragurmukhi = 0x0a40;\n t.iinvertedbreve = 0x020b;\n t.iishortcyrillic = 0x0439;\n t.iivowelsignbengali = 0x09c0;\n t.iivowelsigndeva = 0x0940;\n t.iivowelsigngujarati = 0x0ac0;\n t.ij = 0x0133;\n t.ikatakana = 0x30a4;\n t.ikatakanahalfwidth = 0xff72;\n t.ikorean = 0x3163;\n t.ilde = 0x02dc;\n t.iluyhebrew = 0x05ac;\n t.imacron = 0x012b;\n t.imacroncyrillic = 0x04e3;\n t.imageorapproximatelyequal = 0x2253;\n t.imatragurmukhi = 0x0a3f;\n t.imonospace = 0xff49;\n t.increment = 0x2206;\n t.infinity = 0x221e;\n t.iniarmenian = 0x056b;\n t.integral = 0x222b;\n t.integralbottom = 0x2321;\n t.integralbt = 0x2321;\n t.integralex = 0xf8f5;\n t.integraltop = 0x2320;\n t.integraltp = 0x2320;\n t.intersection = 0x2229;\n t.intisquare = 0x3305;\n t.invbullet = 0x25d8;\n t.invcircle = 0x25d9;\n t.invsmileface = 0x263b;\n t.iocyrillic = 0x0451;\n t.iogonek = 0x012f;\n t.iota = 0x03b9;\n t.iotadieresis = 0x03ca;\n t.iotadieresistonos = 0x0390;\n t.iotalatin = 0x0269;\n t.iotatonos = 0x03af;\n t.iparen = 0x24a4;\n t.irigurmukhi = 0x0a72;\n t.ismallhiragana = 0x3043;\n t.ismallkatakana = 0x30a3;\n t.ismallkatakanahalfwidth = 0xff68;\n t.issharbengali = 0x09fa;\n t.istroke = 0x0268;\n t.isuperior = 0xf6ed;\n t.iterationhiragana = 0x309d;\n t.iterationkatakana = 0x30fd;\n t.itilde = 0x0129;\n t.itildebelow = 0x1e2d;\n t.iubopomofo = 0x3129;\n t.iucyrillic = 0x044e;\n t.ivowelsignbengali = 0x09bf;\n t.ivowelsigndeva = 0x093f;\n t.ivowelsigngujarati = 0x0abf;\n t.izhitsacyrillic = 0x0475;\n t.izhitsadblgravecyrillic = 0x0477;\n t.j = 0x006a;\n t.jaarmenian = 0x0571;\n t.jabengali = 0x099c;\n t.jadeva = 0x091c;\n t.jagujarati = 0x0a9c;\n t.jagurmukhi = 0x0a1c;\n t.jbopomofo = 0x3110;\n t.jcaron = 0x01f0;\n t.jcircle = 0x24d9;\n t.jcircumflex = 0x0135;\n t.jcrossedtail = 0x029d;\n t.jdotlessstroke = 0x025f;\n t.jecyrillic = 0x0458;\n t.jeemarabic = 0x062c;\n t.jeemfinalarabic = 0xfe9e;\n t.jeeminitialarabic = 0xfe9f;\n t.jeemmedialarabic = 0xfea0;\n t.jeharabic = 0x0698;\n t.jehfinalarabic = 0xfb8b;\n t.jhabengali = 0x099d;\n t.jhadeva = 0x091d;\n t.jhagujarati = 0x0a9d;\n t.jhagurmukhi = 0x0a1d;\n t.jheharmenian = 0x057b;\n t.jis = 0x3004;\n t.jmonospace = 0xff4a;\n t.jparen = 0x24a5;\n t.jsuperior = 0x02b2;\n t.k = 0x006b;\n t.kabashkircyrillic = 0x04a1;\n t.kabengali = 0x0995;\n t.kacute = 0x1e31;\n t.kacyrillic = 0x043a;\n t.kadescendercyrillic = 0x049b;\n t.kadeva = 0x0915;\n t.kaf = 0x05db;\n t.kafarabic = 0x0643;\n t.kafdagesh = 0xfb3b;\n t.kafdageshhebrew = 0xfb3b;\n t.kaffinalarabic = 0xfeda;\n t.kafhebrew = 0x05db;\n t.kafinitialarabic = 0xfedb;\n t.kafmedialarabic = 0xfedc;\n t.kafrafehebrew = 0xfb4d;\n t.kagujarati = 0x0a95;\n t.kagurmukhi = 0x0a15;\n t.kahiragana = 0x304b;\n t.kahookcyrillic = 0x04c4;\n t.kakatakana = 0x30ab;\n t.kakatakanahalfwidth = 0xff76;\n t.kappa = 0x03ba;\n t.kappasymbolgreek = 0x03f0;\n t.kapyeounmieumkorean = 0x3171;\n t.kapyeounphieuphkorean = 0x3184;\n t.kapyeounpieupkorean = 0x3178;\n t.kapyeounssangpieupkorean = 0x3179;\n t.karoriisquare = 0x330d;\n t.kashidaautoarabic = 0x0640;\n t.kashidaautonosidebearingarabic = 0x0640;\n t.kasmallkatakana = 0x30f5;\n t.kasquare = 0x3384;\n t.kasraarabic = 0x0650;\n t.kasratanarabic = 0x064d;\n t.kastrokecyrillic = 0x049f;\n t.katahiraprolongmarkhalfwidth = 0xff70;\n t.kaverticalstrokecyrillic = 0x049d;\n t.kbopomofo = 0x310e;\n t.kcalsquare = 0x3389;\n t.kcaron = 0x01e9;\n t.kcedilla = 0x0137;\n t.kcircle = 0x24da;\n t.kcommaaccent = 0x0137;\n t.kdotbelow = 0x1e33;\n t.keharmenian = 0x0584;\n t.kehiragana = 0x3051;\n t.kekatakana = 0x30b1;\n t.kekatakanahalfwidth = 0xff79;\n t.kenarmenian = 0x056f;\n t.kesmallkatakana = 0x30f6;\n t.kgreenlandic = 0x0138;\n t.khabengali = 0x0996;\n t.khacyrillic = 0x0445;\n t.khadeva = 0x0916;\n t.khagujarati = 0x0a96;\n t.khagurmukhi = 0x0a16;\n t.khaharabic = 0x062e;\n t.khahfinalarabic = 0xfea6;\n t.khahinitialarabic = 0xfea7;\n t.khahmedialarabic = 0xfea8;\n t.kheicoptic = 0x03e7;\n t.khhadeva = 0x0959;\n t.khhagurmukhi = 0x0a59;\n t.khieukhacirclekorean = 0x3278;\n t.khieukhaparenkorean = 0x3218;\n t.khieukhcirclekorean = 0x326a;\n t.khieukhkorean = 0x314b;\n t.khieukhparenkorean = 0x320a;\n t.khokhaithai = 0x0e02;\n t.khokhonthai = 0x0e05;\n t.khokhuatthai = 0x0e03;\n t.khokhwaithai = 0x0e04;\n t.khomutthai = 0x0e5b;\n t.khook = 0x0199;\n t.khorakhangthai = 0x0e06;\n t.khzsquare = 0x3391;\n t.kihiragana = 0x304d;\n t.kikatakana = 0x30ad;\n t.kikatakanahalfwidth = 0xff77;\n t.kiroguramusquare = 0x3315;\n t.kiromeetorusquare = 0x3316;\n t.kirosquare = 0x3314;\n t.kiyeokacirclekorean = 0x326e;\n t.kiyeokaparenkorean = 0x320e;\n t.kiyeokcirclekorean = 0x3260;\n t.kiyeokkorean = 0x3131;\n t.kiyeokparenkorean = 0x3200;\n t.kiyeoksioskorean = 0x3133;\n t.kjecyrillic = 0x045c;\n t.klinebelow = 0x1e35;\n t.klsquare = 0x3398;\n t.kmcubedsquare = 0x33a6;\n t.kmonospace = 0xff4b;\n t.kmsquaredsquare = 0x33a2;\n t.kohiragana = 0x3053;\n t.kohmsquare = 0x33c0;\n t.kokaithai = 0x0e01;\n t.kokatakana = 0x30b3;\n t.kokatakanahalfwidth = 0xff7a;\n t.kooposquare = 0x331e;\n t.koppacyrillic = 0x0481;\n t.koreanstandardsymbol = 0x327f;\n t.koroniscmb = 0x0343;\n t.kparen = 0x24a6;\n t.kpasquare = 0x33aa;\n t.ksicyrillic = 0x046f;\n t.ktsquare = 0x33cf;\n t.kturned = 0x029e;\n t.kuhiragana = 0x304f;\n t.kukatakana = 0x30af;\n t.kukatakanahalfwidth = 0xff78;\n t.kvsquare = 0x33b8;\n t.kwsquare = 0x33be;\n t.l = 0x006c;\n t.labengali = 0x09b2;\n t.lacute = 0x013a;\n t.ladeva = 0x0932;\n t.lagujarati = 0x0ab2;\n t.lagurmukhi = 0x0a32;\n t.lakkhangyaothai = 0x0e45;\n t.lamaleffinalarabic = 0xfefc;\n t.lamalefhamzaabovefinalarabic = 0xfef8;\n t.lamalefhamzaaboveisolatedarabic = 0xfef7;\n t.lamalefhamzabelowfinalarabic = 0xfefa;\n t.lamalefhamzabelowisolatedarabic = 0xfef9;\n t.lamalefisolatedarabic = 0xfefb;\n t.lamalefmaddaabovefinalarabic = 0xfef6;\n t.lamalefmaddaaboveisolatedarabic = 0xfef5;\n t.lamarabic = 0x0644;\n t.lambda = 0x03bb;\n t.lambdastroke = 0x019b;\n t.lamed = 0x05dc;\n t.lameddagesh = 0xfb3c;\n t.lameddageshhebrew = 0xfb3c;\n t.lamedhebrew = 0x05dc;\n t.lamfinalarabic = 0xfede;\n t.lamhahinitialarabic = 0xfcca;\n t.laminitialarabic = 0xfedf;\n t.lamjeeminitialarabic = 0xfcc9;\n t.lamkhahinitialarabic = 0xfccb;\n t.lamlamhehisolatedarabic = 0xfdf2;\n t.lammedialarabic = 0xfee0;\n t.lammeemhahinitialarabic = 0xfd88;\n t.lammeeminitialarabic = 0xfccc;\n t.largecircle = 0x25ef;\n t.lbar = 0x019a;\n t.lbelt = 0x026c;\n t.lbopomofo = 0x310c;\n t.lcaron = 0x013e;\n t.lcedilla = 0x013c;\n t.lcircle = 0x24db;\n t.lcircumflexbelow = 0x1e3d;\n t.lcommaaccent = 0x013c;\n t.ldot = 0x0140;\n t.ldotaccent = 0x0140;\n t.ldotbelow = 0x1e37;\n t.ldotbelowmacron = 0x1e39;\n t.leftangleabovecmb = 0x031a;\n t.lefttackbelowcmb = 0x0318;\n t.less = 0x003c;\n t.lessequal = 0x2264;\n t.lessequalorgreater = 0x22da;\n t.lessmonospace = 0xff1c;\n t.lessorequivalent = 0x2272;\n t.lessorgreater = 0x2276;\n t.lessoverequal = 0x2266;\n t.lesssmall = 0xfe64;\n t.lezh = 0x026e;\n t.lfblock = 0x258c;\n t.lhookretroflex = 0x026d;\n t.lira = 0x20a4;\n t.liwnarmenian = 0x056c;\n t.lj = 0x01c9;\n t.ljecyrillic = 0x0459;\n t.ll = 0xf6c0;\n t.lladeva = 0x0933;\n t.llagujarati = 0x0ab3;\n t.llinebelow = 0x1e3b;\n t.llladeva = 0x0934;\n t.llvocalicbengali = 0x09e1;\n t.llvocalicdeva = 0x0961;\n t.llvocalicvowelsignbengali = 0x09e3;\n t.llvocalicvowelsigndeva = 0x0963;\n t.lmiddletilde = 0x026b;\n t.lmonospace = 0xff4c;\n t.lmsquare = 0x33d0;\n t.lochulathai = 0x0e2c;\n t.logicaland = 0x2227;\n t.logicalnot = 0x00ac;\n t.logicalnotreversed = 0x2310;\n t.logicalor = 0x2228;\n t.lolingthai = 0x0e25;\n t.longs = 0x017f;\n t.lowlinecenterline = 0xfe4e;\n t.lowlinecmb = 0x0332;\n t.lowlinedashed = 0xfe4d;\n t.lozenge = 0x25ca;\n t.lparen = 0x24a7;\n t.lslash = 0x0142;\n t.lsquare = 0x2113;\n t.lsuperior = 0xf6ee;\n t.ltshade = 0x2591;\n t.luthai = 0x0e26;\n t.lvocalicbengali = 0x098c;\n t.lvocalicdeva = 0x090c;\n t.lvocalicvowelsignbengali = 0x09e2;\n t.lvocalicvowelsigndeva = 0x0962;\n t.lxsquare = 0x33d3;\n t.m = 0x006d;\n t.mabengali = 0x09ae;\n t.macron = 0x00af;\n t.macronbelowcmb = 0x0331;\n t.macroncmb = 0x0304;\n t.macronlowmod = 0x02cd;\n t.macronmonospace = 0xffe3;\n t.macute = 0x1e3f;\n t.madeva = 0x092e;\n t.magujarati = 0x0aae;\n t.magurmukhi = 0x0a2e;\n t.mahapakhhebrew = 0x05a4;\n t.mahapakhlefthebrew = 0x05a4;\n t.mahiragana = 0x307e;\n t.maichattawalowleftthai = 0xf895;\n t.maichattawalowrightthai = 0xf894;\n t.maichattawathai = 0x0e4b;\n t.maichattawaupperleftthai = 0xf893;\n t.maieklowleftthai = 0xf88c;\n t.maieklowrightthai = 0xf88b;\n t.maiekthai = 0x0e48;\n t.maiekupperleftthai = 0xf88a;\n t.maihanakatleftthai = 0xf884;\n t.maihanakatthai = 0x0e31;\n t.maitaikhuleftthai = 0xf889;\n t.maitaikhuthai = 0x0e47;\n t.maitholowleftthai = 0xf88f;\n t.maitholowrightthai = 0xf88e;\n t.maithothai = 0x0e49;\n t.maithoupperleftthai = 0xf88d;\n t.maitrilowleftthai = 0xf892;\n t.maitrilowrightthai = 0xf891;\n t.maitrithai = 0x0e4a;\n t.maitriupperleftthai = 0xf890;\n t.maiyamokthai = 0x0e46;\n t.makatakana = 0x30de;\n t.makatakanahalfwidth = 0xff8f;\n t.male = 0x2642;\n t.mansyonsquare = 0x3347;\n t.maqafhebrew = 0x05be;\n t.mars = 0x2642;\n t.masoracirclehebrew = 0x05af;\n t.masquare = 0x3383;\n t.mbopomofo = 0x3107;\n t.mbsquare = 0x33d4;\n t.mcircle = 0x24dc;\n t.mcubedsquare = 0x33a5;\n t.mdotaccent = 0x1e41;\n t.mdotbelow = 0x1e43;\n t.meemarabic = 0x0645;\n t.meemfinalarabic = 0xfee2;\n t.meeminitialarabic = 0xfee3;\n t.meemmedialarabic = 0xfee4;\n t.meemmeeminitialarabic = 0xfcd1;\n t.meemmeemisolatedarabic = 0xfc48;\n t.meetorusquare = 0x334d;\n t.mehiragana = 0x3081;\n t.meizierasquare = 0x337e;\n t.mekatakana = 0x30e1;\n t.mekatakanahalfwidth = 0xff92;\n t.mem = 0x05de;\n t.memdagesh = 0xfb3e;\n t.memdageshhebrew = 0xfb3e;\n t.memhebrew = 0x05de;\n t.menarmenian = 0x0574;\n t.merkhahebrew = 0x05a5;\n t.merkhakefulahebrew = 0x05a6;\n t.merkhakefulalefthebrew = 0x05a6;\n t.merkhalefthebrew = 0x05a5;\n t.mhook = 0x0271;\n t.mhzsquare = 0x3392;\n t.middledotkatakanahalfwidth = 0xff65;\n t.middot = 0x00b7;\n t.mieumacirclekorean = 0x3272;\n t.mieumaparenkorean = 0x3212;\n t.mieumcirclekorean = 0x3264;\n t.mieumkorean = 0x3141;\n t.mieumpansioskorean = 0x3170;\n t.mieumparenkorean = 0x3204;\n t.mieumpieupkorean = 0x316e;\n t.mieumsioskorean = 0x316f;\n t.mihiragana = 0x307f;\n t.mikatakana = 0x30df;\n t.mikatakanahalfwidth = 0xff90;\n t.minus = 0x2212;\n t.minusbelowcmb = 0x0320;\n t.minuscircle = 0x2296;\n t.minusmod = 0x02d7;\n t.minusplus = 0x2213;\n t.minute = 0x2032;\n t.miribaarusquare = 0x334a;\n t.mirisquare = 0x3349;\n t.mlonglegturned = 0x0270;\n t.mlsquare = 0x3396;\n t.mmcubedsquare = 0x33a3;\n t.mmonospace = 0xff4d;\n t.mmsquaredsquare = 0x339f;\n t.mohiragana = 0x3082;\n t.mohmsquare = 0x33c1;\n t.mokatakana = 0x30e2;\n t.mokatakanahalfwidth = 0xff93;\n t.molsquare = 0x33d6;\n t.momathai = 0x0e21;\n t.moverssquare = 0x33a7;\n t.moverssquaredsquare = 0x33a8;\n t.mparen = 0x24a8;\n t.mpasquare = 0x33ab;\n t.mssquare = 0x33b3;\n t.msuperior = 0xf6ef;\n t.mturned = 0x026f;\n t.mu = 0x00b5;\n t.mu1 = 0x00b5;\n t.muasquare = 0x3382;\n t.muchgreater = 0x226b;\n t.muchless = 0x226a;\n t.mufsquare = 0x338c;\n t.mugreek = 0x03bc;\n t.mugsquare = 0x338d;\n t.muhiragana = 0x3080;\n t.mukatakana = 0x30e0;\n t.mukatakanahalfwidth = 0xff91;\n t.mulsquare = 0x3395;\n t.multiply = 0x00d7;\n t.mumsquare = 0x339b;\n t.munahhebrew = 0x05a3;\n t.munahlefthebrew = 0x05a3;\n t.musicalnote = 0x266a;\n t.musicalnotedbl = 0x266b;\n t.musicflatsign = 0x266d;\n t.musicsharpsign = 0x266f;\n t.mussquare = 0x33b2;\n t.muvsquare = 0x33b6;\n t.muwsquare = 0x33bc;\n t.mvmegasquare = 0x33b9;\n t.mvsquare = 0x33b7;\n t.mwmegasquare = 0x33bf;\n t.mwsquare = 0x33bd;\n t.n = 0x006e;\n t.nabengali = 0x09a8;\n t.nabla = 0x2207;\n t.nacute = 0x0144;\n t.nadeva = 0x0928;\n t.nagujarati = 0x0aa8;\n t.nagurmukhi = 0x0a28;\n t.nahiragana = 0x306a;\n t.nakatakana = 0x30ca;\n t.nakatakanahalfwidth = 0xff85;\n t.napostrophe = 0x0149;\n t.nasquare = 0x3381;\n t.nbopomofo = 0x310b;\n t.nbspace = 0x00a0;\n t.ncaron = 0x0148;\n t.ncedilla = 0x0146;\n t.ncircle = 0x24dd;\n t.ncircumflexbelow = 0x1e4b;\n t.ncommaaccent = 0x0146;\n t.ndotaccent = 0x1e45;\n t.ndotbelow = 0x1e47;\n t.nehiragana = 0x306d;\n t.nekatakana = 0x30cd;\n t.nekatakanahalfwidth = 0xff88;\n t.newsheqelsign = 0x20aa;\n t.nfsquare = 0x338b;\n t.ngabengali = 0x0999;\n t.ngadeva = 0x0919;\n t.ngagujarati = 0x0a99;\n t.ngagurmukhi = 0x0a19;\n t.ngonguthai = 0x0e07;\n t.nhiragana = 0x3093;\n t.nhookleft = 0x0272;\n t.nhookretroflex = 0x0273;\n t.nieunacirclekorean = 0x326f;\n t.nieunaparenkorean = 0x320f;\n t.nieuncieuckorean = 0x3135;\n t.nieuncirclekorean = 0x3261;\n t.nieunhieuhkorean = 0x3136;\n t.nieunkorean = 0x3134;\n t.nieunpansioskorean = 0x3168;\n t.nieunparenkorean = 0x3201;\n t.nieunsioskorean = 0x3167;\n t.nieuntikeutkorean = 0x3166;\n t.nihiragana = 0x306b;\n t.nikatakana = 0x30cb;\n t.nikatakanahalfwidth = 0xff86;\n t.nikhahitleftthai = 0xf899;\n t.nikhahitthai = 0x0e4d;\n t.nine = 0x0039;\n t.ninearabic = 0x0669;\n t.ninebengali = 0x09ef;\n t.ninecircle = 0x2468;\n t.ninecircleinversesansserif = 0x2792;\n t.ninedeva = 0x096f;\n t.ninegujarati = 0x0aef;\n t.ninegurmukhi = 0x0a6f;\n t.ninehackarabic = 0x0669;\n t.ninehangzhou = 0x3029;\n t.nineideographicparen = 0x3228;\n t.nineinferior = 0x2089;\n t.ninemonospace = 0xff19;\n t.nineoldstyle = 0xf739;\n t.nineparen = 0x247c;\n t.nineperiod = 0x2490;\n t.ninepersian = 0x06f9;\n t.nineroman = 0x2178;\n t.ninesuperior = 0x2079;\n t.nineteencircle = 0x2472;\n t.nineteenparen = 0x2486;\n t.nineteenperiod = 0x249a;\n t.ninethai = 0x0e59;\n t.nj = 0x01cc;\n t.njecyrillic = 0x045a;\n t.nkatakana = 0x30f3;\n t.nkatakanahalfwidth = 0xff9d;\n t.nlegrightlong = 0x019e;\n t.nlinebelow = 0x1e49;\n t.nmonospace = 0xff4e;\n t.nmsquare = 0x339a;\n t.nnabengali = 0x09a3;\n t.nnadeva = 0x0923;\n t.nnagujarati = 0x0aa3;\n t.nnagurmukhi = 0x0a23;\n t.nnnadeva = 0x0929;\n t.nohiragana = 0x306e;\n t.nokatakana = 0x30ce;\n t.nokatakanahalfwidth = 0xff89;\n t.nonbreakingspace = 0x00a0;\n t.nonenthai = 0x0e13;\n t.nonuthai = 0x0e19;\n t.noonarabic = 0x0646;\n t.noonfinalarabic = 0xfee6;\n t.noonghunnaarabic = 0x06ba;\n t.noonghunnafinalarabic = 0xfb9f;\n t.nooninitialarabic = 0xfee7;\n t.noonjeeminitialarabic = 0xfcd2;\n t.noonjeemisolatedarabic = 0xfc4b;\n t.noonmedialarabic = 0xfee8;\n t.noonmeeminitialarabic = 0xfcd5;\n t.noonmeemisolatedarabic = 0xfc4e;\n t.noonnoonfinalarabic = 0xfc8d;\n t.notcontains = 0x220c;\n t.notelement = 0x2209;\n t.notelementof = 0x2209;\n t.notequal = 0x2260;\n t.notgreater = 0x226f;\n t.notgreaternorequal = 0x2271;\n t.notgreaternorless = 0x2279;\n t.notidentical = 0x2262;\n t.notless = 0x226e;\n t.notlessnorequal = 0x2270;\n t.notparallel = 0x2226;\n t.notprecedes = 0x2280;\n t.notsubset = 0x2284;\n t.notsucceeds = 0x2281;\n t.notsuperset = 0x2285;\n t.nowarmenian = 0x0576;\n t.nparen = 0x24a9;\n t.nssquare = 0x33b1;\n t.nsuperior = 0x207f;\n t.ntilde = 0x00f1;\n t.nu = 0x03bd;\n t.nuhiragana = 0x306c;\n t.nukatakana = 0x30cc;\n t.nukatakanahalfwidth = 0xff87;\n t.nuktabengali = 0x09bc;\n t.nuktadeva = 0x093c;\n t.nuktagujarati = 0x0abc;\n t.nuktagurmukhi = 0x0a3c;\n t.numbersign = 0x0023;\n t.numbersignmonospace = 0xff03;\n t.numbersignsmall = 0xfe5f;\n t.numeralsigngreek = 0x0374;\n t.numeralsignlowergreek = 0x0375;\n t.numero = 0x2116;\n t.nun = 0x05e0;\n t.nundagesh = 0xfb40;\n t.nundageshhebrew = 0xfb40;\n t.nunhebrew = 0x05e0;\n t.nvsquare = 0x33b5;\n t.nwsquare = 0x33bb;\n t.nyabengali = 0x099e;\n t.nyadeva = 0x091e;\n t.nyagujarati = 0x0a9e;\n t.nyagurmukhi = 0x0a1e;\n t.o = 0x006f;\n t.oacute = 0x00f3;\n t.oangthai = 0x0e2d;\n t.obarred = 0x0275;\n t.obarredcyrillic = 0x04e9;\n t.obarreddieresiscyrillic = 0x04eb;\n t.obengali = 0x0993;\n t.obopomofo = 0x311b;\n t.obreve = 0x014f;\n t.ocandradeva = 0x0911;\n t.ocandragujarati = 0x0a91;\n t.ocandravowelsigndeva = 0x0949;\n t.ocandravowelsigngujarati = 0x0ac9;\n t.ocaron = 0x01d2;\n t.ocircle = 0x24de;\n t.ocircumflex = 0x00f4;\n t.ocircumflexacute = 0x1ed1;\n t.ocircumflexdotbelow = 0x1ed9;\n t.ocircumflexgrave = 0x1ed3;\n t.ocircumflexhookabove = 0x1ed5;\n t.ocircumflextilde = 0x1ed7;\n t.ocyrillic = 0x043e;\n t.odblacute = 0x0151;\n t.odblgrave = 0x020d;\n t.odeva = 0x0913;\n t.odieresis = 0x00f6;\n t.odieresiscyrillic = 0x04e7;\n t.odotbelow = 0x1ecd;\n t.oe = 0x0153;\n t.oekorean = 0x315a;\n t.ogonek = 0x02db;\n t.ogonekcmb = 0x0328;\n t.ograve = 0x00f2;\n t.ogujarati = 0x0a93;\n t.oharmenian = 0x0585;\n t.ohiragana = 0x304a;\n t.ohookabove = 0x1ecf;\n t.ohorn = 0x01a1;\n t.ohornacute = 0x1edb;\n t.ohorndotbelow = 0x1ee3;\n t.ohorngrave = 0x1edd;\n t.ohornhookabove = 0x1edf;\n t.ohorntilde = 0x1ee1;\n t.ohungarumlaut = 0x0151;\n t.oi = 0x01a3;\n t.oinvertedbreve = 0x020f;\n t.okatakana = 0x30aa;\n t.okatakanahalfwidth = 0xff75;\n t.okorean = 0x3157;\n t.olehebrew = 0x05ab;\n t.omacron = 0x014d;\n t.omacronacute = 0x1e53;\n t.omacrongrave = 0x1e51;\n t.omdeva = 0x0950;\n t.omega = 0x03c9;\n t.omega1 = 0x03d6;\n t.omegacyrillic = 0x0461;\n t.omegalatinclosed = 0x0277;\n t.omegaroundcyrillic = 0x047b;\n t.omegatitlocyrillic = 0x047d;\n t.omegatonos = 0x03ce;\n t.omgujarati = 0x0ad0;\n t.omicron = 0x03bf;\n t.omicrontonos = 0x03cc;\n t.omonospace = 0xff4f;\n t.one = 0x0031;\n t.onearabic = 0x0661;\n t.onebengali = 0x09e7;\n t.onecircle = 0x2460;\n t.onecircleinversesansserif = 0x278a;\n t.onedeva = 0x0967;\n t.onedotenleader = 0x2024;\n t.oneeighth = 0x215b;\n t.onefitted = 0xf6dc;\n t.onegujarati = 0x0ae7;\n t.onegurmukhi = 0x0a67;\n t.onehackarabic = 0x0661;\n t.onehalf = 0x00bd;\n t.onehangzhou = 0x3021;\n t.oneideographicparen = 0x3220;\n t.oneinferior = 0x2081;\n t.onemonospace = 0xff11;\n t.onenumeratorbengali = 0x09f4;\n t.oneoldstyle = 0xf731;\n t.oneparen = 0x2474;\n t.oneperiod = 0x2488;\n t.onepersian = 0x06f1;\n t.onequarter = 0x00bc;\n t.oneroman = 0x2170;\n t.onesuperior = 0x00b9;\n t.onethai = 0x0e51;\n t.onethird = 0x2153;\n t.oogonek = 0x01eb;\n t.oogonekmacron = 0x01ed;\n t.oogurmukhi = 0x0a13;\n t.oomatragurmukhi = 0x0a4b;\n t.oopen = 0x0254;\n t.oparen = 0x24aa;\n t.openbullet = 0x25e6;\n t.option = 0x2325;\n t.ordfeminine = 0x00aa;\n t.ordmasculine = 0x00ba;\n t.orthogonal = 0x221f;\n t.oshortdeva = 0x0912;\n t.oshortvowelsigndeva = 0x094a;\n t.oslash = 0x00f8;\n t.oslashacute = 0x01ff;\n t.osmallhiragana = 0x3049;\n t.osmallkatakana = 0x30a9;\n t.osmallkatakanahalfwidth = 0xff6b;\n t.ostrokeacute = 0x01ff;\n t.osuperior = 0xf6f0;\n t.otcyrillic = 0x047f;\n t.otilde = 0x00f5;\n t.otildeacute = 0x1e4d;\n t.otildedieresis = 0x1e4f;\n t.oubopomofo = 0x3121;\n t.overline = 0x203e;\n t.overlinecenterline = 0xfe4a;\n t.overlinecmb = 0x0305;\n t.overlinedashed = 0xfe49;\n t.overlinedblwavy = 0xfe4c;\n t.overlinewavy = 0xfe4b;\n t.overscore = 0x00af;\n t.ovowelsignbengali = 0x09cb;\n t.ovowelsigndeva = 0x094b;\n t.ovowelsigngujarati = 0x0acb;\n t.p = 0x0070;\n t.paampssquare = 0x3380;\n t.paasentosquare = 0x332b;\n t.pabengali = 0x09aa;\n t.pacute = 0x1e55;\n t.padeva = 0x092a;\n t.pagedown = 0x21df;\n t.pageup = 0x21de;\n t.pagujarati = 0x0aaa;\n t.pagurmukhi = 0x0a2a;\n t.pahiragana = 0x3071;\n t.paiyannoithai = 0x0e2f;\n t.pakatakana = 0x30d1;\n t.palatalizationcyrilliccmb = 0x0484;\n t.palochkacyrillic = 0x04c0;\n t.pansioskorean = 0x317f;\n t.paragraph = 0x00b6;\n t.parallel = 0x2225;\n t.parenleft = 0x0028;\n t.parenleftaltonearabic = 0xfd3e;\n t.parenleftbt = 0xf8ed;\n t.parenleftex = 0xf8ec;\n t.parenleftinferior = 0x208d;\n t.parenleftmonospace = 0xff08;\n t.parenleftsmall = 0xfe59;\n t.parenleftsuperior = 0x207d;\n t.parenlefttp = 0xf8eb;\n t.parenleftvertical = 0xfe35;\n t.parenright = 0x0029;\n t.parenrightaltonearabic = 0xfd3f;\n t.parenrightbt = 0xf8f8;\n t.parenrightex = 0xf8f7;\n t.parenrightinferior = 0x208e;\n t.parenrightmonospace = 0xff09;\n t.parenrightsmall = 0xfe5a;\n t.parenrightsuperior = 0x207e;\n t.parenrighttp = 0xf8f6;\n t.parenrightvertical = 0xfe36;\n t.partialdiff = 0x2202;\n t.paseqhebrew = 0x05c0;\n t.pashtahebrew = 0x0599;\n t.pasquare = 0x33a9;\n t.patah = 0x05b7;\n t.patah11 = 0x05b7;\n t.patah1d = 0x05b7;\n t.patah2a = 0x05b7;\n t.patahhebrew = 0x05b7;\n t.patahnarrowhebrew = 0x05b7;\n t.patahquarterhebrew = 0x05b7;\n t.patahwidehebrew = 0x05b7;\n t.pazerhebrew = 0x05a1;\n t.pbopomofo = 0x3106;\n t.pcircle = 0x24df;\n t.pdotaccent = 0x1e57;\n t.pe = 0x05e4;\n t.pecyrillic = 0x043f;\n t.pedagesh = 0xfb44;\n t.pedageshhebrew = 0xfb44;\n t.peezisquare = 0x333b;\n t.pefinaldageshhebrew = 0xfb43;\n t.peharabic = 0x067e;\n t.peharmenian = 0x057a;\n t.pehebrew = 0x05e4;\n t.pehfinalarabic = 0xfb57;\n t.pehinitialarabic = 0xfb58;\n t.pehiragana = 0x307a;\n t.pehmedialarabic = 0xfb59;\n t.pekatakana = 0x30da;\n t.pemiddlehookcyrillic = 0x04a7;\n t.perafehebrew = 0xfb4e;\n t.percent = 0x0025;\n t.percentarabic = 0x066a;\n t.percentmonospace = 0xff05;\n t.percentsmall = 0xfe6a;\n t.period = 0x002e;\n t.periodarmenian = 0x0589;\n t.periodcentered = 0x00b7;\n t.periodhalfwidth = 0xff61;\n t.periodinferior = 0xf6e7;\n t.periodmonospace = 0xff0e;\n t.periodsmall = 0xfe52;\n t.periodsuperior = 0xf6e8;\n t.perispomenigreekcmb = 0x0342;\n t.perpendicular = 0x22a5;\n t.perthousand = 0x2030;\n t.peseta = 0x20a7;\n t.pfsquare = 0x338a;\n t.phabengali = 0x09ab;\n t.phadeva = 0x092b;\n t.phagujarati = 0x0aab;\n t.phagurmukhi = 0x0a2b;\n t.phi = 0x03c6;\n t.phi1 = 0x03d5;\n t.phieuphacirclekorean = 0x327a;\n t.phieuphaparenkorean = 0x321a;\n t.phieuphcirclekorean = 0x326c;\n t.phieuphkorean = 0x314d;\n t.phieuphparenkorean = 0x320c;\n t.philatin = 0x0278;\n t.phinthuthai = 0x0e3a;\n t.phisymbolgreek = 0x03d5;\n t.phook = 0x01a5;\n t.phophanthai = 0x0e1e;\n t.phophungthai = 0x0e1c;\n t.phosamphaothai = 0x0e20;\n t.pi = 0x03c0;\n t.pieupacirclekorean = 0x3273;\n t.pieupaparenkorean = 0x3213;\n t.pieupcieuckorean = 0x3176;\n t.pieupcirclekorean = 0x3265;\n t.pieupkiyeokkorean = 0x3172;\n t.pieupkorean = 0x3142;\n t.pieupparenkorean = 0x3205;\n t.pieupsioskiyeokkorean = 0x3174;\n t.pieupsioskorean = 0x3144;\n t.pieupsiostikeutkorean = 0x3175;\n t.pieupthieuthkorean = 0x3177;\n t.pieuptikeutkorean = 0x3173;\n t.pihiragana = 0x3074;\n t.pikatakana = 0x30d4;\n t.pisymbolgreek = 0x03d6;\n t.piwrarmenian = 0x0583;\n t.planckover2pi = 0x210f;\n t.planckover2pi1 = 0x210f;\n t.plus = 0x002b;\n t.plusbelowcmb = 0x031f;\n t.pluscircle = 0x2295;\n t.plusminus = 0x00b1;\n t.plusmod = 0x02d6;\n t.plusmonospace = 0xff0b;\n t.plussmall = 0xfe62;\n t.plussuperior = 0x207a;\n t.pmonospace = 0xff50;\n t.pmsquare = 0x33d8;\n t.pohiragana = 0x307d;\n t.pointingindexdownwhite = 0x261f;\n t.pointingindexleftwhite = 0x261c;\n t.pointingindexrightwhite = 0x261e;\n t.pointingindexupwhite = 0x261d;\n t.pokatakana = 0x30dd;\n t.poplathai = 0x0e1b;\n t.postalmark = 0x3012;\n t.postalmarkface = 0x3020;\n t.pparen = 0x24ab;\n t.precedes = 0x227a;\n t.prescription = 0x211e;\n t.primemod = 0x02b9;\n t.primereversed = 0x2035;\n t.product = 0x220f;\n t.projective = 0x2305;\n t.prolongedkana = 0x30fc;\n t.propellor = 0x2318;\n t.propersubset = 0x2282;\n t.propersuperset = 0x2283;\n t.proportion = 0x2237;\n t.proportional = 0x221d;\n t.psi = 0x03c8;\n t.psicyrillic = 0x0471;\n t.psilipneumatacyrilliccmb = 0x0486;\n t.pssquare = 0x33b0;\n t.puhiragana = 0x3077;\n t.pukatakana = 0x30d7;\n t.pvsquare = 0x33b4;\n t.pwsquare = 0x33ba;\n t.q = 0x0071;\n t.qadeva = 0x0958;\n t.qadmahebrew = 0x05a8;\n t.qafarabic = 0x0642;\n t.qaffinalarabic = 0xfed6;\n t.qafinitialarabic = 0xfed7;\n t.qafmedialarabic = 0xfed8;\n t.qamats = 0x05b8;\n t.qamats10 = 0x05b8;\n t.qamats1a = 0x05b8;\n t.qamats1c = 0x05b8;\n t.qamats27 = 0x05b8;\n t.qamats29 = 0x05b8;\n t.qamats33 = 0x05b8;\n t.qamatsde = 0x05b8;\n t.qamatshebrew = 0x05b8;\n t.qamatsnarrowhebrew = 0x05b8;\n t.qamatsqatanhebrew = 0x05b8;\n t.qamatsqatannarrowhebrew = 0x05b8;\n t.qamatsqatanquarterhebrew = 0x05b8;\n t.qamatsqatanwidehebrew = 0x05b8;\n t.qamatsquarterhebrew = 0x05b8;\n t.qamatswidehebrew = 0x05b8;\n t.qarneyparahebrew = 0x059f;\n t.qbopomofo = 0x3111;\n t.qcircle = 0x24e0;\n t.qhook = 0x02a0;\n t.qmonospace = 0xff51;\n t.qof = 0x05e7;\n t.qofdagesh = 0xfb47;\n t.qofdageshhebrew = 0xfb47;\n t.qofhebrew = 0x05e7;\n t.qparen = 0x24ac;\n t.quarternote = 0x2669;\n t.qubuts = 0x05bb;\n t.qubuts18 = 0x05bb;\n t.qubuts25 = 0x05bb;\n t.qubuts31 = 0x05bb;\n t.qubutshebrew = 0x05bb;\n t.qubutsnarrowhebrew = 0x05bb;\n t.qubutsquarterhebrew = 0x05bb;\n t.qubutswidehebrew = 0x05bb;\n t.question = 0x003f;\n t.questionarabic = 0x061f;\n t.questionarmenian = 0x055e;\n t.questiondown = 0x00bf;\n t.questiondownsmall = 0xf7bf;\n t.questiongreek = 0x037e;\n t.questionmonospace = 0xff1f;\n t.questionsmall = 0xf73f;\n t.quotedbl = 0x0022;\n t.quotedblbase = 0x201e;\n t.quotedblleft = 0x201c;\n t.quotedblmonospace = 0xff02;\n t.quotedblprime = 0x301e;\n t.quotedblprimereversed = 0x301d;\n t.quotedblright = 0x201d;\n t.quoteleft = 0x2018;\n t.quoteleftreversed = 0x201b;\n t.quotereversed = 0x201b;\n t.quoteright = 0x2019;\n t.quoterightn = 0x0149;\n t.quotesinglbase = 0x201a;\n t.quotesingle = 0x0027;\n t.quotesinglemonospace = 0xff07;\n t.r = 0x0072;\n t.raarmenian = 0x057c;\n t.rabengali = 0x09b0;\n t.racute = 0x0155;\n t.radeva = 0x0930;\n t.radical = 0x221a;\n t.radicalex = 0xf8e5;\n t.radoverssquare = 0x33ae;\n t.radoverssquaredsquare = 0x33af;\n t.radsquare = 0x33ad;\n t.rafe = 0x05bf;\n t.rafehebrew = 0x05bf;\n t.ragujarati = 0x0ab0;\n t.ragurmukhi = 0x0a30;\n t.rahiragana = 0x3089;\n t.rakatakana = 0x30e9;\n t.rakatakanahalfwidth = 0xff97;\n t.ralowerdiagonalbengali = 0x09f1;\n t.ramiddlediagonalbengali = 0x09f0;\n t.ramshorn = 0x0264;\n t.ratio = 0x2236;\n t.rbopomofo = 0x3116;\n t.rcaron = 0x0159;\n t.rcedilla = 0x0157;\n t.rcircle = 0x24e1;\n t.rcommaaccent = 0x0157;\n t.rdblgrave = 0x0211;\n t.rdotaccent = 0x1e59;\n t.rdotbelow = 0x1e5b;\n t.rdotbelowmacron = 0x1e5d;\n t.referencemark = 0x203b;\n t.reflexsubset = 0x2286;\n t.reflexsuperset = 0x2287;\n t.registered = 0x00ae;\n t.registersans = 0xf8e8;\n t.registerserif = 0xf6da;\n t.reharabic = 0x0631;\n t.reharmenian = 0x0580;\n t.rehfinalarabic = 0xfeae;\n t.rehiragana = 0x308c;\n t.rekatakana = 0x30ec;\n t.rekatakanahalfwidth = 0xff9a;\n t.resh = 0x05e8;\n t.reshdageshhebrew = 0xfb48;\n t.reshhebrew = 0x05e8;\n t.reversedtilde = 0x223d;\n t.reviahebrew = 0x0597;\n t.reviamugrashhebrew = 0x0597;\n t.revlogicalnot = 0x2310;\n t.rfishhook = 0x027e;\n t.rfishhookreversed = 0x027f;\n t.rhabengali = 0x09dd;\n t.rhadeva = 0x095d;\n t.rho = 0x03c1;\n t.rhook = 0x027d;\n t.rhookturned = 0x027b;\n t.rhookturnedsuperior = 0x02b5;\n t.rhosymbolgreek = 0x03f1;\n t.rhotichookmod = 0x02de;\n t.rieulacirclekorean = 0x3271;\n t.rieulaparenkorean = 0x3211;\n t.rieulcirclekorean = 0x3263;\n t.rieulhieuhkorean = 0x3140;\n t.rieulkiyeokkorean = 0x313a;\n t.rieulkiyeoksioskorean = 0x3169;\n t.rieulkorean = 0x3139;\n t.rieulmieumkorean = 0x313b;\n t.rieulpansioskorean = 0x316c;\n t.rieulparenkorean = 0x3203;\n t.rieulphieuphkorean = 0x313f;\n t.rieulpieupkorean = 0x313c;\n t.rieulpieupsioskorean = 0x316b;\n t.rieulsioskorean = 0x313d;\n t.rieulthieuthkorean = 0x313e;\n t.rieultikeutkorean = 0x316a;\n t.rieulyeorinhieuhkorean = 0x316d;\n t.rightangle = 0x221f;\n t.righttackbelowcmb = 0x0319;\n t.righttriangle = 0x22bf;\n t.rihiragana = 0x308a;\n t.rikatakana = 0x30ea;\n t.rikatakanahalfwidth = 0xff98;\n t.ring = 0x02da;\n t.ringbelowcmb = 0x0325;\n t.ringcmb = 0x030a;\n t.ringhalfleft = 0x02bf;\n t.ringhalfleftarmenian = 0x0559;\n t.ringhalfleftbelowcmb = 0x031c;\n t.ringhalfleftcentered = 0x02d3;\n t.ringhalfright = 0x02be;\n t.ringhalfrightbelowcmb = 0x0339;\n t.ringhalfrightcentered = 0x02d2;\n t.rinvertedbreve = 0x0213;\n t.rittorusquare = 0x3351;\n t.rlinebelow = 0x1e5f;\n t.rlongleg = 0x027c;\n t.rlonglegturned = 0x027a;\n t.rmonospace = 0xff52;\n t.rohiragana = 0x308d;\n t.rokatakana = 0x30ed;\n t.rokatakanahalfwidth = 0xff9b;\n t.roruathai = 0x0e23;\n t.rparen = 0x24ad;\n t.rrabengali = 0x09dc;\n t.rradeva = 0x0931;\n t.rragurmukhi = 0x0a5c;\n t.rreharabic = 0x0691;\n t.rrehfinalarabic = 0xfb8d;\n t.rrvocalicbengali = 0x09e0;\n t.rrvocalicdeva = 0x0960;\n t.rrvocalicgujarati = 0x0ae0;\n t.rrvocalicvowelsignbengali = 0x09c4;\n t.rrvocalicvowelsigndeva = 0x0944;\n t.rrvocalicvowelsigngujarati = 0x0ac4;\n t.rsuperior = 0xf6f1;\n t.rtblock = 0x2590;\n t.rturned = 0x0279;\n t.rturnedsuperior = 0x02b4;\n t.ruhiragana = 0x308b;\n t.rukatakana = 0x30eb;\n t.rukatakanahalfwidth = 0xff99;\n t.rupeemarkbengali = 0x09f2;\n t.rupeesignbengali = 0x09f3;\n t.rupiah = 0xf6dd;\n t.ruthai = 0x0e24;\n t.rvocalicbengali = 0x098b;\n t.rvocalicdeva = 0x090b;\n t.rvocalicgujarati = 0x0a8b;\n t.rvocalicvowelsignbengali = 0x09c3;\n t.rvocalicvowelsigndeva = 0x0943;\n t.rvocalicvowelsigngujarati = 0x0ac3;\n t.s = 0x0073;\n t.sabengali = 0x09b8;\n t.sacute = 0x015b;\n t.sacutedotaccent = 0x1e65;\n t.sadarabic = 0x0635;\n t.sadeva = 0x0938;\n t.sadfinalarabic = 0xfeba;\n t.sadinitialarabic = 0xfebb;\n t.sadmedialarabic = 0xfebc;\n t.sagujarati = 0x0ab8;\n t.sagurmukhi = 0x0a38;\n t.sahiragana = 0x3055;\n t.sakatakana = 0x30b5;\n t.sakatakanahalfwidth = 0xff7b;\n t.sallallahoualayhewasallamarabic = 0xfdfa;\n t.samekh = 0x05e1;\n t.samekhdagesh = 0xfb41;\n t.samekhdageshhebrew = 0xfb41;\n t.samekhhebrew = 0x05e1;\n t.saraaathai = 0x0e32;\n t.saraaethai = 0x0e41;\n t.saraaimaimalaithai = 0x0e44;\n t.saraaimaimuanthai = 0x0e43;\n t.saraamthai = 0x0e33;\n t.saraathai = 0x0e30;\n t.saraethai = 0x0e40;\n t.saraiileftthai = 0xf886;\n t.saraiithai = 0x0e35;\n t.saraileftthai = 0xf885;\n t.saraithai = 0x0e34;\n t.saraothai = 0x0e42;\n t.saraueeleftthai = 0xf888;\n t.saraueethai = 0x0e37;\n t.saraueleftthai = 0xf887;\n t.sarauethai = 0x0e36;\n t.sarauthai = 0x0e38;\n t.sarauuthai = 0x0e39;\n t.sbopomofo = 0x3119;\n t.scaron = 0x0161;\n t.scarondotaccent = 0x1e67;\n t.scedilla = 0x015f;\n t.schwa = 0x0259;\n t.schwacyrillic = 0x04d9;\n t.schwadieresiscyrillic = 0x04db;\n t.schwahook = 0x025a;\n t.scircle = 0x24e2;\n t.scircumflex = 0x015d;\n t.scommaaccent = 0x0219;\n t.sdotaccent = 0x1e61;\n t.sdotbelow = 0x1e63;\n t.sdotbelowdotaccent = 0x1e69;\n t.seagullbelowcmb = 0x033c;\n t.second = 0x2033;\n t.secondtonechinese = 0x02ca;\n t.section = 0x00a7;\n t.seenarabic = 0x0633;\n t.seenfinalarabic = 0xfeb2;\n t.seeninitialarabic = 0xfeb3;\n t.seenmedialarabic = 0xfeb4;\n t.segol = 0x05b6;\n t.segol13 = 0x05b6;\n t.segol1f = 0x05b6;\n t.segol2c = 0x05b6;\n t.segolhebrew = 0x05b6;\n t.segolnarrowhebrew = 0x05b6;\n t.segolquarterhebrew = 0x05b6;\n t.segoltahebrew = 0x0592;\n t.segolwidehebrew = 0x05b6;\n t.seharmenian = 0x057d;\n t.sehiragana = 0x305b;\n t.sekatakana = 0x30bb;\n t.sekatakanahalfwidth = 0xff7e;\n t.semicolon = 0x003b;\n t.semicolonarabic = 0x061b;\n t.semicolonmonospace = 0xff1b;\n t.semicolonsmall = 0xfe54;\n t.semivoicedmarkkana = 0x309c;\n t.semivoicedmarkkanahalfwidth = 0xff9f;\n t.sentisquare = 0x3322;\n t.sentosquare = 0x3323;\n t.seven = 0x0037;\n t.sevenarabic = 0x0667;\n t.sevenbengali = 0x09ed;\n t.sevencircle = 0x2466;\n t.sevencircleinversesansserif = 0x2790;\n t.sevendeva = 0x096d;\n t.seveneighths = 0x215e;\n t.sevengujarati = 0x0aed;\n t.sevengurmukhi = 0x0a6d;\n t.sevenhackarabic = 0x0667;\n t.sevenhangzhou = 0x3027;\n t.sevenideographicparen = 0x3226;\n t.seveninferior = 0x2087;\n t.sevenmonospace = 0xff17;\n t.sevenoldstyle = 0xf737;\n t.sevenparen = 0x247a;\n t.sevenperiod = 0x248e;\n t.sevenpersian = 0x06f7;\n t.sevenroman = 0x2176;\n t.sevensuperior = 0x2077;\n t.seventeencircle = 0x2470;\n t.seventeenparen = 0x2484;\n t.seventeenperiod = 0x2498;\n t.seventhai = 0x0e57;\n t.sfthyphen = 0x00ad;\n t.shaarmenian = 0x0577;\n t.shabengali = 0x09b6;\n t.shacyrillic = 0x0448;\n t.shaddaarabic = 0x0651;\n t.shaddadammaarabic = 0xfc61;\n t.shaddadammatanarabic = 0xfc5e;\n t.shaddafathaarabic = 0xfc60;\n t.shaddakasraarabic = 0xfc62;\n t.shaddakasratanarabic = 0xfc5f;\n t.shade = 0x2592;\n t.shadedark = 0x2593;\n t.shadelight = 0x2591;\n t.shademedium = 0x2592;\n t.shadeva = 0x0936;\n t.shagujarati = 0x0ab6;\n t.shagurmukhi = 0x0a36;\n t.shalshelethebrew = 0x0593;\n t.shbopomofo = 0x3115;\n t.shchacyrillic = 0x0449;\n t.sheenarabic = 0x0634;\n t.sheenfinalarabic = 0xfeb6;\n t.sheeninitialarabic = 0xfeb7;\n t.sheenmedialarabic = 0xfeb8;\n t.sheicoptic = 0x03e3;\n t.sheqel = 0x20aa;\n t.sheqelhebrew = 0x20aa;\n t.sheva = 0x05b0;\n t.sheva115 = 0x05b0;\n t.sheva15 = 0x05b0;\n t.sheva22 = 0x05b0;\n t.sheva2e = 0x05b0;\n t.shevahebrew = 0x05b0;\n t.shevanarrowhebrew = 0x05b0;\n t.shevaquarterhebrew = 0x05b0;\n t.shevawidehebrew = 0x05b0;\n t.shhacyrillic = 0x04bb;\n t.shimacoptic = 0x03ed;\n t.shin = 0x05e9;\n t.shindagesh = 0xfb49;\n t.shindageshhebrew = 0xfb49;\n t.shindageshshindot = 0xfb2c;\n t.shindageshshindothebrew = 0xfb2c;\n t.shindageshsindot = 0xfb2d;\n t.shindageshsindothebrew = 0xfb2d;\n t.shindothebrew = 0x05c1;\n t.shinhebrew = 0x05e9;\n t.shinshindot = 0xfb2a;\n t.shinshindothebrew = 0xfb2a;\n t.shinsindot = 0xfb2b;\n t.shinsindothebrew = 0xfb2b;\n t.shook = 0x0282;\n t.sigma = 0x03c3;\n t.sigma1 = 0x03c2;\n t.sigmafinal = 0x03c2;\n t.sigmalunatesymbolgreek = 0x03f2;\n t.sihiragana = 0x3057;\n t.sikatakana = 0x30b7;\n t.sikatakanahalfwidth = 0xff7c;\n t.siluqhebrew = 0x05bd;\n t.siluqlefthebrew = 0x05bd;\n t.similar = 0x223c;\n t.sindothebrew = 0x05c2;\n t.siosacirclekorean = 0x3274;\n t.siosaparenkorean = 0x3214;\n t.sioscieuckorean = 0x317e;\n t.sioscirclekorean = 0x3266;\n t.sioskiyeokkorean = 0x317a;\n t.sioskorean = 0x3145;\n t.siosnieunkorean = 0x317b;\n t.siosparenkorean = 0x3206;\n t.siospieupkorean = 0x317d;\n t.siostikeutkorean = 0x317c;\n t.six = 0x0036;\n t.sixarabic = 0x0666;\n t.sixbengali = 0x09ec;\n t.sixcircle = 0x2465;\n t.sixcircleinversesansserif = 0x278f;\n t.sixdeva = 0x096c;\n t.sixgujarati = 0x0aec;\n t.sixgurmukhi = 0x0a6c;\n t.sixhackarabic = 0x0666;\n t.sixhangzhou = 0x3026;\n t.sixideographicparen = 0x3225;\n t.sixinferior = 0x2086;\n t.sixmonospace = 0xff16;\n t.sixoldstyle = 0xf736;\n t.sixparen = 0x2479;\n t.sixperiod = 0x248d;\n t.sixpersian = 0x06f6;\n t.sixroman = 0x2175;\n t.sixsuperior = 0x2076;\n t.sixteencircle = 0x246f;\n t.sixteencurrencydenominatorbengali = 0x09f9;\n t.sixteenparen = 0x2483;\n t.sixteenperiod = 0x2497;\n t.sixthai = 0x0e56;\n t.slash = 0x002f;\n t.slashmonospace = 0xff0f;\n t.slong = 0x017f;\n t.slongdotaccent = 0x1e9b;\n t.smileface = 0x263a;\n t.smonospace = 0xff53;\n t.sofpasuqhebrew = 0x05c3;\n t.softhyphen = 0x00ad;\n t.softsigncyrillic = 0x044c;\n t.sohiragana = 0x305d;\n t.sokatakana = 0x30bd;\n t.sokatakanahalfwidth = 0xff7f;\n t.soliduslongoverlaycmb = 0x0338;\n t.solidusshortoverlaycmb = 0x0337;\n t.sorusithai = 0x0e29;\n t.sosalathai = 0x0e28;\n t.sosothai = 0x0e0b;\n t.sosuathai = 0x0e2a;\n t.space = 0x0020;\n t.spacehackarabic = 0x0020;\n t.spade = 0x2660;\n t.spadesuitblack = 0x2660;\n t.spadesuitwhite = 0x2664;\n t.sparen = 0x24ae;\n t.squarebelowcmb = 0x033b;\n t.squarecc = 0x33c4;\n t.squarecm = 0x339d;\n t.squarediagonalcrosshatchfill = 0x25a9;\n t.squarehorizontalfill = 0x25a4;\n t.squarekg = 0x338f;\n t.squarekm = 0x339e;\n t.squarekmcapital = 0x33ce;\n t.squareln = 0x33d1;\n t.squarelog = 0x33d2;\n t.squaremg = 0x338e;\n t.squaremil = 0x33d5;\n t.squaremm = 0x339c;\n t.squaremsquared = 0x33a1;\n t.squareorthogonalcrosshatchfill = 0x25a6;\n t.squareupperlefttolowerrightfill = 0x25a7;\n t.squareupperrighttolowerleftfill = 0x25a8;\n t.squareverticalfill = 0x25a5;\n t.squarewhitewithsmallblack = 0x25a3;\n t.srsquare = 0x33db;\n t.ssabengali = 0x09b7;\n t.ssadeva = 0x0937;\n t.ssagujarati = 0x0ab7;\n t.ssangcieuckorean = 0x3149;\n t.ssanghieuhkorean = 0x3185;\n t.ssangieungkorean = 0x3180;\n t.ssangkiyeokkorean = 0x3132;\n t.ssangnieunkorean = 0x3165;\n t.ssangpieupkorean = 0x3143;\n t.ssangsioskorean = 0x3146;\n t.ssangtikeutkorean = 0x3138;\n t.ssuperior = 0xf6f2;\n t.sterling = 0x00a3;\n t.sterlingmonospace = 0xffe1;\n t.strokelongoverlaycmb = 0x0336;\n t.strokeshortoverlaycmb = 0x0335;\n t.subset = 0x2282;\n t.subsetnotequal = 0x228a;\n t.subsetorequal = 0x2286;\n t.succeeds = 0x227b;\n t.suchthat = 0x220b;\n t.suhiragana = 0x3059;\n t.sukatakana = 0x30b9;\n t.sukatakanahalfwidth = 0xff7d;\n t.sukunarabic = 0x0652;\n t.summation = 0x2211;\n t.sun = 0x263c;\n t.superset = 0x2283;\n t.supersetnotequal = 0x228b;\n t.supersetorequal = 0x2287;\n t.svsquare = 0x33dc;\n t.syouwaerasquare = 0x337c;\n t.t = 0x0074;\n t.tabengali = 0x09a4;\n t.tackdown = 0x22a4;\n t.tackleft = 0x22a3;\n t.tadeva = 0x0924;\n t.tagujarati = 0x0aa4;\n t.tagurmukhi = 0x0a24;\n t.taharabic = 0x0637;\n t.tahfinalarabic = 0xfec2;\n t.tahinitialarabic = 0xfec3;\n t.tahiragana = 0x305f;\n t.tahmedialarabic = 0xfec4;\n t.taisyouerasquare = 0x337d;\n t.takatakana = 0x30bf;\n t.takatakanahalfwidth = 0xff80;\n t.tatweelarabic = 0x0640;\n t.tau = 0x03c4;\n t.tav = 0x05ea;\n t.tavdages = 0xfb4a;\n t.tavdagesh = 0xfb4a;\n t.tavdageshhebrew = 0xfb4a;\n t.tavhebrew = 0x05ea;\n t.tbar = 0x0167;\n t.tbopomofo = 0x310a;\n t.tcaron = 0x0165;\n t.tccurl = 0x02a8;\n t.tcedilla = 0x0163;\n t.tcheharabic = 0x0686;\n t.tchehfinalarabic = 0xfb7b;\n t.tchehinitialarabic = 0xfb7c;\n t.tchehmedialarabic = 0xfb7d;\n t.tcircle = 0x24e3;\n t.tcircumflexbelow = 0x1e71;\n t.tcommaaccent = 0x0163;\n t.tdieresis = 0x1e97;\n t.tdotaccent = 0x1e6b;\n t.tdotbelow = 0x1e6d;\n t.tecyrillic = 0x0442;\n t.tedescendercyrillic = 0x04ad;\n t.teharabic = 0x062a;\n t.tehfinalarabic = 0xfe96;\n t.tehhahinitialarabic = 0xfca2;\n t.tehhahisolatedarabic = 0xfc0c;\n t.tehinitialarabic = 0xfe97;\n t.tehiragana = 0x3066;\n t.tehjeeminitialarabic = 0xfca1;\n t.tehjeemisolatedarabic = 0xfc0b;\n t.tehmarbutaarabic = 0x0629;\n t.tehmarbutafinalarabic = 0xfe94;\n t.tehmedialarabic = 0xfe98;\n t.tehmeeminitialarabic = 0xfca4;\n t.tehmeemisolatedarabic = 0xfc0e;\n t.tehnoonfinalarabic = 0xfc73;\n t.tekatakana = 0x30c6;\n t.tekatakanahalfwidth = 0xff83;\n t.telephone = 0x2121;\n t.telephoneblack = 0x260e;\n t.telishagedolahebrew = 0x05a0;\n t.telishaqetanahebrew = 0x05a9;\n t.tencircle = 0x2469;\n t.tenideographicparen = 0x3229;\n t.tenparen = 0x247d;\n t.tenperiod = 0x2491;\n t.tenroman = 0x2179;\n t.tesh = 0x02a7;\n t.tet = 0x05d8;\n t.tetdagesh = 0xfb38;\n t.tetdageshhebrew = 0xfb38;\n t.tethebrew = 0x05d8;\n t.tetsecyrillic = 0x04b5;\n t.tevirhebrew = 0x059b;\n t.tevirlefthebrew = 0x059b;\n t.thabengali = 0x09a5;\n t.thadeva = 0x0925;\n t.thagujarati = 0x0aa5;\n t.thagurmukhi = 0x0a25;\n t.thalarabic = 0x0630;\n t.thalfinalarabic = 0xfeac;\n t.thanthakhatlowleftthai = 0xf898;\n t.thanthakhatlowrightthai = 0xf897;\n t.thanthakhatthai = 0x0e4c;\n t.thanthakhatupperleftthai = 0xf896;\n t.theharabic = 0x062b;\n t.thehfinalarabic = 0xfe9a;\n t.thehinitialarabic = 0xfe9b;\n t.thehmedialarabic = 0xfe9c;\n t.thereexists = 0x2203;\n t.therefore = 0x2234;\n t.theta = 0x03b8;\n t.theta1 = 0x03d1;\n t.thetasymbolgreek = 0x03d1;\n t.thieuthacirclekorean = 0x3279;\n t.thieuthaparenkorean = 0x3219;\n t.thieuthcirclekorean = 0x326b;\n t.thieuthkorean = 0x314c;\n t.thieuthparenkorean = 0x320b;\n t.thirteencircle = 0x246c;\n t.thirteenparen = 0x2480;\n t.thirteenperiod = 0x2494;\n t.thonangmonthothai = 0x0e11;\n t.thook = 0x01ad;\n t.thophuthaothai = 0x0e12;\n t.thorn = 0x00fe;\n t.thothahanthai = 0x0e17;\n t.thothanthai = 0x0e10;\n t.thothongthai = 0x0e18;\n t.thothungthai = 0x0e16;\n t.thousandcyrillic = 0x0482;\n t.thousandsseparatorarabic = 0x066c;\n t.thousandsseparatorpersian = 0x066c;\n t.three = 0x0033;\n t.threearabic = 0x0663;\n t.threebengali = 0x09e9;\n t.threecircle = 0x2462;\n t.threecircleinversesansserif = 0x278c;\n t.threedeva = 0x0969;\n t.threeeighths = 0x215c;\n t.threegujarati = 0x0ae9;\n t.threegurmukhi = 0x0a69;\n t.threehackarabic = 0x0663;\n t.threehangzhou = 0x3023;\n t.threeideographicparen = 0x3222;\n t.threeinferior = 0x2083;\n t.threemonospace = 0xff13;\n t.threenumeratorbengali = 0x09f6;\n t.threeoldstyle = 0xf733;\n t.threeparen = 0x2476;\n t.threeperiod = 0x248a;\n t.threepersian = 0x06f3;\n t.threequarters = 0x00be;\n t.threequartersemdash = 0xf6de;\n t.threeroman = 0x2172;\n t.threesuperior = 0x00b3;\n t.threethai = 0x0e53;\n t.thzsquare = 0x3394;\n t.tihiragana = 0x3061;\n t.tikatakana = 0x30c1;\n t.tikatakanahalfwidth = 0xff81;\n t.tikeutacirclekorean = 0x3270;\n t.tikeutaparenkorean = 0x3210;\n t.tikeutcirclekorean = 0x3262;\n t.tikeutkorean = 0x3137;\n t.tikeutparenkorean = 0x3202;\n t.tilde = 0x02dc;\n t.tildebelowcmb = 0x0330;\n t.tildecmb = 0x0303;\n t.tildecomb = 0x0303;\n t.tildedoublecmb = 0x0360;\n t.tildeoperator = 0x223c;\n t.tildeoverlaycmb = 0x0334;\n t.tildeverticalcmb = 0x033e;\n t.timescircle = 0x2297;\n t.tipehahebrew = 0x0596;\n t.tipehalefthebrew = 0x0596;\n t.tippigurmukhi = 0x0a70;\n t.titlocyrilliccmb = 0x0483;\n t.tiwnarmenian = 0x057f;\n t.tlinebelow = 0x1e6f;\n t.tmonospace = 0xff54;\n t.toarmenian = 0x0569;\n t.tohiragana = 0x3068;\n t.tokatakana = 0x30c8;\n t.tokatakanahalfwidth = 0xff84;\n t.tonebarextrahighmod = 0x02e5;\n t.tonebarextralowmod = 0x02e9;\n t.tonebarhighmod = 0x02e6;\n t.tonebarlowmod = 0x02e8;\n t.tonebarmidmod = 0x02e7;\n t.tonefive = 0x01bd;\n t.tonesix = 0x0185;\n t.tonetwo = 0x01a8;\n t.tonos = 0x0384;\n t.tonsquare = 0x3327;\n t.topatakthai = 0x0e0f;\n t.tortoiseshellbracketleft = 0x3014;\n t.tortoiseshellbracketleftsmall = 0xfe5d;\n t.tortoiseshellbracketleftvertical = 0xfe39;\n t.tortoiseshellbracketright = 0x3015;\n t.tortoiseshellbracketrightsmall = 0xfe5e;\n t.tortoiseshellbracketrightvertical = 0xfe3a;\n t.totaothai = 0x0e15;\n t.tpalatalhook = 0x01ab;\n t.tparen = 0x24af;\n t.trademark = 0x2122;\n t.trademarksans = 0xf8ea;\n t.trademarkserif = 0xf6db;\n t.tretroflexhook = 0x0288;\n t.triagdn = 0x25bc;\n t.triaglf = 0x25c4;\n t.triagrt = 0x25ba;\n t.triagup = 0x25b2;\n t.ts = 0x02a6;\n t.tsadi = 0x05e6;\n t.tsadidagesh = 0xfb46;\n t.tsadidageshhebrew = 0xfb46;\n t.tsadihebrew = 0x05e6;\n t.tsecyrillic = 0x0446;\n t.tsere = 0x05b5;\n t.tsere12 = 0x05b5;\n t.tsere1e = 0x05b5;\n t.tsere2b = 0x05b5;\n t.tserehebrew = 0x05b5;\n t.tserenarrowhebrew = 0x05b5;\n t.tserequarterhebrew = 0x05b5;\n t.tserewidehebrew = 0x05b5;\n t.tshecyrillic = 0x045b;\n t.tsuperior = 0xf6f3;\n t.ttabengali = 0x099f;\n t.ttadeva = 0x091f;\n t.ttagujarati = 0x0a9f;\n t.ttagurmukhi = 0x0a1f;\n t.tteharabic = 0x0679;\n t.ttehfinalarabic = 0xfb67;\n t.ttehinitialarabic = 0xfb68;\n t.ttehmedialarabic = 0xfb69;\n t.tthabengali = 0x09a0;\n t.tthadeva = 0x0920;\n t.tthagujarati = 0x0aa0;\n t.tthagurmukhi = 0x0a20;\n t.tturned = 0x0287;\n t.tuhiragana = 0x3064;\n t.tukatakana = 0x30c4;\n t.tukatakanahalfwidth = 0xff82;\n t.tusmallhiragana = 0x3063;\n t.tusmallkatakana = 0x30c3;\n t.tusmallkatakanahalfwidth = 0xff6f;\n t.twelvecircle = 0x246b;\n t.twelveparen = 0x247f;\n t.twelveperiod = 0x2493;\n t.twelveroman = 0x217b;\n t.twentycircle = 0x2473;\n t.twentyhangzhou = 0x5344;\n t.twentyparen = 0x2487;\n t.twentyperiod = 0x249b;\n t.two = 0x0032;\n t.twoarabic = 0x0662;\n t.twobengali = 0x09e8;\n t.twocircle = 0x2461;\n t.twocircleinversesansserif = 0x278b;\n t.twodeva = 0x0968;\n t.twodotenleader = 0x2025;\n t.twodotleader = 0x2025;\n t.twodotleadervertical = 0xfe30;\n t.twogujarati = 0x0ae8;\n t.twogurmukhi = 0x0a68;\n t.twohackarabic = 0x0662;\n t.twohangzhou = 0x3022;\n t.twoideographicparen = 0x3221;\n t.twoinferior = 0x2082;\n t.twomonospace = 0xff12;\n t.twonumeratorbengali = 0x09f5;\n t.twooldstyle = 0xf732;\n t.twoparen = 0x2475;\n t.twoperiod = 0x2489;\n t.twopersian = 0x06f2;\n t.tworoman = 0x2171;\n t.twostroke = 0x01bb;\n t.twosuperior = 0x00b2;\n t.twothai = 0x0e52;\n t.twothirds = 0x2154;\n t.u = 0x0075;\n t.uacute = 0x00fa;\n t.ubar = 0x0289;\n t.ubengali = 0x0989;\n t.ubopomofo = 0x3128;\n t.ubreve = 0x016d;\n t.ucaron = 0x01d4;\n t.ucircle = 0x24e4;\n t.ucircumflex = 0x00fb;\n t.ucircumflexbelow = 0x1e77;\n t.ucyrillic = 0x0443;\n t.udattadeva = 0x0951;\n t.udblacute = 0x0171;\n t.udblgrave = 0x0215;\n t.udeva = 0x0909;\n t.udieresis = 0x00fc;\n t.udieresisacute = 0x01d8;\n t.udieresisbelow = 0x1e73;\n t.udieresiscaron = 0x01da;\n t.udieresiscyrillic = 0x04f1;\n t.udieresisgrave = 0x01dc;\n t.udieresismacron = 0x01d6;\n t.udotbelow = 0x1ee5;\n t.ugrave = 0x00f9;\n t.ugujarati = 0x0a89;\n t.ugurmukhi = 0x0a09;\n t.uhiragana = 0x3046;\n t.uhookabove = 0x1ee7;\n t.uhorn = 0x01b0;\n t.uhornacute = 0x1ee9;\n t.uhorndotbelow = 0x1ef1;\n t.uhorngrave = 0x1eeb;\n t.uhornhookabove = 0x1eed;\n t.uhorntilde = 0x1eef;\n t.uhungarumlaut = 0x0171;\n t.uhungarumlautcyrillic = 0x04f3;\n t.uinvertedbreve = 0x0217;\n t.ukatakana = 0x30a6;\n t.ukatakanahalfwidth = 0xff73;\n t.ukcyrillic = 0x0479;\n t.ukorean = 0x315c;\n t.umacron = 0x016b;\n t.umacroncyrillic = 0x04ef;\n t.umacrondieresis = 0x1e7b;\n t.umatragurmukhi = 0x0a41;\n t.umonospace = 0xff55;\n t.underscore = 0x005f;\n t.underscoredbl = 0x2017;\n t.underscoremonospace = 0xff3f;\n t.underscorevertical = 0xfe33;\n t.underscorewavy = 0xfe4f;\n t.union = 0x222a;\n t.universal = 0x2200;\n t.uogonek = 0x0173;\n t.uparen = 0x24b0;\n t.upblock = 0x2580;\n t.upperdothebrew = 0x05c4;\n t.upsilon = 0x03c5;\n t.upsilondieresis = 0x03cb;\n t.upsilondieresistonos = 0x03b0;\n t.upsilonlatin = 0x028a;\n t.upsilontonos = 0x03cd;\n t.uptackbelowcmb = 0x031d;\n t.uptackmod = 0x02d4;\n t.uragurmukhi = 0x0a73;\n t.uring = 0x016f;\n t.ushortcyrillic = 0x045e;\n t.usmallhiragana = 0x3045;\n t.usmallkatakana = 0x30a5;\n t.usmallkatakanahalfwidth = 0xff69;\n t.ustraightcyrillic = 0x04af;\n t.ustraightstrokecyrillic = 0x04b1;\n t.utilde = 0x0169;\n t.utildeacute = 0x1e79;\n t.utildebelow = 0x1e75;\n t.uubengali = 0x098a;\n t.uudeva = 0x090a;\n t.uugujarati = 0x0a8a;\n t.uugurmukhi = 0x0a0a;\n t.uumatragurmukhi = 0x0a42;\n t.uuvowelsignbengali = 0x09c2;\n t.uuvowelsigndeva = 0x0942;\n t.uuvowelsigngujarati = 0x0ac2;\n t.uvowelsignbengali = 0x09c1;\n t.uvowelsigndeva = 0x0941;\n t.uvowelsigngujarati = 0x0ac1;\n t.v = 0x0076;\n t.vadeva = 0x0935;\n t.vagujarati = 0x0ab5;\n t.vagurmukhi = 0x0a35;\n t.vakatakana = 0x30f7;\n t.vav = 0x05d5;\n t.vavdagesh = 0xfb35;\n t.vavdagesh65 = 0xfb35;\n t.vavdageshhebrew = 0xfb35;\n t.vavhebrew = 0x05d5;\n t.vavholam = 0xfb4b;\n t.vavholamhebrew = 0xfb4b;\n t.vavvavhebrew = 0x05f0;\n t.vavyodhebrew = 0x05f1;\n t.vcircle = 0x24e5;\n t.vdotbelow = 0x1e7f;\n t.vecyrillic = 0x0432;\n t.veharabic = 0x06a4;\n t.vehfinalarabic = 0xfb6b;\n t.vehinitialarabic = 0xfb6c;\n t.vehmedialarabic = 0xfb6d;\n t.vekatakana = 0x30f9;\n t.venus = 0x2640;\n t.verticalbar = 0x007c;\n t.verticallineabovecmb = 0x030d;\n t.verticallinebelowcmb = 0x0329;\n t.verticallinelowmod = 0x02cc;\n t.verticallinemod = 0x02c8;\n t.vewarmenian = 0x057e;\n t.vhook = 0x028b;\n t.vikatakana = 0x30f8;\n t.viramabengali = 0x09cd;\n t.viramadeva = 0x094d;\n t.viramagujarati = 0x0acd;\n t.visargabengali = 0x0983;\n t.visargadeva = 0x0903;\n t.visargagujarati = 0x0a83;\n t.vmonospace = 0xff56;\n t.voarmenian = 0x0578;\n t.voicediterationhiragana = 0x309e;\n t.voicediterationkatakana = 0x30fe;\n t.voicedmarkkana = 0x309b;\n t.voicedmarkkanahalfwidth = 0xff9e;\n t.vokatakana = 0x30fa;\n t.vparen = 0x24b1;\n t.vtilde = 0x1e7d;\n t.vturned = 0x028c;\n t.vuhiragana = 0x3094;\n t.vukatakana = 0x30f4;\n t.w = 0x0077;\n t.wacute = 0x1e83;\n t.waekorean = 0x3159;\n t.wahiragana = 0x308f;\n t.wakatakana = 0x30ef;\n t.wakatakanahalfwidth = 0xff9c;\n t.wakorean = 0x3158;\n t.wasmallhiragana = 0x308e;\n t.wasmallkatakana = 0x30ee;\n t.wattosquare = 0x3357;\n t.wavedash = 0x301c;\n t.wavyunderscorevertical = 0xfe34;\n t.wawarabic = 0x0648;\n t.wawfinalarabic = 0xfeee;\n t.wawhamzaabovearabic = 0x0624;\n t.wawhamzaabovefinalarabic = 0xfe86;\n t.wbsquare = 0x33dd;\n t.wcircle = 0x24e6;\n t.wcircumflex = 0x0175;\n t.wdieresis = 0x1e85;\n t.wdotaccent = 0x1e87;\n t.wdotbelow = 0x1e89;\n t.wehiragana = 0x3091;\n t.weierstrass = 0x2118;\n t.wekatakana = 0x30f1;\n t.wekorean = 0x315e;\n t.weokorean = 0x315d;\n t.wgrave = 0x1e81;\n t.whitebullet = 0x25e6;\n t.whitecircle = 0x25cb;\n t.whitecircleinverse = 0x25d9;\n t.whitecornerbracketleft = 0x300e;\n t.whitecornerbracketleftvertical = 0xfe43;\n t.whitecornerbracketright = 0x300f;\n t.whitecornerbracketrightvertical = 0xfe44;\n t.whitediamond = 0x25c7;\n t.whitediamondcontainingblacksmalldiamond = 0x25c8;\n t.whitedownpointingsmalltriangle = 0x25bf;\n t.whitedownpointingtriangle = 0x25bd;\n t.whiteleftpointingsmalltriangle = 0x25c3;\n t.whiteleftpointingtriangle = 0x25c1;\n t.whitelenticularbracketleft = 0x3016;\n t.whitelenticularbracketright = 0x3017;\n t.whiterightpointingsmalltriangle = 0x25b9;\n t.whiterightpointingtriangle = 0x25b7;\n t.whitesmallsquare = 0x25ab;\n t.whitesmilingface = 0x263a;\n t.whitesquare = 0x25a1;\n t.whitestar = 0x2606;\n t.whitetelephone = 0x260f;\n t.whitetortoiseshellbracketleft = 0x3018;\n t.whitetortoiseshellbracketright = 0x3019;\n t.whiteuppointingsmalltriangle = 0x25b5;\n t.whiteuppointingtriangle = 0x25b3;\n t.wihiragana = 0x3090;\n t.wikatakana = 0x30f0;\n t.wikorean = 0x315f;\n t.wmonospace = 0xff57;\n t.wohiragana = 0x3092;\n t.wokatakana = 0x30f2;\n t.wokatakanahalfwidth = 0xff66;\n t.won = 0x20a9;\n t.wonmonospace = 0xffe6;\n t.wowaenthai = 0x0e27;\n t.wparen = 0x24b2;\n t.wring = 0x1e98;\n t.wsuperior = 0x02b7;\n t.wturned = 0x028d;\n t.wynn = 0x01bf;\n t.x = 0x0078;\n t.xabovecmb = 0x033d;\n t.xbopomofo = 0x3112;\n t.xcircle = 0x24e7;\n t.xdieresis = 0x1e8d;\n t.xdotaccent = 0x1e8b;\n t.xeharmenian = 0x056d;\n t.xi = 0x03be;\n t.xmonospace = 0xff58;\n t.xparen = 0x24b3;\n t.xsuperior = 0x02e3;\n t.y = 0x0079;\n t.yaadosquare = 0x334e;\n t.yabengali = 0x09af;\n t.yacute = 0x00fd;\n t.yadeva = 0x092f;\n t.yaekorean = 0x3152;\n t.yagujarati = 0x0aaf;\n t.yagurmukhi = 0x0a2f;\n t.yahiragana = 0x3084;\n t.yakatakana = 0x30e4;\n t.yakatakanahalfwidth = 0xff94;\n t.yakorean = 0x3151;\n t.yamakkanthai = 0x0e4e;\n t.yasmallhiragana = 0x3083;\n t.yasmallkatakana = 0x30e3;\n t.yasmallkatakanahalfwidth = 0xff6c;\n t.yatcyrillic = 0x0463;\n t.ycircle = 0x24e8;\n t.ycircumflex = 0x0177;\n t.ydieresis = 0x00ff;\n t.ydotaccent = 0x1e8f;\n t.ydotbelow = 0x1ef5;\n t.yeharabic = 0x064a;\n t.yehbarreearabic = 0x06d2;\n t.yehbarreefinalarabic = 0xfbaf;\n t.yehfinalarabic = 0xfef2;\n t.yehhamzaabovearabic = 0x0626;\n t.yehhamzaabovefinalarabic = 0xfe8a;\n t.yehhamzaaboveinitialarabic = 0xfe8b;\n t.yehhamzaabovemedialarabic = 0xfe8c;\n t.yehinitialarabic = 0xfef3;\n t.yehmedialarabic = 0xfef4;\n t.yehmeeminitialarabic = 0xfcdd;\n t.yehmeemisolatedarabic = 0xfc58;\n t.yehnoonfinalarabic = 0xfc94;\n t.yehthreedotsbelowarabic = 0x06d1;\n t.yekorean = 0x3156;\n t.yen = 0x00a5;\n t.yenmonospace = 0xffe5;\n t.yeokorean = 0x3155;\n t.yeorinhieuhkorean = 0x3186;\n t.yerahbenyomohebrew = 0x05aa;\n t.yerahbenyomolefthebrew = 0x05aa;\n t.yericyrillic = 0x044b;\n t.yerudieresiscyrillic = 0x04f9;\n t.yesieungkorean = 0x3181;\n t.yesieungpansioskorean = 0x3183;\n t.yesieungsioskorean = 0x3182;\n t.yetivhebrew = 0x059a;\n t.ygrave = 0x1ef3;\n t.yhook = 0x01b4;\n t.yhookabove = 0x1ef7;\n t.yiarmenian = 0x0575;\n t.yicyrillic = 0x0457;\n t.yikorean = 0x3162;\n t.yinyang = 0x262f;\n t.yiwnarmenian = 0x0582;\n t.ymonospace = 0xff59;\n t.yod = 0x05d9;\n t.yoddagesh = 0xfb39;\n t.yoddageshhebrew = 0xfb39;\n t.yodhebrew = 0x05d9;\n t.yodyodhebrew = 0x05f2;\n t.yodyodpatahhebrew = 0xfb1f;\n t.yohiragana = 0x3088;\n t.yoikorean = 0x3189;\n t.yokatakana = 0x30e8;\n t.yokatakanahalfwidth = 0xff96;\n t.yokorean = 0x315b;\n t.yosmallhiragana = 0x3087;\n t.yosmallkatakana = 0x30e7;\n t.yosmallkatakanahalfwidth = 0xff6e;\n t.yotgreek = 0x03f3;\n t.yoyaekorean = 0x3188;\n t.yoyakorean = 0x3187;\n t.yoyakthai = 0x0e22;\n t.yoyingthai = 0x0e0d;\n t.yparen = 0x24b4;\n t.ypogegrammeni = 0x037a;\n t.ypogegrammenigreekcmb = 0x0345;\n t.yr = 0x01a6;\n t.yring = 0x1e99;\n t.ysuperior = 0x02b8;\n t.ytilde = 0x1ef9;\n t.yturned = 0x028e;\n t.yuhiragana = 0x3086;\n t.yuikorean = 0x318c;\n t.yukatakana = 0x30e6;\n t.yukatakanahalfwidth = 0xff95;\n t.yukorean = 0x3160;\n t.yusbigcyrillic = 0x046b;\n t.yusbigiotifiedcyrillic = 0x046d;\n t.yuslittlecyrillic = 0x0467;\n t.yuslittleiotifiedcyrillic = 0x0469;\n t.yusmallhiragana = 0x3085;\n t.yusmallkatakana = 0x30e5;\n t.yusmallkatakanahalfwidth = 0xff6d;\n t.yuyekorean = 0x318b;\n t.yuyeokorean = 0x318a;\n t.yyabengali = 0x09df;\n t.yyadeva = 0x095f;\n t.z = 0x007a;\n t.zaarmenian = 0x0566;\n t.zacute = 0x017a;\n t.zadeva = 0x095b;\n t.zagurmukhi = 0x0a5b;\n t.zaharabic = 0x0638;\n t.zahfinalarabic = 0xfec6;\n t.zahinitialarabic = 0xfec7;\n t.zahiragana = 0x3056;\n t.zahmedialarabic = 0xfec8;\n t.zainarabic = 0x0632;\n t.zainfinalarabic = 0xfeb0;\n t.zakatakana = 0x30b6;\n t.zaqefgadolhebrew = 0x0595;\n t.zaqefqatanhebrew = 0x0594;\n t.zarqahebrew = 0x0598;\n t.zayin = 0x05d6;\n t.zayindagesh = 0xfb36;\n t.zayindageshhebrew = 0xfb36;\n t.zayinhebrew = 0x05d6;\n t.zbopomofo = 0x3117;\n t.zcaron = 0x017e;\n t.zcircle = 0x24e9;\n t.zcircumflex = 0x1e91;\n t.zcurl = 0x0291;\n t.zdot = 0x017c;\n t.zdotaccent = 0x017c;\n t.zdotbelow = 0x1e93;\n t.zecyrillic = 0x0437;\n t.zedescendercyrillic = 0x0499;\n t.zedieresiscyrillic = 0x04df;\n t.zehiragana = 0x305c;\n t.zekatakana = 0x30bc;\n t.zero = 0x0030;\n t.zeroarabic = 0x0660;\n t.zerobengali = 0x09e6;\n t.zerodeva = 0x0966;\n t.zerogujarati = 0x0ae6;\n t.zerogurmukhi = 0x0a66;\n t.zerohackarabic = 0x0660;\n t.zeroinferior = 0x2080;\n t.zeromonospace = 0xff10;\n t.zerooldstyle = 0xf730;\n t.zeropersian = 0x06f0;\n t.zerosuperior = 0x2070;\n t.zerothai = 0x0e50;\n t.zerowidthjoiner = 0xfeff;\n t.zerowidthnonjoiner = 0x200c;\n t.zerowidthspace = 0x200b;\n t.zeta = 0x03b6;\n t.zhbopomofo = 0x3113;\n t.zhearmenian = 0x056a;\n t.zhebrevecyrillic = 0x04c2;\n t.zhecyrillic = 0x0436;\n t.zhedescendercyrillic = 0x0497;\n t.zhedieresiscyrillic = 0x04dd;\n t.zihiragana = 0x3058;\n t.zikatakana = 0x30b8;\n t.zinorhebrew = 0x05ae;\n t.zlinebelow = 0x1e95;\n t.zmonospace = 0xff5a;\n t.zohiragana = 0x305e;\n t.zokatakana = 0x30be;\n t.zparen = 0x24b5;\n t.zretroflexhook = 0x0290;\n t.zstroke = 0x01b6;\n t.zuhiragana = 0x305a;\n t.zukatakana = 0x30ba;\n t[\".notdef\"] = 0x0000;\n t.angbracketleftbig = 0x2329;\n t.angbracketleftBig = 0x2329;\n t.angbracketleftbigg = 0x2329;\n t.angbracketleftBigg = 0x2329;\n t.angbracketrightBig = 0x232a;\n t.angbracketrightbig = 0x232a;\n t.angbracketrightBigg = 0x232a;\n t.angbracketrightbigg = 0x232a;\n t.arrowhookleft = 0x21aa;\n t.arrowhookright = 0x21a9;\n t.arrowlefttophalf = 0x21bc;\n t.arrowleftbothalf = 0x21bd;\n t.arrownortheast = 0x2197;\n t.arrownorthwest = 0x2196;\n t.arrowrighttophalf = 0x21c0;\n t.arrowrightbothalf = 0x21c1;\n t.arrowsoutheast = 0x2198;\n t.arrowsouthwest = 0x2199;\n t.backslashbig = 0x2216;\n t.backslashBig = 0x2216;\n t.backslashBigg = 0x2216;\n t.backslashbigg = 0x2216;\n t.bardbl = 0x2016;\n t.bracehtipdownleft = 0xfe37;\n t.bracehtipdownright = 0xfe37;\n t.bracehtipupleft = 0xfe38;\n t.bracehtipupright = 0xfe38;\n t.braceleftBig = 0x007b;\n t.braceleftbig = 0x007b;\n t.braceleftbigg = 0x007b;\n t.braceleftBigg = 0x007b;\n t.bracerightBig = 0x007d;\n t.bracerightbig = 0x007d;\n t.bracerightbigg = 0x007d;\n t.bracerightBigg = 0x007d;\n t.bracketleftbig = 0x005b;\n t.bracketleftBig = 0x005b;\n t.bracketleftbigg = 0x005b;\n t.bracketleftBigg = 0x005b;\n t.bracketrightBig = 0x005d;\n t.bracketrightbig = 0x005d;\n t.bracketrightbigg = 0x005d;\n t.bracketrightBigg = 0x005d;\n t.ceilingleftbig = 0x2308;\n t.ceilingleftBig = 0x2308;\n t.ceilingleftBigg = 0x2308;\n t.ceilingleftbigg = 0x2308;\n t.ceilingrightbig = 0x2309;\n t.ceilingrightBig = 0x2309;\n t.ceilingrightbigg = 0x2309;\n t.ceilingrightBigg = 0x2309;\n t.circledotdisplay = 0x2299;\n t.circledottext = 0x2299;\n t.circlemultiplydisplay = 0x2297;\n t.circlemultiplytext = 0x2297;\n t.circleplusdisplay = 0x2295;\n t.circleplustext = 0x2295;\n t.contintegraldisplay = 0x222e;\n t.contintegraltext = 0x222e;\n t.coproductdisplay = 0x2210;\n t.coproducttext = 0x2210;\n t.floorleftBig = 0x230a;\n t.floorleftbig = 0x230a;\n t.floorleftbigg = 0x230a;\n t.floorleftBigg = 0x230a;\n t.floorrightbig = 0x230b;\n t.floorrightBig = 0x230b;\n t.floorrightBigg = 0x230b;\n t.floorrightbigg = 0x230b;\n t.hatwide = 0x0302;\n t.hatwider = 0x0302;\n t.hatwidest = 0x0302;\n t.intercal = 0x1d40;\n t.integraldisplay = 0x222b;\n t.integraltext = 0x222b;\n t.intersectiondisplay = 0x22c2;\n t.intersectiontext = 0x22c2;\n t.logicalanddisplay = 0x2227;\n t.logicalandtext = 0x2227;\n t.logicalordisplay = 0x2228;\n t.logicalortext = 0x2228;\n t.parenleftBig = 0x0028;\n t.parenleftbig = 0x0028;\n t.parenleftBigg = 0x0028;\n t.parenleftbigg = 0x0028;\n t.parenrightBig = 0x0029;\n t.parenrightbig = 0x0029;\n t.parenrightBigg = 0x0029;\n t.parenrightbigg = 0x0029;\n t.prime = 0x2032;\n t.productdisplay = 0x220f;\n t.producttext = 0x220f;\n t.radicalbig = 0x221a;\n t.radicalBig = 0x221a;\n t.radicalBigg = 0x221a;\n t.radicalbigg = 0x221a;\n t.radicalbt = 0x221a;\n t.radicaltp = 0x221a;\n t.radicalvertex = 0x221a;\n t.slashbig = 0x002f;\n t.slashBig = 0x002f;\n t.slashBigg = 0x002f;\n t.slashbigg = 0x002f;\n t.summationdisplay = 0x2211;\n t.summationtext = 0x2211;\n t.tildewide = 0x02dc;\n t.tildewider = 0x02dc;\n t.tildewidest = 0x02dc;\n t.uniondisplay = 0x22c3;\n t.unionmultidisplay = 0x228e;\n t.unionmultitext = 0x228e;\n t.unionsqdisplay = 0x2294;\n t.unionsqtext = 0x2294;\n t.uniontext = 0x22c3;\n t.vextenddouble = 0x2225;\n t.vextendsingle = 0x2223;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nconst getDingbatsGlyphsUnicode = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 0x0020;\n t.a1 = 0x2701;\n t.a2 = 0x2702;\n t.a202 = 0x2703;\n t.a3 = 0x2704;\n t.a4 = 0x260e;\n t.a5 = 0x2706;\n t.a119 = 0x2707;\n t.a118 = 0x2708;\n t.a117 = 0x2709;\n t.a11 = 0x261b;\n t.a12 = 0x261e;\n t.a13 = 0x270c;\n t.a14 = 0x270d;\n t.a15 = 0x270e;\n t.a16 = 0x270f;\n t.a105 = 0x2710;\n t.a17 = 0x2711;\n t.a18 = 0x2712;\n t.a19 = 0x2713;\n t.a20 = 0x2714;\n t.a21 = 0x2715;\n t.a22 = 0x2716;\n t.a23 = 0x2717;\n t.a24 = 0x2718;\n t.a25 = 0x2719;\n t.a26 = 0x271a;\n t.a27 = 0x271b;\n t.a28 = 0x271c;\n t.a6 = 0x271d;\n t.a7 = 0x271e;\n t.a8 = 0x271f;\n t.a9 = 0x2720;\n t.a10 = 0x2721;\n t.a29 = 0x2722;\n t.a30 = 0x2723;\n t.a31 = 0x2724;\n t.a32 = 0x2725;\n t.a33 = 0x2726;\n t.a34 = 0x2727;\n t.a35 = 0x2605;\n t.a36 = 0x2729;\n t.a37 = 0x272a;\n t.a38 = 0x272b;\n t.a39 = 0x272c;\n t.a40 = 0x272d;\n t.a41 = 0x272e;\n t.a42 = 0x272f;\n t.a43 = 0x2730;\n t.a44 = 0x2731;\n t.a45 = 0x2732;\n t.a46 = 0x2733;\n t.a47 = 0x2734;\n t.a48 = 0x2735;\n t.a49 = 0x2736;\n t.a50 = 0x2737;\n t.a51 = 0x2738;\n t.a52 = 0x2739;\n t.a53 = 0x273a;\n t.a54 = 0x273b;\n t.a55 = 0x273c;\n t.a56 = 0x273d;\n t.a57 = 0x273e;\n t.a58 = 0x273f;\n t.a59 = 0x2740;\n t.a60 = 0x2741;\n t.a61 = 0x2742;\n t.a62 = 0x2743;\n t.a63 = 0x2744;\n t.a64 = 0x2745;\n t.a65 = 0x2746;\n t.a66 = 0x2747;\n t.a67 = 0x2748;\n t.a68 = 0x2749;\n t.a69 = 0x274a;\n t.a70 = 0x274b;\n t.a71 = 0x25cf;\n t.a72 = 0x274d;\n t.a73 = 0x25a0;\n t.a74 = 0x274f;\n t.a203 = 0x2750;\n t.a75 = 0x2751;\n t.a204 = 0x2752;\n t.a76 = 0x25b2;\n t.a77 = 0x25bc;\n t.a78 = 0x25c6;\n t.a79 = 0x2756;\n t.a81 = 0x25d7;\n t.a82 = 0x2758;\n t.a83 = 0x2759;\n t.a84 = 0x275a;\n t.a97 = 0x275b;\n t.a98 = 0x275c;\n t.a99 = 0x275d;\n t.a100 = 0x275e;\n t.a101 = 0x2761;\n t.a102 = 0x2762;\n t.a103 = 0x2763;\n t.a104 = 0x2764;\n t.a106 = 0x2765;\n t.a107 = 0x2766;\n t.a108 = 0x2767;\n t.a112 = 0x2663;\n t.a111 = 0x2666;\n t.a110 = 0x2665;\n t.a109 = 0x2660;\n t.a120 = 0x2460;\n t.a121 = 0x2461;\n t.a122 = 0x2462;\n t.a123 = 0x2463;\n t.a124 = 0x2464;\n t.a125 = 0x2465;\n t.a126 = 0x2466;\n t.a127 = 0x2467;\n t.a128 = 0x2468;\n t.a129 = 0x2469;\n t.a130 = 0x2776;\n t.a131 = 0x2777;\n t.a132 = 0x2778;\n t.a133 = 0x2779;\n t.a134 = 0x277a;\n t.a135 = 0x277b;\n t.a136 = 0x277c;\n t.a137 = 0x277d;\n t.a138 = 0x277e;\n t.a139 = 0x277f;\n t.a140 = 0x2780;\n t.a141 = 0x2781;\n t.a142 = 0x2782;\n t.a143 = 0x2783;\n t.a144 = 0x2784;\n t.a145 = 0x2785;\n t.a146 = 0x2786;\n t.a147 = 0x2787;\n t.a148 = 0x2788;\n t.a149 = 0x2789;\n t.a150 = 0x278a;\n t.a151 = 0x278b;\n t.a152 = 0x278c;\n t.a153 = 0x278d;\n t.a154 = 0x278e;\n t.a155 = 0x278f;\n t.a156 = 0x2790;\n t.a157 = 0x2791;\n t.a158 = 0x2792;\n t.a159 = 0x2793;\n t.a160 = 0x2794;\n t.a161 = 0x2192;\n t.a163 = 0x2194;\n t.a164 = 0x2195;\n t.a196 = 0x2798;\n t.a165 = 0x2799;\n t.a192 = 0x279a;\n t.a166 = 0x279b;\n t.a167 = 0x279c;\n t.a168 = 0x279d;\n t.a169 = 0x279e;\n t.a170 = 0x279f;\n t.a171 = 0x27a0;\n t.a172 = 0x27a1;\n t.a173 = 0x27a2;\n t.a162 = 0x27a3;\n t.a174 = 0x27a4;\n t.a175 = 0x27a5;\n t.a176 = 0x27a6;\n t.a177 = 0x27a7;\n t.a178 = 0x27a8;\n t.a179 = 0x27a9;\n t.a193 = 0x27aa;\n t.a180 = 0x27ab;\n t.a199 = 0x27ac;\n t.a181 = 0x27ad;\n t.a200 = 0x27ae;\n t.a182 = 0x27af;\n t.a201 = 0x27b1;\n t.a183 = 0x27b2;\n t.a184 = 0x27b3;\n t.a197 = 0x27b4;\n t.a185 = 0x27b5;\n t.a194 = 0x27b6;\n t.a198 = 0x27b7;\n t.a186 = 0x27b8;\n t.a195 = 0x27b9;\n t.a187 = 0x27ba;\n t.a188 = 0x27bb;\n t.a189 = 0x27bc;\n t.a190 = 0x27bd;\n t.a191 = 0x27be;\n t.a89 = 0x2768;\n t.a90 = 0x2769;\n t.a93 = 0x276a;\n t.a94 = 0x276b;\n t.a91 = 0x276c;\n t.a92 = 0x276d;\n t.a205 = 0x276e;\n t.a85 = 0x276f;\n t.a206 = 0x2770;\n t.a86 = 0x2771;\n t.a87 = 0x2772;\n t.a88 = 0x2773;\n t.a95 = 0x2774;\n t.a96 = 0x2775;\n t[\".notdef\"] = 0x0000;\n});\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 40 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.clearUnicodeCaches = clearUnicodeCaches;\nexports.getCharUnicodeCategory = getCharUnicodeCategory;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nvar _core_utils = __w_pdfjs_require__(3);\nconst getSpecialPUASymbols = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[63721] = 0x00a9;\n t[63193] = 0x00a9;\n t[63720] = 0x00ae;\n t[63194] = 0x00ae;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23a7;\n t[63730] = 0x23a8;\n t[63731] = 0x23a9;\n t[63740] = 0x23ab;\n t[63741] = 0x23ac;\n t[63742] = 0x23ad;\n t[63726] = 0x23a1;\n t[63727] = 0x23a2;\n t[63728] = 0x23a3;\n t[63737] = 0x23a4;\n t[63738] = 0x23a5;\n t[63739] = 0x23a6;\n t[63723] = 0x239b;\n t[63724] = 0x239c;\n t[63725] = 0x239d;\n t[63734] = 0x239e;\n t[63735] = 0x239f;\n t[63736] = 0x23a0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xfff0 && code <= 0xffff) {\n return 0;\n } else if (code >= 0xf600 && code <= 0xf8ff) {\n return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00ad) {\n return 0x002d;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n let unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n return unicode;\n }\n if (!name) {\n return -1;\n }\n if (name[0] === \"u\") {\n const nameLen = name.length;\n let hexStr;\n if (nameLen === 7 && name[1] === \"n\" && name[2] === \"i\") {\n hexStr = name.substring(3);\n } else if (nameLen >= 5 && nameLen <= 7) {\n hexStr = name.substring(1);\n } else {\n return -1;\n }\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n return -1;\n}\nconst UnicodeRanges = [[0x0000, 0x007f], [0x0080, 0x00ff], [0x0100, 0x017f], [0x0180, 0x024f], [0x0250, 0x02af, 0x1d00, 0x1d7f, 0x1d80, 0x1dbf], [0x02b0, 0x02ff, 0xa700, 0xa71f], [0x0300, 0x036f, 0x1dc0, 0x1dff], [0x0370, 0x03ff], [0x2c80, 0x2cff], [0x0400, 0x04ff, 0x0500, 0x052f, 0x2de0, 0x2dff, 0xa640, 0xa69f], [0x0530, 0x058f], [0x0590, 0x05ff], [0xa500, 0xa63f], [0x0600, 0x06ff, 0x0750, 0x077f], [0x07c0, 0x07ff], [0x0900, 0x097f], [0x0980, 0x09ff], [0x0a00, 0x0a7f], [0x0a80, 0x0aff], [0x0b00, 0x0b7f], [0x0b80, 0x0bff], [0x0c00, 0x0c7f], [0x0c80, 0x0cff], [0x0d00, 0x0d7f], [0x0e00, 0x0e7f], [0x0e80, 0x0eff], [0x10a0, 0x10ff, 0x2d00, 0x2d2f], [0x1b00, 0x1b7f], [0x1100, 0x11ff], [0x1e00, 0x1eff, 0x2c60, 0x2c7f, 0xa720, 0xa7ff], [0x1f00, 0x1fff], [0x2000, 0x206f, 0x2e00, 0x2e7f], [0x2070, 0x209f], [0x20a0, 0x20cf], [0x20d0, 0x20ff], [0x2100, 0x214f], [0x2150, 0x218f], [0x2190, 0x21ff, 0x27f0, 0x27ff, 0x2900, 0x297f, 0x2b00, 0x2bff], [0x2200, 0x22ff, 0x2a00, 0x2aff, 0x27c0, 0x27ef, 0x2980, 0x29ff], [0x2300, 0x23ff], [0x2400, 0x243f], [0x2440, 0x245f], [0x2460, 0x24ff], [0x2500, 0x257f], [0x2580, 0x259f], [0x25a0, 0x25ff], [0x2600, 0x26ff], [0x2700, 0x27bf], [0x3000, 0x303f], [0x3040, 0x309f], [0x30a0, 0x30ff, 0x31f0, 0x31ff], [0x3100, 0x312f, 0x31a0, 0x31bf], [0x3130, 0x318f], [0xa840, 0xa87f], [0x3200, 0x32ff], [0x3300, 0x33ff], [0xac00, 0xd7af], [0xd800, 0xdfff], [0x10900, 0x1091f], [0x4e00, 0x9fff, 0x2e80, 0x2eff, 0x2f00, 0x2fdf, 0x2ff0, 0x2fff, 0x3400, 0x4dbf, 0x20000, 0x2a6df, 0x3190, 0x319f], [0xe000, 0xf8ff], [0x31c0, 0x31ef, 0xf900, 0xfaff, 0x2f800, 0x2fa1f], [0xfb00, 0xfb4f], [0xfb50, 0xfdff], [0xfe20, 0xfe2f], [0xfe10, 0xfe1f], [0xfe50, 0xfe6f], [0xfe70, 0xfeff], [0xff00, 0xffef], [0xfff0, 0xffff], [0x0f00, 0x0fff], [0x0700, 0x074f], [0x0780, 0x07bf], [0x0d80, 0x0dff], [0x1000, 0x109f], [0x1200, 0x137f, 0x1380, 0x139f, 0x2d80, 0x2ddf], [0x13a0, 0x13ff], [0x1400, 0x167f], [0x1680, 0x169f], [0x16a0, 0x16ff], [0x1780, 0x17ff], [0x1800, 0x18af], [0x2800, 0x28ff], [0xa000, 0xa48f], [0x1700, 0x171f, 0x1720, 0x173f, 0x1740, 0x175f, 0x1760, 0x177f], [0x10300, 0x1032f], [0x10330, 0x1034f], [0x10400, 0x1044f], [0x1d000, 0x1d0ff, 0x1d100, 0x1d1ff, 0x1d200, 0x1d24f], [0x1d400, 0x1d7ff], [0xff000, 0xffffd], [0xfe00, 0xfe0f, 0xe0100, 0xe01ef], [0xe0000, 0xe007f], [0x1900, 0x194f], [0x1950, 0x197f], [0x1980, 0x19df], [0x1a00, 0x1a1f], [0x2c00, 0x2c5f], [0x2d30, 0x2d7f], [0x4dc0, 0x4dff], [0xa800, 0xa82f], [0x10000, 0x1007f, 0x10080, 0x100ff, 0x10100, 0x1013f], [0x10140, 0x1018f], [0x10380, 0x1039f], [0x103a0, 0x103df], [0x10450, 0x1047f], [0x10480, 0x104af], [0x10800, 0x1083f], [0x10a00, 0x10a5f], [0x1d300, 0x1d35f], [0x12000, 0x123ff, 0x12400, 0x1247f], [0x1d360, 0x1d37f], [0x1b80, 0x1bbf], [0x1c00, 0x1c4f], [0x1c50, 0x1c7f], [0xa880, 0xa8df], [0xa900, 0xa92f], [0xa930, 0xa95f], [0xaa00, 0xaa5f], [0x10190, 0x101cf], [0x101d0, 0x101ff], [0x102a0, 0x102df, 0x10280, 0x1029f, 0x10920, 0x1093f], [0x1f030, 0x1f09f, 0x1f000, 0x1f02f]];\nfunction getUnicodeRangeFor(value, lastPosition = -1) {\n if (lastPosition !== -1) {\n const range = UnicodeRanges[lastPosition];\n for (let i = 0, ii = range.length; i < ii; i += 2) {\n if (value >= range[i] && value <= range[i + 1]) {\n return lastPosition;\n }\n }\n }\n for (let i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n const range = UnicodeRanges[i];\n for (let j = 0, jj = range.length; j < jj; j += 2) {\n if (value >= range[j] && value <= range[j + 1]) {\n return i;\n }\n }\n }\n return -1;\n}\nconst SpecialCharRegExp = new RegExp(\"^(\\\\s)|(\\\\p{Mn})|(\\\\p{Cf})$\", \"u\");\nconst CategoryCache = new Map();\nfunction getCharUnicodeCategory(char) {\n const cachedCategory = CategoryCache.get(char);\n if (cachedCategory) {\n return cachedCategory;\n }\n const groups = char.match(SpecialCharRegExp);\n const category = {\n isWhitespace: !!groups?.[1],\n isZeroWidthDiacritic: !!groups?.[2],\n isInvisibleFormatMark: !!groups?.[3]\n };\n CategoryCache.set(char, category);\n return category;\n}\nfunction clearUnicodeCaches() {\n CategoryCache.clear();\n}\n\n/***/ }),\n/* 41 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getSerifFonts = exports.getNonStdFontMap = exports.getGlyphMapForStandardFonts = exports.getFontNameToFileMap = void 0;\nexports.getStandardFontName = getStandardFontName;\nexports.getSymbolsFonts = exports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getStdFontMap = void 0;\nexports.isKnownFontName = isKnownFontName;\nvar _core_utils = __w_pdfjs_require__(3);\nvar _fonts_utils = __w_pdfjs_require__(38);\nconst getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Times-Roman\"] = \"Times-Roman\";\n t.Helvetica = \"Helvetica\";\n t.Courier = \"Courier\";\n t.Symbol = \"Symbol\";\n t[\"Times-Bold\"] = \"Times-Bold\";\n t[\"Helvetica-Bold\"] = \"Helvetica-Bold\";\n t[\"Courier-Bold\"] = \"Courier-Bold\";\n t.ZapfDingbats = \"ZapfDingbats\";\n t[\"Times-Italic\"] = \"Times-Italic\";\n t[\"Helvetica-Oblique\"] = \"Helvetica-Oblique\";\n t[\"Courier-Oblique\"] = \"Courier-Oblique\";\n t[\"Times-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"Helvetica-BoldOblique\"] = \"Helvetica-BoldOblique\";\n t[\"Courier-BoldOblique\"] = \"Courier-BoldOblique\";\n t.ArialNarrow = \"Helvetica\";\n t[\"ArialNarrow-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialNarrow-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialNarrow-Italic\"] = \"Helvetica-Oblique\";\n t.ArialBlack = \"Helvetica\";\n t[\"ArialBlack-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialBlack-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialBlack-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-Black\"] = \"Helvetica\";\n t[\"Arial-Black-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-Black-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Black-Italic\"] = \"Helvetica-Oblique\";\n t.Arial = \"Helvetica\";\n t[\"Arial-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Italic\"] = \"Helvetica-Oblique\";\n t.ArialMT = \"Helvetica\";\n t[\"Arial-BoldItalicMT\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-BoldMT\"] = \"Helvetica-Bold\";\n t[\"Arial-ItalicMT\"] = \"Helvetica-Oblique\";\n t[\"Arial-BoldItalicMT-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-BoldMT-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-ItalicMT-Italic\"] = \"Helvetica-Oblique\";\n t.ArialUnicodeMS = \"Helvetica\";\n t[\"ArialUnicodeMS-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialUnicodeMS-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialUnicodeMS-Italic\"] = \"Helvetica-Oblique\";\n t[\"Courier-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"Courier-Italic\"] = \"Courier-Oblique\";\n t.CourierNew = \"Courier\";\n t[\"CourierNew-Bold\"] = \"Courier-Bold\";\n t[\"CourierNew-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"CourierNew-Italic\"] = \"Courier-Oblique\";\n t[\"CourierNewPS-BoldItalicMT\"] = \"Courier-BoldOblique\";\n t[\"CourierNewPS-BoldMT\"] = \"Courier-Bold\";\n t[\"CourierNewPS-ItalicMT\"] = \"Courier-Oblique\";\n t.CourierNewPSMT = \"Courier\";\n t[\"Helvetica-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-Italic\"] = \"Helvetica-Oblique\";\n t[\"Symbol-Bold\"] = \"Symbol\";\n t[\"Symbol-BoldItalic\"] = \"Symbol\";\n t[\"Symbol-Italic\"] = \"Symbol\";\n t.TimesNewRoman = \"Times-Roman\";\n t[\"TimesNewRoman-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRoman-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRoman-Italic\"] = \"Times-Italic\";\n t.TimesNewRomanPS = \"Times-Roman\";\n t[\"TimesNewRomanPS-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldItalicMT\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldMT\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-Italic\"] = \"Times-Italic\";\n t[\"TimesNewRomanPS-ItalicMT\"] = \"Times-Italic\";\n t.TimesNewRomanPSMT = \"Times-Roman\";\n t[\"TimesNewRomanPSMT-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPSMT-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPSMT-Italic\"] = \"Times-Italic\";\n});\nexports.getStdFontMap = getStdFontMap;\nconst getFontNameToFileMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Courier = \"FoxitFixed.pfb\";\n t[\"Courier-Bold\"] = \"FoxitFixedBold.pfb\";\n t[\"Courier-BoldOblique\"] = \"FoxitFixedBoldItalic.pfb\";\n t[\"Courier-Oblique\"] = \"FoxitFixedItalic.pfb\";\n t.Helvetica = \"LiberationSans-Regular.ttf\";\n t[\"Helvetica-Bold\"] = \"LiberationSans-Bold.ttf\";\n t[\"Helvetica-BoldOblique\"] = \"LiberationSans-BoldItalic.ttf\";\n t[\"Helvetica-Oblique\"] = \"LiberationSans-Italic.ttf\";\n t[\"Times-Roman\"] = \"FoxitSerif.pfb\";\n t[\"Times-Bold\"] = \"FoxitSerifBold.pfb\";\n t[\"Times-BoldItalic\"] = \"FoxitSerifBoldItalic.pfb\";\n t[\"Times-Italic\"] = \"FoxitSerifItalic.pfb\";\n t.Symbol = \"FoxitSymbol.pfb\";\n t.ZapfDingbats = \"FoxitDingbats.pfb\";\n t[\"LiberationSans-Regular\"] = \"LiberationSans-Regular.ttf\";\n t[\"LiberationSans-Bold\"] = \"LiberationSans-Bold.ttf\";\n t[\"LiberationSans-Italic\"] = \"LiberationSans-Italic.ttf\";\n t[\"LiberationSans-BoldItalic\"] = \"LiberationSans-BoldItalic.ttf\";\n});\nexports.getFontNameToFileMap = getFontNameToFileMap;\nconst getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Calibri = \"Helvetica\";\n t[\"Calibri-Bold\"] = \"Helvetica-Bold\";\n t[\"Calibri-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Calibri-Italic\"] = \"Helvetica-Oblique\";\n t.CenturyGothic = \"Helvetica\";\n t[\"CenturyGothic-Bold\"] = \"Helvetica-Bold\";\n t[\"CenturyGothic-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"CenturyGothic-Italic\"] = \"Helvetica-Oblique\";\n t.ComicSansMS = \"Comic Sans MS\";\n t[\"ComicSansMS-Bold\"] = \"Comic Sans MS-Bold\";\n t[\"ComicSansMS-BoldItalic\"] = \"Comic Sans MS-BoldItalic\";\n t[\"ComicSansMS-Italic\"] = \"Comic Sans MS-Italic\";\n t.Impact = \"Helvetica\";\n t[\"ItcSymbol-Bold\"] = \"Helvetica-Bold\";\n t[\"ItcSymbol-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ItcSymbol-Book\"] = \"Helvetica\";\n t[\"ItcSymbol-BookItalic\"] = \"Helvetica-Oblique\";\n t[\"ItcSymbol-Medium\"] = \"Helvetica\";\n t[\"ItcSymbol-MediumItalic\"] = \"Helvetica-Oblique\";\n t.LucidaConsole = \"Courier\";\n t[\"LucidaConsole-Bold\"] = \"Courier-Bold\";\n t[\"LucidaConsole-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"LucidaConsole-Italic\"] = \"Courier-Oblique\";\n t[\"LucidaSans-Demi\"] = \"Helvetica-Bold\";\n t[\"MS-Gothic\"] = \"MS Gothic\";\n t[\"MS-Gothic-Bold\"] = \"MS Gothic-Bold\";\n t[\"MS-Gothic-BoldItalic\"] = \"MS Gothic-BoldItalic\";\n t[\"MS-Gothic-Italic\"] = \"MS Gothic-Italic\";\n t[\"MS-Mincho\"] = \"MS Mincho\";\n t[\"MS-Mincho-Bold\"] = \"MS Mincho-Bold\";\n t[\"MS-Mincho-BoldItalic\"] = \"MS Mincho-BoldItalic\";\n t[\"MS-Mincho-Italic\"] = \"MS Mincho-Italic\";\n t[\"MS-PGothic\"] = \"MS PGothic\";\n t[\"MS-PGothic-Bold\"] = \"MS PGothic-Bold\";\n t[\"MS-PGothic-BoldItalic\"] = \"MS PGothic-BoldItalic\";\n t[\"MS-PGothic-Italic\"] = \"MS PGothic-Italic\";\n t[\"MS-PMincho\"] = \"MS PMincho\";\n t[\"MS-PMincho-Bold\"] = \"MS PMincho-Bold\";\n t[\"MS-PMincho-BoldItalic\"] = \"MS PMincho-BoldItalic\";\n t[\"MS-PMincho-Italic\"] = \"MS PMincho-Italic\";\n t.NuptialScript = \"Times-Italic\";\n t.SegoeUISymbol = \"Helvetica\";\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nconst getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Adobe Jenson\"] = true;\n t[\"Adobe Text\"] = true;\n t.Albertus = true;\n t.Aldus = true;\n t.Alexandria = true;\n t.Algerian = true;\n t[\"American Typewriter\"] = true;\n t.Antiqua = true;\n t.Apex = true;\n t.Arno = true;\n t.Aster = true;\n t.Aurora = true;\n t.Baskerville = true;\n t.Bell = true;\n t.Bembo = true;\n t[\"Bembo Schoolbook\"] = true;\n t.Benguiat = true;\n t[\"Berkeley Old Style\"] = true;\n t[\"Bernhard Modern\"] = true;\n t[\"Berthold City\"] = true;\n t.Bodoni = true;\n t[\"Bauer Bodoni\"] = true;\n t[\"Book Antiqua\"] = true;\n t.Bookman = true;\n t[\"Bordeaux Roman\"] = true;\n t[\"Californian FB\"] = true;\n t.Calisto = true;\n t.Calvert = true;\n t.Capitals = true;\n t.Cambria = true;\n t.Cartier = true;\n t.Caslon = true;\n t.Catull = true;\n t.Centaur = true;\n t[\"Century Old Style\"] = true;\n t[\"Century Schoolbook\"] = true;\n t.Chaparral = true;\n t[\"Charis SIL\"] = true;\n t.Cheltenham = true;\n t[\"Cholla Slab\"] = true;\n t.Clarendon = true;\n t.Clearface = true;\n t.Cochin = true;\n t.Colonna = true;\n t[\"Computer Modern\"] = true;\n t[\"Concrete Roman\"] = true;\n t.Constantia = true;\n t[\"Cooper Black\"] = true;\n t.Corona = true;\n t.Ecotype = true;\n t.Egyptienne = true;\n t.Elephant = true;\n t.Excelsior = true;\n t.Fairfield = true;\n t[\"FF Scala\"] = true;\n t.Folkard = true;\n t.Footlight = true;\n t.FreeSerif = true;\n t[\"Friz Quadrata\"] = true;\n t.Garamond = true;\n t.Gentium = true;\n t.Georgia = true;\n t.Gloucester = true;\n t[\"Goudy Old Style\"] = true;\n t[\"Goudy Schoolbook\"] = true;\n t[\"Goudy Pro Font\"] = true;\n t.Granjon = true;\n t[\"Guardian Egyptian\"] = true;\n t.Heather = true;\n t.Hercules = true;\n t[\"High Tower Text\"] = true;\n t.Hiroshige = true;\n t[\"Hoefler Text\"] = true;\n t[\"Humana Serif\"] = true;\n t.Imprint = true;\n t[\"Ionic No. 5\"] = true;\n t.Janson = true;\n t.Joanna = true;\n t.Korinna = true;\n t.Lexicon = true;\n t.LiberationSerif = true;\n t[\"Liberation Serif\"] = true;\n t[\"Linux Libertine\"] = true;\n t.Literaturnaya = true;\n t.Lucida = true;\n t[\"Lucida Bright\"] = true;\n t.Melior = true;\n t.Memphis = true;\n t.Miller = true;\n t.Minion = true;\n t.Modern = true;\n t[\"Mona Lisa\"] = true;\n t[\"Mrs Eaves\"] = true;\n t[\"MS Serif\"] = true;\n t[\"Museo Slab\"] = true;\n t[\"New York\"] = true;\n t[\"Nimbus Roman\"] = true;\n t[\"NPS Rawlinson Roadway\"] = true;\n t.NuptialScript = true;\n t.Palatino = true;\n t.Perpetua = true;\n t.Plantin = true;\n t[\"Plantin Schoolbook\"] = true;\n t.Playbill = true;\n t[\"Poor Richard\"] = true;\n t[\"Rawlinson Roadway\"] = true;\n t.Renault = true;\n t.Requiem = true;\n t.Rockwell = true;\n t.Roman = true;\n t[\"Rotis Serif\"] = true;\n t.Sabon = true;\n t.Scala = true;\n t.Seagull = true;\n t.Sistina = true;\n t.Souvenir = true;\n t.STIX = true;\n t[\"Stone Informal\"] = true;\n t[\"Stone Serif\"] = true;\n t.Sylfaen = true;\n t.Times = true;\n t.Trajan = true;\n t[\"Trinité\"] = true;\n t[\"Trump Mediaeval\"] = true;\n t.Utopia = true;\n t[\"Vale Type\"] = true;\n t[\"Bitstream Vera\"] = true;\n t[\"Vera Serif\"] = true;\n t.Versailles = true;\n t.Wanted = true;\n t.Weiss = true;\n t[\"Wide Latin\"] = true;\n t.Windsor = true;\n t.XITS = true;\n});\nexports.getSerifFonts = getSerifFonts;\nconst getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Dingbats = true;\n t.Symbol = true;\n t.ZapfDingbats = true;\n t.Wingdings = true;\n t[\"Wingdings-Bold\"] = true;\n t[\"Wingdings-Regular\"] = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nconst getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[2] = 10;\n t[3] = 32;\n t[4] = 33;\n t[5] = 34;\n t[6] = 35;\n t[7] = 36;\n t[8] = 37;\n t[9] = 38;\n t[10] = 39;\n t[11] = 40;\n t[12] = 41;\n t[13] = 42;\n t[14] = 43;\n t[15] = 44;\n t[16] = 45;\n t[17] = 46;\n t[18] = 47;\n t[19] = 48;\n t[20] = 49;\n t[21] = 50;\n t[22] = 51;\n t[23] = 52;\n t[24] = 53;\n t[25] = 54;\n t[26] = 55;\n t[27] = 56;\n t[28] = 57;\n t[29] = 58;\n t[30] = 894;\n t[31] = 60;\n t[32] = 61;\n t[33] = 62;\n t[34] = 63;\n t[35] = 64;\n t[36] = 65;\n t[37] = 66;\n t[38] = 67;\n t[39] = 68;\n t[40] = 69;\n t[41] = 70;\n t[42] = 71;\n t[43] = 72;\n t[44] = 73;\n t[45] = 74;\n t[46] = 75;\n t[47] = 76;\n t[48] = 77;\n t[49] = 78;\n t[50] = 79;\n t[51] = 80;\n t[52] = 81;\n t[53] = 82;\n t[54] = 83;\n t[55] = 84;\n t[56] = 85;\n t[57] = 86;\n t[58] = 87;\n t[59] = 88;\n t[60] = 89;\n t[61] = 90;\n t[62] = 91;\n t[63] = 92;\n t[64] = 93;\n t[65] = 94;\n t[66] = 95;\n t[67] = 96;\n t[68] = 97;\n t[69] = 98;\n t[70] = 99;\n t[71] = 100;\n t[72] = 101;\n t[73] = 102;\n t[74] = 103;\n t[75] = 104;\n t[76] = 105;\n t[77] = 106;\n t[78] = 107;\n t[79] = 108;\n t[80] = 109;\n t[81] = 110;\n t[82] = 111;\n t[83] = 112;\n t[84] = 113;\n t[85] = 114;\n t[86] = 115;\n t[87] = 116;\n t[88] = 117;\n t[89] = 118;\n t[90] = 119;\n t[91] = 120;\n t[92] = 121;\n t[93] = 122;\n t[94] = 123;\n t[95] = 124;\n t[96] = 125;\n t[97] = 126;\n t[98] = 196;\n t[99] = 197;\n t[100] = 199;\n t[101] = 201;\n t[102] = 209;\n t[103] = 214;\n t[104] = 220;\n t[105] = 225;\n t[106] = 224;\n t[107] = 226;\n t[108] = 228;\n t[109] = 227;\n t[110] = 229;\n t[111] = 231;\n t[112] = 233;\n t[113] = 232;\n t[114] = 234;\n t[115] = 235;\n t[116] = 237;\n t[117] = 236;\n t[118] = 238;\n t[119] = 239;\n t[120] = 241;\n t[121] = 243;\n t[122] = 242;\n t[123] = 244;\n t[124] = 246;\n t[125] = 245;\n t[126] = 250;\n t[127] = 249;\n t[128] = 251;\n t[129] = 252;\n t[130] = 8224;\n t[131] = 176;\n t[132] = 162;\n t[133] = 163;\n t[134] = 167;\n t[135] = 8226;\n t[136] = 182;\n t[137] = 223;\n t[138] = 174;\n t[139] = 169;\n t[140] = 8482;\n t[141] = 180;\n t[142] = 168;\n t[143] = 8800;\n t[144] = 198;\n t[145] = 216;\n t[146] = 8734;\n t[147] = 177;\n t[148] = 8804;\n t[149] = 8805;\n t[150] = 165;\n t[151] = 181;\n t[152] = 8706;\n t[153] = 8721;\n t[154] = 8719;\n t[156] = 8747;\n t[157] = 170;\n t[158] = 186;\n t[159] = 8486;\n t[160] = 230;\n t[161] = 248;\n t[162] = 191;\n t[163] = 161;\n t[164] = 172;\n t[165] = 8730;\n t[166] = 402;\n t[167] = 8776;\n t[168] = 8710;\n t[169] = 171;\n t[170] = 187;\n t[171] = 8230;\n t[179] = 8220;\n t[180] = 8221;\n t[181] = 8216;\n t[182] = 8217;\n t[200] = 193;\n t[203] = 205;\n t[207] = 211;\n t[210] = 218;\n t[223] = 711;\n t[224] = 321;\n t[225] = 322;\n t[226] = 352;\n t[227] = 353;\n t[228] = 381;\n t[229] = 382;\n t[233] = 221;\n t[234] = 253;\n t[252] = 263;\n t[253] = 268;\n t[254] = 269;\n t[258] = 258;\n t[260] = 260;\n t[261] = 261;\n t[265] = 280;\n t[266] = 281;\n t[267] = 282;\n t[268] = 283;\n t[269] = 313;\n t[275] = 323;\n t[276] = 324;\n t[278] = 328;\n t[283] = 344;\n t[284] = 345;\n t[285] = 346;\n t[286] = 347;\n t[292] = 367;\n t[295] = 377;\n t[296] = 378;\n t[298] = 380;\n t[305] = 963;\n t[306] = 964;\n t[307] = 966;\n t[308] = 8215;\n t[309] = 8252;\n t[310] = 8319;\n t[311] = 8359;\n t[312] = 8592;\n t[313] = 8593;\n t[337] = 9552;\n t[493] = 1039;\n t[494] = 1040;\n t[672] = 1488;\n t[673] = 1489;\n t[674] = 1490;\n t[675] = 1491;\n t[676] = 1492;\n t[677] = 1493;\n t[678] = 1494;\n t[679] = 1495;\n t[680] = 1496;\n t[681] = 1497;\n t[682] = 1498;\n t[683] = 1499;\n t[684] = 1500;\n t[685] = 1501;\n t[686] = 1502;\n t[687] = 1503;\n t[688] = 1504;\n t[689] = 1505;\n t[690] = 1506;\n t[691] = 1507;\n t[692] = 1508;\n t[693] = 1509;\n t[694] = 1510;\n t[695] = 1511;\n t[696] = 1512;\n t[697] = 1513;\n t[698] = 1514;\n t[705] = 1524;\n t[706] = 8362;\n t[710] = 64288;\n t[711] = 64298;\n t[759] = 1617;\n t[761] = 1776;\n t[763] = 1778;\n t[775] = 1652;\n t[777] = 1764;\n t[778] = 1780;\n t[779] = 1781;\n t[780] = 1782;\n t[782] = 771;\n t[783] = 64726;\n t[786] = 8363;\n t[788] = 8532;\n t[790] = 768;\n t[791] = 769;\n t[792] = 768;\n t[795] = 803;\n t[797] = 64336;\n t[798] = 64337;\n t[799] = 64342;\n t[800] = 64343;\n t[801] = 64344;\n t[802] = 64345;\n t[803] = 64362;\n t[804] = 64363;\n t[805] = 64364;\n t[2424] = 7821;\n t[2425] = 7822;\n t[2426] = 7823;\n t[2427] = 7824;\n t[2428] = 7825;\n t[2429] = 7826;\n t[2430] = 7827;\n t[2433] = 7682;\n t[2678] = 8045;\n t[2679] = 8046;\n t[2830] = 1552;\n t[2838] = 686;\n t[2840] = 751;\n t[2842] = 753;\n t[2843] = 754;\n t[2844] = 755;\n t[2846] = 757;\n t[2856] = 767;\n t[2857] = 848;\n t[2858] = 849;\n t[2862] = 853;\n t[2863] = 854;\n t[2864] = 855;\n t[2865] = 861;\n t[2866] = 862;\n t[2906] = 7460;\n t[2908] = 7462;\n t[2909] = 7463;\n t[2910] = 7464;\n t[2912] = 7466;\n t[2913] = 7467;\n t[2914] = 7468;\n t[2916] = 7470;\n t[2917] = 7471;\n t[2918] = 7472;\n t[2920] = 7474;\n t[2921] = 7475;\n t[2922] = 7476;\n t[2924] = 7478;\n t[2925] = 7479;\n t[2926] = 7480;\n t[2928] = 7482;\n t[2929] = 7483;\n t[2930] = 7484;\n t[2932] = 7486;\n t[2933] = 7487;\n t[2934] = 7488;\n t[2936] = 7490;\n t[2937] = 7491;\n t[2938] = 7492;\n t[2940] = 7494;\n t[2941] = 7495;\n t[2942] = 7496;\n t[2944] = 7498;\n t[2946] = 7500;\n t[2948] = 7502;\n t[2950] = 7504;\n t[2951] = 7505;\n t[2952] = 7506;\n t[2954] = 7508;\n t[2955] = 7509;\n t[2956] = 7510;\n t[2958] = 7512;\n t[2959] = 7513;\n t[2960] = 7514;\n t[2962] = 7516;\n t[2963] = 7517;\n t[2964] = 7518;\n t[2966] = 7520;\n t[2967] = 7521;\n t[2968] = 7522;\n t[2970] = 7524;\n t[2971] = 7525;\n t[2972] = 7526;\n t[2974] = 7528;\n t[2975] = 7529;\n t[2976] = 7530;\n t[2978] = 1537;\n t[2979] = 1538;\n t[2980] = 1539;\n t[2982] = 1549;\n t[2983] = 1551;\n t[2984] = 1552;\n t[2986] = 1554;\n t[2987] = 1555;\n t[2988] = 1556;\n t[2990] = 1623;\n t[2991] = 1624;\n t[2995] = 1775;\n t[2999] = 1791;\n t[3002] = 64290;\n t[3003] = 64291;\n t[3004] = 64292;\n t[3006] = 64294;\n t[3007] = 64295;\n t[3008] = 64296;\n t[3011] = 1900;\n t[3014] = 8223;\n t[3015] = 8244;\n t[3017] = 7532;\n t[3018] = 7533;\n t[3019] = 7534;\n t[3075] = 7590;\n t[3076] = 7591;\n t[3079] = 7594;\n t[3080] = 7595;\n t[3083] = 7598;\n t[3084] = 7599;\n t[3087] = 7602;\n t[3088] = 7603;\n t[3091] = 7606;\n t[3092] = 7607;\n t[3095] = 7610;\n t[3096] = 7611;\n t[3099] = 7614;\n t[3100] = 7615;\n t[3103] = 7618;\n t[3104] = 7619;\n t[3107] = 8337;\n t[3108] = 8338;\n t[3116] = 1884;\n t[3119] = 1885;\n t[3120] = 1885;\n t[3123] = 1886;\n t[3124] = 1886;\n t[3127] = 1887;\n t[3128] = 1887;\n t[3131] = 1888;\n t[3132] = 1888;\n t[3135] = 1889;\n t[3136] = 1889;\n t[3139] = 1890;\n t[3140] = 1890;\n t[3143] = 1891;\n t[3144] = 1891;\n t[3147] = 1892;\n t[3148] = 1892;\n t[3153] = 580;\n t[3154] = 581;\n t[3157] = 584;\n t[3158] = 585;\n t[3161] = 588;\n t[3162] = 589;\n t[3165] = 891;\n t[3166] = 892;\n t[3169] = 1274;\n t[3170] = 1275;\n t[3173] = 1278;\n t[3174] = 1279;\n t[3181] = 7622;\n t[3182] = 7623;\n t[3282] = 11799;\n t[3316] = 578;\n t[3379] = 42785;\n t[3393] = 1159;\n t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nconst getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nconst getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[1] = 32;\n t[4] = 65;\n t[5] = 192;\n t[6] = 193;\n t[9] = 196;\n t[17] = 66;\n t[18] = 67;\n t[21] = 268;\n t[24] = 68;\n t[28] = 69;\n t[29] = 200;\n t[30] = 201;\n t[32] = 282;\n t[38] = 70;\n t[39] = 71;\n t[44] = 72;\n t[47] = 73;\n t[48] = 204;\n t[49] = 205;\n t[58] = 74;\n t[60] = 75;\n t[62] = 76;\n t[68] = 77;\n t[69] = 78;\n t[75] = 79;\n t[76] = 210;\n t[80] = 214;\n t[87] = 80;\n t[89] = 81;\n t[90] = 82;\n t[92] = 344;\n t[94] = 83;\n t[97] = 352;\n t[100] = 84;\n t[104] = 85;\n t[109] = 220;\n t[115] = 86;\n t[116] = 87;\n t[121] = 88;\n t[122] = 89;\n t[124] = 221;\n t[127] = 90;\n t[129] = 381;\n t[258] = 97;\n t[259] = 224;\n t[260] = 225;\n t[263] = 228;\n t[268] = 261;\n t[271] = 98;\n t[272] = 99;\n t[273] = 263;\n t[275] = 269;\n t[282] = 100;\n t[286] = 101;\n t[287] = 232;\n t[288] = 233;\n t[290] = 283;\n t[295] = 281;\n t[296] = 102;\n t[336] = 103;\n t[346] = 104;\n t[349] = 105;\n t[350] = 236;\n t[351] = 237;\n t[361] = 106;\n t[364] = 107;\n t[367] = 108;\n t[371] = 322;\n t[373] = 109;\n t[374] = 110;\n t[381] = 111;\n t[382] = 242;\n t[383] = 243;\n t[386] = 246;\n t[393] = 112;\n t[395] = 113;\n t[396] = 114;\n t[398] = 345;\n t[400] = 115;\n t[401] = 347;\n t[403] = 353;\n t[410] = 116;\n t[437] = 117;\n t[442] = 252;\n t[448] = 118;\n t[449] = 119;\n t[454] = 120;\n t[455] = 121;\n t[457] = 253;\n t[460] = 122;\n t[462] = 382;\n t[463] = 380;\n t[853] = 44;\n t[855] = 58;\n t[856] = 46;\n t[876] = 47;\n t[878] = 45;\n t[882] = 45;\n t[894] = 40;\n t[895] = 41;\n t[896] = 91;\n t[897] = 93;\n t[923] = 64;\n t[1004] = 48;\n t[1005] = 49;\n t[1006] = 50;\n t[1007] = 51;\n t[1008] = 52;\n t[1009] = 53;\n t[1010] = 54;\n t[1011] = 55;\n t[1012] = 56;\n t[1013] = 57;\n t[1081] = 37;\n t[1085] = 43;\n t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\nfunction getStandardFontName(name) {\n const fontName = (0, _fonts_utils.normalizeFontName)(name);\n const stdFontMap = getStdFontMap();\n return stdFontMap[fontName];\n}\nfunction isKnownFontName(name) {\n const fontName = (0, _fonts_utils.normalizeFontName)(name);\n return !!(getStdFontMap()[fontName] || getNonStdFontMap()[fontName] || getSerifFonts()[fontName] || getSymbolsFonts()[fontName]);\n}\n\n/***/ }),\n/* 42 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ToUnicodeMap = exports.IdentityToUnicodeMap = void 0;\nvar _util = __w_pdfjs_require__(2);\nclass ToUnicodeMap {\n constructor(cmap = []) {\n this._map = cmap;\n }\n get length() {\n return this._map.length;\n }\n forEach(callback) {\n for (const charCode in this._map) {\n callback(charCode, this._map[charCode].charCodeAt(0));\n }\n }\n has(i) {\n return this._map[i] !== undefined;\n }\n get(i) {\n return this._map[i];\n }\n charCodeOf(value) {\n const map = this._map;\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n for (const charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n return -1;\n }\n amend(map) {\n for (const charCode in map) {\n this._map[charCode] = map[charCode];\n }\n }\n}\nexports.ToUnicodeMap = ToUnicodeMap;\nclass IdentityToUnicodeMap {\n constructor(firstChar, lastChar) {\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n }\n get length() {\n return this.lastChar + 1 - this.firstChar;\n }\n forEach(callback) {\n for (let i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n callback(i, i);\n }\n }\n has(i) {\n return this.firstChar <= i && i <= this.lastChar;\n }\n get(i) {\n if (this.firstChar <= i && i <= this.lastChar) {\n return String.fromCharCode(i);\n }\n return undefined;\n }\n charCodeOf(v) {\n return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n }\n amend(map) {\n (0, _util.unreachable)(\"Should not call amend()\");\n }\n}\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\n/***/ }),\n/* 43 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CFFFont = void 0;\nvar _cff_parser = __w_pdfjs_require__(35);\nvar _fonts_utils = __w_pdfjs_require__(38);\nvar _util = __w_pdfjs_require__(2);\nclass CFFFont {\n constructor(file, properties) {\n this.properties = properties;\n const parser = new _cff_parser.CFFParser(file, properties, _fonts_utils.SEAC_ANALYSIS_ENABLED);\n this.cff = parser.parse();\n this.cff.duplicateFirstGlyph();\n const compiler = new _cff_parser.CFFCompiler(this.cff);\n this.seacs = this.cff.seacs;\n try {\n this.data = compiler.compile();\n } catch {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n this.data = file;\n }\n this._createBuiltInEncoding();\n }\n get numGlyphs() {\n return this.cff.charStrings.count;\n }\n getCharset() {\n return this.cff.charset.charset;\n }\n getGlyphMapping() {\n const cff = this.cff;\n const properties = this.properties;\n const {\n cidToGidMap,\n cMap\n } = properties;\n const charsets = cff.charset.charset;\n let charCodeToGlyphId;\n let glyphId;\n if (properties.composite) {\n let invCidToGidMap;\n if (cidToGidMap?.length > 0) {\n invCidToGidMap = Object.create(null);\n for (let i = 0, ii = cidToGidMap.length; i < ii; i++) {\n const gid = cidToGidMap[i];\n if (gid !== undefined) {\n invCidToGidMap[gid] = i;\n }\n }\n }\n charCodeToGlyphId = Object.create(null);\n let charCode;\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n const cid = charsets[glyphId];\n charCode = cMap.charCodeOf(cid);\n if (invCidToGidMap?.[charCode] !== undefined) {\n charCode = invCidToGidMap[charCode];\n }\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCode = cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n return charCodeToGlyphId;\n }\n let encoding = cff.encoding ? cff.encoding.encoding : null;\n if (properties.isInternalFont) {\n encoding = properties.defaultEncoding;\n }\n charCodeToGlyphId = (0, _fonts_utils.type1FontGlyphMapping)(properties, encoding, charsets);\n return charCodeToGlyphId;\n }\n hasGlyphId(id) {\n return this.cff.hasGlyphId(id);\n }\n _createBuiltInEncoding() {\n const {\n charset,\n encoding\n } = this.cff;\n if (!charset || !encoding) {\n return;\n }\n const charsets = charset.charset,\n encodings = encoding.encoding;\n const map = [];\n for (const charCode in encodings) {\n const glyphId = encodings[charCode];\n if (glyphId >= 0) {\n const glyphName = charsets[glyphId];\n if (glyphName) {\n map[charCode] = glyphName;\n }\n }\n }\n if (map.length > 0) {\n this.properties.builtInEncoding = map;\n }\n }\n}\nexports.CFFFont = CFFFont;\n\n/***/ }),\n/* 44 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontRendererFactory = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _cff_parser = __w_pdfjs_require__(35);\nvar _glyphlist = __w_pdfjs_require__(39);\nvar _encodings = __w_pdfjs_require__(37);\nvar _stream = __w_pdfjs_require__(8);\nfunction getUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\nfunction getUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\nfunction getInt16(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16) >> 16;\n}\nfunction getInt8(data, offset) {\n return data[offset] << 24 >> 24;\n}\nfunction getFloat214(data, offset) {\n return getInt16(data, offset) / 16384;\n}\nfunction getSubroutineBias(subrs) {\n const numSubrs = subrs.length;\n let bias = 32768;\n if (numSubrs < 1240) {\n bias = 107;\n } else if (numSubrs < 33900) {\n bias = 1131;\n }\n return bias;\n}\nfunction parseCmap(data, start, end) {\n const offset = getUint16(data, start + 2) === 1 ? getUint32(data, start + 8) : getUint32(data, start + 16);\n const format = getUint16(data, start + offset);\n let ranges, p, i;\n if (format === 4) {\n getUint16(data, start + offset + 2);\n const segCount = getUint16(data, start + offset + 6) >> 1;\n p = start + offset + 14;\n ranges = [];\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i] = {\n end: getUint16(data, p)\n };\n }\n p += 2;\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].start = getUint16(data, p);\n }\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].idDelta = getUint16(data, p);\n }\n for (i = 0; i < segCount; i++, p += 2) {\n let idOffset = getUint16(data, p);\n if (idOffset === 0) {\n continue;\n }\n ranges[i].ids = [];\n for (let j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n ranges[i].ids[j] = getUint16(data, p + idOffset);\n idOffset += 2;\n }\n }\n return ranges;\n } else if (format === 12) {\n const groups = getUint32(data, start + offset + 12);\n p = start + offset + 16;\n ranges = [];\n for (i = 0; i < groups; i++) {\n start = getUint32(data, p);\n ranges.push({\n start,\n end: getUint32(data, p + 4),\n idDelta: getUint32(data, p + 8) - start\n });\n p += 12;\n }\n return ranges;\n }\n throw new _util.FormatError(`unsupported cmap: ${format}`);\n}\nfunction parseCff(data, start, end, seacAnalysisEnabled) {\n const properties = {};\n const parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n const cff = parser.parse();\n return {\n glyphs: cff.charStrings.objects,\n subrs: cff.topDict.privateDict?.subrsIndex?.objects,\n gsubrs: cff.globalSubrIndex?.objects,\n isCFFCIDFont: cff.isCIDFont,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray\n };\n}\nfunction parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n let itemSize, itemDecode;\n if (isGlyphLocationsLong) {\n itemSize = 4;\n itemDecode = getUint32;\n } else {\n itemSize = 2;\n itemDecode = (data, offset) => 2 * getUint16(data, offset);\n }\n const glyphs = [];\n let startOffset = itemDecode(loca, 0);\n for (let j = itemSize; j < loca.length; j += itemSize) {\n const endOffset = itemDecode(loca, j);\n glyphs.push(glyf.subarray(startOffset, endOffset));\n startOffset = endOffset;\n }\n return glyphs;\n}\nfunction lookupCmap(ranges, unicode) {\n const code = unicode.codePointAt(0);\n let gid = 0,\n l = 0,\n r = ranges.length - 1;\n while (l < r) {\n const c = l + r + 1 >> 1;\n if (code < ranges[c].start) {\n r = c - 1;\n } else {\n l = c;\n }\n }\n if (ranges[l].start <= code && code <= ranges[l].end) {\n gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xffff;\n }\n return {\n charCode: code,\n glyphId: gid\n };\n}\nfunction compileGlyf(code, cmds, font) {\n function moveTo(x, y) {\n cmds.push({\n cmd: \"moveTo\",\n args: [x, y]\n });\n }\n function lineTo(x, y) {\n cmds.push({\n cmd: \"lineTo\",\n args: [x, y]\n });\n }\n function quadraticCurveTo(xa, ya, x, y) {\n cmds.push({\n cmd: \"quadraticCurveTo\",\n args: [xa, ya, x, y]\n });\n }\n let i = 0;\n const numberOfContours = getInt16(code, i);\n let flags;\n let x = 0,\n y = 0;\n i += 10;\n if (numberOfContours < 0) {\n do {\n flags = getUint16(code, i);\n const glyphIndex = getUint16(code, i + 2);\n i += 4;\n let arg1, arg2;\n if (flags & 0x01) {\n if (flags & 0x02) {\n arg1 = getInt16(code, i);\n arg2 = getInt16(code, i + 2);\n } else {\n arg1 = getUint16(code, i);\n arg2 = getUint16(code, i + 2);\n }\n i += 4;\n } else if (flags & 0x02) {\n arg1 = getInt8(code, i++);\n arg2 = getInt8(code, i++);\n } else {\n arg1 = code[i++];\n arg2 = code[i++];\n }\n if (flags & 0x02) {\n x = arg1;\n y = arg2;\n } else {\n x = 0;\n y = 0;\n }\n let scaleX = 1,\n scaleY = 1,\n scale01 = 0,\n scale10 = 0;\n if (flags & 0x08) {\n scaleX = scaleY = getFloat214(code, i);\n i += 2;\n } else if (flags & 0x40) {\n scaleX = getFloat214(code, i);\n scaleY = getFloat214(code, i + 2);\n i += 4;\n } else if (flags & 0x80) {\n scaleX = getFloat214(code, i);\n scale01 = getFloat214(code, i + 2);\n scale10 = getFloat214(code, i + 4);\n scaleY = getFloat214(code, i + 6);\n i += 8;\n }\n const subglyph = font.glyphs[glyphIndex];\n if (subglyph) {\n cmds.push({\n cmd: \"save\"\n }, {\n cmd: \"transform\",\n args: [scaleX, scale01, scale10, scaleY, x, y]\n });\n if (!(flags & 0x02)) {}\n compileGlyf(subglyph, cmds, font);\n cmds.push({\n cmd: \"restore\"\n });\n }\n } while (flags & 0x20);\n } else {\n const endPtsOfContours = [];\n let j, jj;\n for (j = 0; j < numberOfContours; j++) {\n endPtsOfContours.push(getUint16(code, i));\n i += 2;\n }\n const instructionLength = getUint16(code, i);\n i += 2 + instructionLength;\n const numberOfPoints = endPtsOfContours.at(-1) + 1;\n const points = [];\n while (points.length < numberOfPoints) {\n flags = code[i++];\n let repeat = 1;\n if (flags & 0x08) {\n repeat += code[i++];\n }\n while (repeat-- > 0) {\n points.push({\n flags\n });\n }\n }\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x12) {\n case 0x00:\n x += getInt16(code, i);\n i += 2;\n break;\n case 0x02:\n x -= code[i++];\n break;\n case 0x12:\n x += code[i++];\n break;\n }\n points[j].x = x;\n }\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x24) {\n case 0x00:\n y += getInt16(code, i);\n i += 2;\n break;\n case 0x04:\n y -= code[i++];\n break;\n case 0x24:\n y += code[i++];\n break;\n }\n points[j].y = y;\n }\n let startPoint = 0;\n for (i = 0; i < numberOfContours; i++) {\n const endPoint = endPtsOfContours[i];\n const contour = points.slice(startPoint, endPoint + 1);\n if (contour[0].flags & 1) {\n contour.push(contour[0]);\n } else if (contour.at(-1).flags & 1) {\n contour.unshift(contour.at(-1));\n } else {\n const p = {\n flags: 1,\n x: (contour[0].x + contour.at(-1).x) / 2,\n y: (contour[0].y + contour.at(-1).y) / 2\n };\n contour.unshift(p);\n contour.push(p);\n }\n moveTo(contour[0].x, contour[0].y);\n for (j = 1, jj = contour.length; j < jj; j++) {\n if (contour[j].flags & 1) {\n lineTo(contour[j].x, contour[j].y);\n } else if (contour[j + 1].flags & 1) {\n quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n j++;\n } else {\n quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n }\n }\n startPoint = endPoint + 1;\n }\n }\n}\nfunction compileCharString(charStringCode, cmds, font, glyphId) {\n function moveTo(x, y) {\n cmds.push({\n cmd: \"moveTo\",\n args: [x, y]\n });\n }\n function lineTo(x, y) {\n cmds.push({\n cmd: \"lineTo\",\n args: [x, y]\n });\n }\n function bezierCurveTo(x1, y1, x2, y2, x, y) {\n cmds.push({\n cmd: \"bezierCurveTo\",\n args: [x1, y1, x2, y2, x, y]\n });\n }\n const stack = [];\n let x = 0,\n y = 0;\n let stems = 0;\n function parse(code) {\n let i = 0;\n while (i < code.length) {\n let stackClean = false;\n let v = code[i++];\n let xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n switch (v) {\n case 1:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n case 3:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n case 4:\n y += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n break;\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n y += stack.shift();\n lineTo(x, y);\n }\n break;\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n lineTo(x, y);\n if (stack.length === 0) {\n break;\n }\n x += stack.shift();\n lineTo(x, y);\n }\n break;\n case 8:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n break;\n case 10:\n n = stack.pop();\n subrCode = null;\n if (font.isCFFCIDFont) {\n const fdIndex = font.fdSelect.getFDIndex(glyphId);\n if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n const fontDict = font.fdArray[fdIndex];\n let subrs;\n if (fontDict.privateDict?.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n if (subrs) {\n n += getSubroutineBias(subrs);\n subrCode = subrs[n];\n }\n } else {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n }\n } else {\n subrCode = font.subrs[n + font.subrsBias];\n }\n if (subrCode) {\n parse(subrCode);\n }\n break;\n case 11:\n return;\n case 12:\n v = code[i++];\n switch (v) {\n case 34:\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y1 = y + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y, xb, y1, x, y1);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y, x, y);\n break;\n case 35:\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n stack.pop();\n break;\n case 36:\n xa = x + stack.shift();\n y1 = y + stack.shift();\n xb = xa + stack.shift();\n y2 = y1 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y2, x, y2);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y3 = y2 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y2, xb, y3, x, y);\n break;\n case 37:\n const x0 = x,\n y0 = y;\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb;\n if (Math.abs(x - x0) > Math.abs(y - y0)) {\n x += stack.shift();\n } else {\n y += stack.shift();\n }\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n default:\n throw new _util.FormatError(`unknown operator: 12 ${v}`);\n }\n break;\n case 14:\n if (stack.length >= 4) {\n const achar = stack.pop();\n const bchar = stack.pop();\n y = stack.pop();\n x = stack.pop();\n cmds.push({\n cmd: \"save\"\n }, {\n cmd: \"translate\",\n args: [x, y]\n });\n let cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n cmds.push({\n cmd: \"restore\"\n });\n cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n }\n return;\n case 18:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n case 19:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n case 20:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n case 21:\n y += stack.pop();\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n case 22:\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n case 23:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n case 24:\n while (stack.length > 2) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n break;\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n case 26:\n if (stack.length % 2) {\n x += stack.shift();\n }\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n break;\n case 27:\n if (stack.length % 2) {\n y += stack.shift();\n }\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb;\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n break;\n case 28:\n stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n i += 2;\n break;\n case 29:\n n = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[n];\n if (subrCode) {\n parse(subrCode);\n }\n break;\n case 30:\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n if (stack.length === 0) {\n break;\n }\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n break;\n case 31:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n if (stack.length === 0) {\n break;\n }\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n break;\n default:\n if (v < 32) {\n throw new _util.FormatError(`unknown operator: ${v}`);\n }\n if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n stack.push((v - 247) * 256 + code[i++] + 108);\n } else if (v < 255) {\n stack.push(-(v - 251) * 256 - code[i++] - 108);\n } else {\n stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n i += 4;\n }\n break;\n }\n if (stackClean) {\n stack.length = 0;\n }\n }\n }\n parse(charStringCode);\n}\nconst NOOP = [];\nclass CompiledFont {\n constructor(fontMatrix) {\n if (this.constructor === CompiledFont) {\n (0, _util.unreachable)(\"Cannot initialize CompiledFont.\");\n }\n this.fontMatrix = fontMatrix;\n this.compiledGlyphs = Object.create(null);\n this.compiledCharCodeToGlyphId = Object.create(null);\n }\n getPathJs(unicode) {\n const {\n charCode,\n glyphId\n } = lookupCmap(this.cmap, unicode);\n let fn = this.compiledGlyphs[glyphId];\n if (!fn) {\n try {\n fn = this.compileGlyph(this.glyphs[glyphId], glyphId);\n this.compiledGlyphs[glyphId] = fn;\n } catch (ex) {\n this.compiledGlyphs[glyphId] = NOOP;\n if (this.compiledCharCodeToGlyphId[charCode] === undefined) {\n this.compiledCharCodeToGlyphId[charCode] = glyphId;\n }\n throw ex;\n }\n }\n if (this.compiledCharCodeToGlyphId[charCode] === undefined) {\n this.compiledCharCodeToGlyphId[charCode] = glyphId;\n }\n return fn;\n }\n compileGlyph(code, glyphId) {\n if (!code || code.length === 0 || code[0] === 14) {\n return NOOP;\n }\n let fontMatrix = this.fontMatrix;\n if (this.isCFFCIDFont) {\n const fdIndex = this.fdSelect.getFDIndex(glyphId);\n if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n const fontDict = this.fdArray[fdIndex];\n fontMatrix = fontDict.getByName(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX;\n } else {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n }\n }\n const cmds = [{\n cmd: \"save\"\n }, {\n cmd: \"transform\",\n args: fontMatrix.slice()\n }, {\n cmd: \"scale\",\n args: [\"size\", \"-size\"]\n }];\n this.compileGlyphImpl(code, cmds, glyphId);\n cmds.push({\n cmd: \"restore\"\n });\n return cmds;\n }\n compileGlyphImpl() {\n (0, _util.unreachable)(\"Children classes should implement this.\");\n }\n hasBuiltPath(unicode) {\n const {\n charCode,\n glyphId\n } = lookupCmap(this.cmap, unicode);\n return this.compiledGlyphs[glyphId] !== undefined && this.compiledCharCodeToGlyphId[charCode] !== undefined;\n }\n}\nclass TrueTypeCompiled extends CompiledFont {\n constructor(glyphs, cmap, fontMatrix) {\n super(fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]);\n this.glyphs = glyphs;\n this.cmap = cmap;\n }\n compileGlyphImpl(code, cmds) {\n compileGlyf(code, cmds, this);\n }\n}\nclass Type2Compiled extends CompiledFont {\n constructor(cffInfo, cmap, fontMatrix, glyphNameMap) {\n super(fontMatrix || [0.001, 0, 0, 0.001, 0, 0]);\n this.glyphs = cffInfo.glyphs;\n this.gsubrs = cffInfo.gsubrs || [];\n this.subrs = cffInfo.subrs || [];\n this.cmap = cmap;\n this.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n this.gsubrsBias = getSubroutineBias(this.gsubrs);\n this.subrsBias = getSubroutineBias(this.subrs);\n this.isCFFCIDFont = cffInfo.isCFFCIDFont;\n this.fdSelect = cffInfo.fdSelect;\n this.fdArray = cffInfo.fdArray;\n }\n compileGlyphImpl(code, cmds, glyphId) {\n compileCharString(code, cmds, this, glyphId);\n }\n}\nclass FontRendererFactory {\n static create(font, seacAnalysisEnabled) {\n const data = new Uint8Array(font.data);\n let cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n const numTables = getUint16(data, 4);\n for (let i = 0, p = 12; i < numTables; i++, p += 16) {\n const tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n const offset = getUint32(data, p + 8);\n const length = getUint32(data, p + 12);\n switch (tag) {\n case \"cmap\":\n cmap = parseCmap(data, offset, offset + length);\n break;\n case \"glyf\":\n glyf = data.subarray(offset, offset + length);\n break;\n case \"loca\":\n loca = data.subarray(offset, offset + length);\n break;\n case \"head\":\n unitsPerEm = getUint16(data, offset + 18);\n indexToLocFormat = getUint16(data, offset + 50);\n break;\n case \"CFF \":\n cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n break;\n }\n }\n if (glyf) {\n const fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n }\n return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n }\n}\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 45 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getMetrics = exports.getFontBasicMetrics = void 0;\nvar _core_utils = __w_pdfjs_require__(3);\nconst getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Courier = 600;\n t[\"Courier-Bold\"] = 600;\n t[\"Courier-BoldOblique\"] = 600;\n t[\"Courier-Oblique\"] = 600;\n t.Helvetica = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 278;\n t.quotedbl = 355;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 667;\n t.quoteright = 222;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 556;\n t.at = 1015;\n t.A = 667;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 500;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 278;\n t.backslash = 278;\n t.bracketright = 278;\n t.asciicircum = 469;\n t.underscore = 556;\n t.quoteleft = 222;\n t.a = 556;\n t.b = 556;\n t.c = 500;\n t.d = 556;\n t.e = 556;\n t.f = 278;\n t.g = 556;\n t.h = 556;\n t.i = 222;\n t.j = 222;\n t.k = 500;\n t.l = 222;\n t.m = 833;\n t.n = 556;\n t.o = 556;\n t.p = 556;\n t.q = 556;\n t.r = 333;\n t.s = 500;\n t.t = 278;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 500;\n t.braceleft = 334;\n t.bar = 260;\n t.braceright = 334;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 191;\n t.quotedblleft = 333;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 537;\n t.bullet = 350;\n t.quotesinglbase = 222;\n t.quotedblbase = 333;\n t.quotedblright = 333;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 556;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 222;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 556;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 667;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 500;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 500;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 222;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 500;\n t.scedilla = 500;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 556;\n t.Amacron = 667;\n t.rcaron = 333;\n t.ccedilla = 500;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 643;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 584;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 500;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 260;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 333;\n t.omacron = 556;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 222;\n t.tcaron = 317;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 222;\n t.Oacute = 778;\n t.oacute = 556;\n t.amacron = 556;\n t.sacute = 500;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 556;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 299;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 556;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 556;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 556;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 556;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 556;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 556;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 500;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 584;\n t.odieresis = 556;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 556;\n t.eth = 556;\n t.zcaron = 500;\n t.ncommaaccent = 556;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 333;\n t.quotedbl = 474;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 722;\n t.quoteright = 278;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 611;\n t.at = 975;\n t.A = 722;\n t.B = 722;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 556;\n t.K = 722;\n t.L = 611;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 584;\n t.underscore = 556;\n t.quoteleft = 278;\n t.a = 556;\n t.b = 611;\n t.c = 556;\n t.d = 611;\n t.e = 556;\n t.f = 333;\n t.g = 611;\n t.h = 611;\n t.i = 278;\n t.j = 278;\n t.k = 556;\n t.l = 278;\n t.m = 889;\n t.n = 611;\n t.o = 611;\n t.p = 611;\n t.q = 611;\n t.r = 389;\n t.s = 556;\n t.t = 333;\n t.u = 611;\n t.v = 556;\n t.w = 778;\n t.x = 556;\n t.y = 556;\n t.z = 500;\n t.braceleft = 389;\n t.bar = 280;\n t.braceright = 389;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 238;\n t.quotedblleft = 500;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 611;\n t.fl = 611;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 556;\n t.bullet = 350;\n t.quotesinglbase = 278;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 611;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 611;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 722;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 556;\n t.scommaaccent = 556;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 611;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 556;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 556;\n t.scedilla = 556;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 611;\n t.acircumflex = 556;\n t.Amacron = 722;\n t.rcaron = 389;\n t.ccedilla = 556;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 743;\n t.Umacron = 722;\n t.uring = 611;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 584;\n t.uacute = 611;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 556;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 556;\n t.nacute = 611;\n t.umacron = 611;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 280;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 611;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 389;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 611;\n t.amacron = 556;\n t.sacute = 556;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 611;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 611;\n t.igrave = 278;\n t.ohungarumlaut = 611;\n t.Eogonek = 667;\n t.dcroat = 611;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 400;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 611;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 611;\n t.ntilde = 611;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 611;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 611;\n t.Ccaron = 722;\n t.ugrave = 611;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 611;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 556;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 611;\n t.tcommaaccent = 333;\n t.logicalnot = 584;\n t.odieresis = 611;\n t.udieresis = 611;\n t.notequal = 549;\n t.gcommaaccent = 611;\n t.eth = 611;\n t.zcaron = 500;\n t.ncommaaccent = 611;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-BoldOblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 333;\n t.quotedbl = 474;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 722;\n t.quoteright = 278;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 611;\n t.at = 975;\n t.A = 722;\n t.B = 722;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 556;\n t.K = 722;\n t.L = 611;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 584;\n t.underscore = 556;\n t.quoteleft = 278;\n t.a = 556;\n t.b = 611;\n t.c = 556;\n t.d = 611;\n t.e = 556;\n t.f = 333;\n t.g = 611;\n t.h = 611;\n t.i = 278;\n t.j = 278;\n t.k = 556;\n t.l = 278;\n t.m = 889;\n t.n = 611;\n t.o = 611;\n t.p = 611;\n t.q = 611;\n t.r = 389;\n t.s = 556;\n t.t = 333;\n t.u = 611;\n t.v = 556;\n t.w = 778;\n t.x = 556;\n t.y = 556;\n t.z = 500;\n t.braceleft = 389;\n t.bar = 280;\n t.braceright = 389;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 238;\n t.quotedblleft = 500;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 611;\n t.fl = 611;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 556;\n t.bullet = 350;\n t.quotesinglbase = 278;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 611;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 611;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 722;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 556;\n t.scommaaccent = 556;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 611;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 556;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 556;\n t.scedilla = 556;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 611;\n t.acircumflex = 556;\n t.Amacron = 722;\n t.rcaron = 389;\n t.ccedilla = 556;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 743;\n t.Umacron = 722;\n t.uring = 611;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 584;\n t.uacute = 611;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 556;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 556;\n t.nacute = 611;\n t.umacron = 611;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 280;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 611;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 389;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 611;\n t.amacron = 556;\n t.sacute = 556;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 611;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 611;\n t.igrave = 278;\n t.ohungarumlaut = 611;\n t.Eogonek = 667;\n t.dcroat = 611;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 400;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 611;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 611;\n t.ntilde = 611;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 611;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 611;\n t.Ccaron = 722;\n t.ugrave = 611;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 611;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 556;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 611;\n t.tcommaaccent = 333;\n t.logicalnot = 584;\n t.odieresis = 611;\n t.udieresis = 611;\n t.notequal = 549;\n t.gcommaaccent = 611;\n t.eth = 611;\n t.zcaron = 500;\n t.ncommaaccent = 611;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-Oblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 278;\n t.quotedbl = 355;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 667;\n t.quoteright = 222;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 556;\n t.at = 1015;\n t.A = 667;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 500;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 278;\n t.backslash = 278;\n t.bracketright = 278;\n t.asciicircum = 469;\n t.underscore = 556;\n t.quoteleft = 222;\n t.a = 556;\n t.b = 556;\n t.c = 500;\n t.d = 556;\n t.e = 556;\n t.f = 278;\n t.g = 556;\n t.h = 556;\n t.i = 222;\n t.j = 222;\n t.k = 500;\n t.l = 222;\n t.m = 833;\n t.n = 556;\n t.o = 556;\n t.p = 556;\n t.q = 556;\n t.r = 333;\n t.s = 500;\n t.t = 278;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 500;\n t.braceleft = 334;\n t.bar = 260;\n t.braceright = 334;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 191;\n t.quotedblleft = 333;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 537;\n t.bullet = 350;\n t.quotesinglbase = 222;\n t.quotedblbase = 333;\n t.quotedblright = 333;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 556;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 222;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 556;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 667;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 500;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 500;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 222;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 500;\n t.scedilla = 500;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 556;\n t.Amacron = 667;\n t.rcaron = 333;\n t.ccedilla = 500;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 643;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 584;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 500;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 260;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 333;\n t.omacron = 556;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 222;\n t.tcaron = 317;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 222;\n t.Oacute = 778;\n t.oacute = 556;\n t.amacron = 556;\n t.sacute = 500;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 556;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 299;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 556;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 556;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 556;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 556;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 556;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 556;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 500;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 584;\n t.odieresis = 556;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 556;\n t.eth = 556;\n t.zcaron = 500;\n t.ncommaaccent = 556;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t.Symbol = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.universal = 713;\n t.numbersign = 500;\n t.existential = 549;\n t.percent = 833;\n t.ampersand = 778;\n t.suchthat = 439;\n t.parenleft = 333;\n t.parenright = 333;\n t.asteriskmath = 500;\n t.plus = 549;\n t.comma = 250;\n t.minus = 549;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 549;\n t.equal = 549;\n t.greater = 549;\n t.question = 444;\n t.congruent = 549;\n t.Alpha = 722;\n t.Beta = 667;\n t.Chi = 722;\n t.Delta = 612;\n t.Epsilon = 611;\n t.Phi = 763;\n t.Gamma = 603;\n t.Eta = 722;\n t.Iota = 333;\n t.theta1 = 631;\n t.Kappa = 722;\n t.Lambda = 686;\n t.Mu = 889;\n t.Nu = 722;\n t.Omicron = 722;\n t.Pi = 768;\n t.Theta = 741;\n t.Rho = 556;\n t.Sigma = 592;\n t.Tau = 611;\n t.Upsilon = 690;\n t.sigma1 = 439;\n t.Omega = 768;\n t.Xi = 645;\n t.Psi = 795;\n t.Zeta = 611;\n t.bracketleft = 333;\n t.therefore = 863;\n t.bracketright = 333;\n t.perpendicular = 658;\n t.underscore = 500;\n t.radicalex = 500;\n t.alpha = 631;\n t.beta = 549;\n t.chi = 549;\n t.delta = 494;\n t.epsilon = 439;\n t.phi = 521;\n t.gamma = 411;\n t.eta = 603;\n t.iota = 329;\n t.phi1 = 603;\n t.kappa = 549;\n t.lambda = 549;\n t.mu = 576;\n t.nu = 521;\n t.omicron = 549;\n t.pi = 549;\n t.theta = 521;\n t.rho = 549;\n t.sigma = 603;\n t.tau = 439;\n t.upsilon = 576;\n t.omega1 = 713;\n t.omega = 686;\n t.xi = 493;\n t.psi = 686;\n t.zeta = 494;\n t.braceleft = 480;\n t.bar = 200;\n t.braceright = 480;\n t.similar = 549;\n t.Euro = 750;\n t.Upsilon1 = 620;\n t.minute = 247;\n t.lessequal = 549;\n t.fraction = 167;\n t.infinity = 713;\n t.florin = 500;\n t.club = 753;\n t.diamond = 753;\n t.heart = 753;\n t.spade = 753;\n t.arrowboth = 1042;\n t.arrowleft = 987;\n t.arrowup = 603;\n t.arrowright = 987;\n t.arrowdown = 603;\n t.degree = 400;\n t.plusminus = 549;\n t.second = 411;\n t.greaterequal = 549;\n t.multiply = 549;\n t.proportional = 713;\n t.partialdiff = 494;\n t.bullet = 460;\n t.divide = 549;\n t.notequal = 549;\n t.equivalence = 549;\n t.approxequal = 549;\n t.ellipsis = 1000;\n t.arrowvertex = 603;\n t.arrowhorizex = 1000;\n t.carriagereturn = 658;\n t.aleph = 823;\n t.Ifraktur = 686;\n t.Rfraktur = 795;\n t.weierstrass = 987;\n t.circlemultiply = 768;\n t.circleplus = 768;\n t.emptyset = 823;\n t.intersection = 768;\n t.union = 768;\n t.propersuperset = 713;\n t.reflexsuperset = 713;\n t.notsubset = 713;\n t.propersubset = 713;\n t.reflexsubset = 713;\n t.element = 713;\n t.notelement = 713;\n t.angle = 768;\n t.gradient = 713;\n t.registerserif = 790;\n t.copyrightserif = 790;\n t.trademarkserif = 890;\n t.product = 823;\n t.radical = 549;\n t.dotmath = 250;\n t.logicalnot = 713;\n t.logicaland = 603;\n t.logicalor = 603;\n t.arrowdblboth = 1042;\n t.arrowdblleft = 987;\n t.arrowdblup = 603;\n t.arrowdblright = 987;\n t.arrowdbldown = 603;\n t.lozenge = 494;\n t.angleleft = 329;\n t.registersans = 790;\n t.copyrightsans = 790;\n t.trademarksans = 786;\n t.summation = 713;\n t.parenlefttp = 384;\n t.parenleftex = 384;\n t.parenleftbt = 384;\n t.bracketlefttp = 384;\n t.bracketleftex = 384;\n t.bracketleftbt = 384;\n t.bracelefttp = 494;\n t.braceleftmid = 494;\n t.braceleftbt = 494;\n t.braceex = 494;\n t.angleright = 329;\n t.integral = 274;\n t.integraltp = 686;\n t.integralex = 686;\n t.integralbt = 686;\n t.parenrighttp = 384;\n t.parenrightex = 384;\n t.parenrightbt = 384;\n t.bracketrighttp = 384;\n t.bracketrightex = 384;\n t.bracketrightbt = 384;\n t.bracerighttp = 494;\n t.bracerightmid = 494;\n t.bracerightbt = 494;\n t.apple = 790;\n });\n t[\"Times-Roman\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 408;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 564;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 564;\n t.equal = 564;\n t.greater = 564;\n t.question = 444;\n t.at = 921;\n t.A = 722;\n t.B = 667;\n t.C = 667;\n t.D = 722;\n t.E = 611;\n t.F = 556;\n t.G = 722;\n t.H = 722;\n t.I = 333;\n t.J = 389;\n t.K = 722;\n t.L = 611;\n t.M = 889;\n t.N = 722;\n t.O = 722;\n t.P = 556;\n t.Q = 722;\n t.R = 667;\n t.S = 556;\n t.T = 611;\n t.U = 722;\n t.V = 722;\n t.W = 944;\n t.X = 722;\n t.Y = 722;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 469;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 444;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 500;\n t.i = 278;\n t.j = 278;\n t.k = 500;\n t.l = 278;\n t.m = 778;\n t.n = 500;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 333;\n t.s = 389;\n t.t = 278;\n t.u = 500;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 444;\n t.braceleft = 480;\n t.bar = 200;\n t.braceright = 480;\n t.asciitilde = 541;\n t.exclamdown = 333;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 180;\n t.quotedblleft = 444;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 453;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 444;\n t.quotedblright = 444;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 444;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 889;\n t.ordfeminine = 276;\n t.Lslash = 611;\n t.Oslash = 722;\n t.OE = 889;\n t.ordmasculine = 310;\n t.ae = 667;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 500;\n t.Idieresis = 333;\n t.eacute = 444;\n t.abreve = 444;\n t.uhungarumlaut = 500;\n t.ecaron = 444;\n t.Ydieresis = 722;\n t.divide = 564;\n t.Yacute = 722;\n t.Acircumflex = 722;\n t.aacute = 444;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 444;\n t.Uacute = 722;\n t.uogonek = 500;\n t.Edieresis = 611;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 760;\n t.Emacron = 611;\n t.ccaron = 444;\n t.aring = 444;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 444;\n t.Tcommaaccent = 611;\n t.Cacute = 667;\n t.atilde = 444;\n t.Edotaccent = 611;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 667;\n t.Gcommaaccent = 722;\n t.ucircumflex = 500;\n t.acircumflex = 444;\n t.Amacron = 722;\n t.rcaron = 333;\n t.ccedilla = 444;\n t.Zdotaccent = 611;\n t.Thorn = 556;\n t.Omacron = 722;\n t.Racute = 667;\n t.Sacute = 556;\n t.dcaron = 588;\n t.Umacron = 722;\n t.uring = 500;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 564;\n t.uacute = 500;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 611;\n t.adieresis = 444;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 500;\n t.umacron = 500;\n t.Ncaron = 722;\n t.Iacute = 333;\n t.plusminus = 564;\n t.brokenbar = 200;\n t.registered = 760;\n t.Gbreve = 722;\n t.Idotaccent = 333;\n t.summation = 600;\n t.Egrave = 611;\n t.racute = 333;\n t.omacron = 500;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 326;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 444;\n t.zacute = 444;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 444;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 500;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 611;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 344;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 980;\n t.edotaccent = 444;\n t.Igrave = 333;\n t.Imacron = 333;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 500;\n t.Uhungarumlaut = 722;\n t.Eacute = 611;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 500;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 667;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 722;\n t.zdotaccent = 444;\n t.Ecaron = 611;\n t.Iogonek = 333;\n t.kcommaaccent = 500;\n t.minus = 564;\n t.Icircumflex = 333;\n t.ncaron = 500;\n t.tcommaaccent = 278;\n t.logicalnot = 564;\n t.odieresis = 500;\n t.udieresis = 500;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 444;\n t.ncommaaccent = 500;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 555;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 1000;\n t.ampersand = 833;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 570;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 570;\n t.equal = 570;\n t.greater = 570;\n t.question = 500;\n t.at = 930;\n t.A = 722;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 778;\n t.I = 389;\n t.J = 500;\n t.K = 778;\n t.L = 667;\n t.M = 944;\n t.N = 722;\n t.O = 778;\n t.P = 611;\n t.Q = 778;\n t.R = 722;\n t.S = 556;\n t.T = 667;\n t.U = 722;\n t.V = 722;\n t.W = 1000;\n t.X = 722;\n t.Y = 722;\n t.Z = 667;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 581;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 556;\n t.c = 444;\n t.d = 556;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 556;\n t.i = 278;\n t.j = 333;\n t.k = 556;\n t.l = 278;\n t.m = 833;\n t.n = 556;\n t.o = 500;\n t.p = 556;\n t.q = 556;\n t.r = 444;\n t.s = 389;\n t.t = 333;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 444;\n t.braceleft = 394;\n t.bar = 220;\n t.braceright = 394;\n t.asciitilde = 520;\n t.exclamdown = 333;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 278;\n t.quotedblleft = 500;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 540;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 300;\n t.Lslash = 667;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 330;\n t.ae = 722;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 556;\n t.Idieresis = 389;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 556;\n t.ecaron = 444;\n t.Ydieresis = 722;\n t.divide = 570;\n t.Yacute = 722;\n t.Acircumflex = 722;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 747;\n t.Emacron = 667;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 667;\n t.Cacute = 722;\n t.atilde = 500;\n t.Edotaccent = 667;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 500;\n t.Amacron = 722;\n t.rcaron = 444;\n t.ccedilla = 444;\n t.Zdotaccent = 667;\n t.Thorn = 611;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 556;\n t.dcaron = 672;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 300;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 570;\n t.uacute = 556;\n t.Tcaron = 667;\n t.partialdiff = 494;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 389;\n t.plusminus = 570;\n t.brokenbar = 220;\n t.registered = 747;\n t.Gbreve = 778;\n t.Idotaccent = 389;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 444;\n t.omacron = 500;\n t.Zacute = 667;\n t.Zcaron = 667;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 416;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 444;\n t.zacute = 444;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 300;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 394;\n t.Kcommaaccent = 778;\n t.Lacute = 667;\n t.trademark = 1000;\n t.edotaccent = 444;\n t.Igrave = 389;\n t.Imacron = 389;\n t.Lcaron = 667;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 444;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 667;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 444;\n t.Ecaron = 667;\n t.Iogonek = 389;\n t.kcommaaccent = 556;\n t.minus = 570;\n t.Icircumflex = 389;\n t.ncaron = 556;\n t.tcommaaccent = 333;\n t.logicalnot = 570;\n t.odieresis = 500;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 444;\n t.ncommaaccent = 556;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-BoldItalic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 389;\n t.quotedbl = 555;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 570;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 570;\n t.equal = 570;\n t.greater = 570;\n t.question = 500;\n t.at = 832;\n t.A = 667;\n t.B = 667;\n t.C = 667;\n t.D = 722;\n t.E = 667;\n t.F = 667;\n t.G = 722;\n t.H = 778;\n t.I = 389;\n t.J = 500;\n t.K = 667;\n t.L = 611;\n t.M = 889;\n t.N = 722;\n t.O = 722;\n t.P = 611;\n t.Q = 722;\n t.R = 667;\n t.S = 556;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 889;\n t.X = 667;\n t.Y = 611;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 570;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 556;\n t.i = 278;\n t.j = 278;\n t.k = 500;\n t.l = 278;\n t.m = 778;\n t.n = 556;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 389;\n t.s = 389;\n t.t = 278;\n t.u = 556;\n t.v = 444;\n t.w = 667;\n t.x = 500;\n t.y = 444;\n t.z = 389;\n t.braceleft = 348;\n t.bar = 220;\n t.braceright = 348;\n t.asciitilde = 570;\n t.exclamdown = 389;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 278;\n t.quotedblleft = 500;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 500;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 944;\n t.ordfeminine = 266;\n t.Lslash = 611;\n t.Oslash = 722;\n t.OE = 944;\n t.ordmasculine = 300;\n t.ae = 722;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 500;\n t.Idieresis = 389;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 556;\n t.ecaron = 444;\n t.Ydieresis = 611;\n t.divide = 570;\n t.Yacute = 611;\n t.Acircumflex = 667;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 444;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 747;\n t.Emacron = 667;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 611;\n t.Cacute = 667;\n t.atilde = 500;\n t.Edotaccent = 667;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 667;\n t.Gcommaaccent = 722;\n t.ucircumflex = 556;\n t.acircumflex = 500;\n t.Amacron = 667;\n t.rcaron = 389;\n t.ccedilla = 444;\n t.Zdotaccent = 611;\n t.Thorn = 611;\n t.Omacron = 722;\n t.Racute = 667;\n t.Sacute = 556;\n t.dcaron = 608;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 570;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 444;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 389;\n t.plusminus = 570;\n t.brokenbar = 220;\n t.registered = 747;\n t.Gbreve = 722;\n t.Idotaccent = 389;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 500;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 366;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 444;\n t.zacute = 389;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 576;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 667;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 382;\n t.Kcommaaccent = 667;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 444;\n t.Igrave = 389;\n t.Imacron = 389;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 556;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 667;\n t.Lcommaaccent = 611;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 722;\n t.zdotaccent = 389;\n t.Ecaron = 667;\n t.Iogonek = 389;\n t.kcommaaccent = 500;\n t.minus = 606;\n t.Icircumflex = 389;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 606;\n t.odieresis = 500;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 389;\n t.ncommaaccent = 556;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-Italic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 420;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 675;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 675;\n t.equal = 675;\n t.greater = 675;\n t.question = 500;\n t.at = 920;\n t.A = 611;\n t.B = 611;\n t.C = 667;\n t.D = 722;\n t.E = 611;\n t.F = 611;\n t.G = 722;\n t.H = 722;\n t.I = 333;\n t.J = 444;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 667;\n t.O = 722;\n t.P = 611;\n t.Q = 722;\n t.R = 611;\n t.S = 500;\n t.T = 556;\n t.U = 722;\n t.V = 611;\n t.W = 833;\n t.X = 611;\n t.Y = 556;\n t.Z = 556;\n t.bracketleft = 389;\n t.backslash = 278;\n t.bracketright = 389;\n t.asciicircum = 422;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 278;\n t.g = 500;\n t.h = 500;\n t.i = 278;\n t.j = 278;\n t.k = 444;\n t.l = 278;\n t.m = 722;\n t.n = 500;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 389;\n t.s = 389;\n t.t = 278;\n t.u = 500;\n t.v = 444;\n t.w = 667;\n t.x = 444;\n t.y = 444;\n t.z = 389;\n t.braceleft = 400;\n t.bar = 275;\n t.braceright = 400;\n t.asciitilde = 541;\n t.exclamdown = 389;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 214;\n t.quotedblleft = 556;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 523;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 556;\n t.quotedblright = 556;\n t.guillemotright = 500;\n t.ellipsis = 889;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 889;\n t.AE = 889;\n t.ordfeminine = 276;\n t.Lslash = 556;\n t.Oslash = 722;\n t.OE = 944;\n t.ordmasculine = 310;\n t.ae = 667;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 667;\n t.germandbls = 500;\n t.Idieresis = 333;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 500;\n t.ecaron = 444;\n t.Ydieresis = 556;\n t.divide = 675;\n t.Yacute = 556;\n t.Acircumflex = 611;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 444;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 500;\n t.Edieresis = 611;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 760;\n t.Emacron = 611;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 667;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 556;\n t.Cacute = 667;\n t.atilde = 500;\n t.Edotaccent = 611;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 611;\n t.Gcommaaccent = 722;\n t.ucircumflex = 500;\n t.acircumflex = 500;\n t.Amacron = 611;\n t.rcaron = 389;\n t.ccedilla = 444;\n t.Zdotaccent = 556;\n t.Thorn = 611;\n t.Omacron = 722;\n t.Racute = 611;\n t.Sacute = 500;\n t.dcaron = 544;\n t.Umacron = 722;\n t.uring = 500;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 611;\n t.Abreve = 611;\n t.multiply = 675;\n t.uacute = 500;\n t.Tcaron = 556;\n t.partialdiff = 476;\n t.ydieresis = 444;\n t.Nacute = 667;\n t.icircumflex = 278;\n t.Ecircumflex = 611;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 500;\n t.umacron = 500;\n t.Ncaron = 667;\n t.Iacute = 333;\n t.plusminus = 675;\n t.brokenbar = 275;\n t.registered = 760;\n t.Gbreve = 722;\n t.Idotaccent = 333;\n t.summation = 600;\n t.Egrave = 611;\n t.racute = 389;\n t.omacron = 500;\n t.Zacute = 556;\n t.Zcaron = 556;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 300;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 611;\n t.Adieresis = 611;\n t.egrave = 444;\n t.zacute = 389;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 500;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 611;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 500;\n t.lcaron = 300;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 980;\n t.edotaccent = 444;\n t.Igrave = 333;\n t.Imacron = 333;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 500;\n t.Uhungarumlaut = 722;\n t.Eacute = 611;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 500;\n t.Scommaaccent = 500;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 500;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 667;\n t.otilde = 500;\n t.Rcommaaccent = 611;\n t.Lcommaaccent = 556;\n t.Atilde = 611;\n t.Aogonek = 611;\n t.Aring = 611;\n t.Otilde = 722;\n t.zdotaccent = 389;\n t.Ecaron = 611;\n t.Iogonek = 333;\n t.kcommaaccent = 444;\n t.minus = 675;\n t.Icircumflex = 333;\n t.ncaron = 500;\n t.tcommaaccent = 278;\n t.logicalnot = 675;\n t.odieresis = 500;\n t.udieresis = 500;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 389;\n t.ncommaaccent = 500;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t.ZapfDingbats = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.a1 = 974;\n t.a2 = 961;\n t.a202 = 974;\n t.a3 = 980;\n t.a4 = 719;\n t.a5 = 789;\n t.a119 = 790;\n t.a118 = 791;\n t.a117 = 690;\n t.a11 = 960;\n t.a12 = 939;\n t.a13 = 549;\n t.a14 = 855;\n t.a15 = 911;\n t.a16 = 933;\n t.a105 = 911;\n t.a17 = 945;\n t.a18 = 974;\n t.a19 = 755;\n t.a20 = 846;\n t.a21 = 762;\n t.a22 = 761;\n t.a23 = 571;\n t.a24 = 677;\n t.a25 = 763;\n t.a26 = 760;\n t.a27 = 759;\n t.a28 = 754;\n t.a6 = 494;\n t.a7 = 552;\n t.a8 = 537;\n t.a9 = 577;\n t.a10 = 692;\n t.a29 = 786;\n t.a30 = 788;\n t.a31 = 788;\n t.a32 = 790;\n t.a33 = 793;\n t.a34 = 794;\n t.a35 = 816;\n t.a36 = 823;\n t.a37 = 789;\n t.a38 = 841;\n t.a39 = 823;\n t.a40 = 833;\n t.a41 = 816;\n t.a42 = 831;\n t.a43 = 923;\n t.a44 = 744;\n t.a45 = 723;\n t.a46 = 749;\n t.a47 = 790;\n t.a48 = 792;\n t.a49 = 695;\n t.a50 = 776;\n t.a51 = 768;\n t.a52 = 792;\n t.a53 = 759;\n t.a54 = 707;\n t.a55 = 708;\n t.a56 = 682;\n t.a57 = 701;\n t.a58 = 826;\n t.a59 = 815;\n t.a60 = 789;\n t.a61 = 789;\n t.a62 = 707;\n t.a63 = 687;\n t.a64 = 696;\n t.a65 = 689;\n t.a66 = 786;\n t.a67 = 787;\n t.a68 = 713;\n t.a69 = 791;\n t.a70 = 785;\n t.a71 = 791;\n t.a72 = 873;\n t.a73 = 761;\n t.a74 = 762;\n t.a203 = 762;\n t.a75 = 759;\n t.a204 = 759;\n t.a76 = 892;\n t.a77 = 892;\n t.a78 = 788;\n t.a79 = 784;\n t.a81 = 438;\n t.a82 = 138;\n t.a83 = 277;\n t.a84 = 415;\n t.a97 = 392;\n t.a98 = 392;\n t.a99 = 668;\n t.a100 = 668;\n t.a89 = 390;\n t.a90 = 390;\n t.a93 = 317;\n t.a94 = 317;\n t.a91 = 276;\n t.a92 = 276;\n t.a205 = 509;\n t.a85 = 509;\n t.a206 = 410;\n t.a86 = 410;\n t.a87 = 234;\n t.a88 = 234;\n t.a95 = 334;\n t.a96 = 334;\n t.a101 = 732;\n t.a102 = 544;\n t.a103 = 544;\n t.a104 = 910;\n t.a106 = 667;\n t.a107 = 760;\n t.a108 = 760;\n t.a112 = 776;\n t.a111 = 595;\n t.a110 = 694;\n t.a109 = 626;\n t.a120 = 788;\n t.a121 = 788;\n t.a122 = 788;\n t.a123 = 788;\n t.a124 = 788;\n t.a125 = 788;\n t.a126 = 788;\n t.a127 = 788;\n t.a128 = 788;\n t.a129 = 788;\n t.a130 = 788;\n t.a131 = 788;\n t.a132 = 788;\n t.a133 = 788;\n t.a134 = 788;\n t.a135 = 788;\n t.a136 = 788;\n t.a137 = 788;\n t.a138 = 788;\n t.a139 = 788;\n t.a140 = 788;\n t.a141 = 788;\n t.a142 = 788;\n t.a143 = 788;\n t.a144 = 788;\n t.a145 = 788;\n t.a146 = 788;\n t.a147 = 788;\n t.a148 = 788;\n t.a149 = 788;\n t.a150 = 788;\n t.a151 = 788;\n t.a152 = 788;\n t.a153 = 788;\n t.a154 = 788;\n t.a155 = 788;\n t.a156 = 788;\n t.a157 = 788;\n t.a158 = 788;\n t.a159 = 788;\n t.a160 = 894;\n t.a161 = 838;\n t.a163 = 1016;\n t.a164 = 458;\n t.a196 = 748;\n t.a165 = 924;\n t.a192 = 748;\n t.a166 = 918;\n t.a167 = 927;\n t.a168 = 928;\n t.a169 = 928;\n t.a170 = 834;\n t.a171 = 873;\n t.a172 = 828;\n t.a173 = 924;\n t.a162 = 924;\n t.a174 = 917;\n t.a175 = 930;\n t.a176 = 931;\n t.a177 = 463;\n t.a178 = 883;\n t.a179 = 836;\n t.a193 = 836;\n t.a180 = 867;\n t.a199 = 867;\n t.a181 = 696;\n t.a200 = 696;\n t.a182 = 874;\n t.a201 = 874;\n t.a183 = 760;\n t.a184 = 946;\n t.a197 = 771;\n t.a185 = 865;\n t.a194 = 771;\n t.a198 = 888;\n t.a186 = 967;\n t.a195 = 888;\n t.a187 = 831;\n t.a188 = 873;\n t.a189 = 927;\n t.a190 = 970;\n t.a191 = 918;\n });\n});\nexports.getMetrics = getMetrics;\nconst getFontBasicMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Courier = {\n ascent: 629,\n descent: -157,\n capHeight: 562,\n xHeight: -426\n };\n t[\"Courier-Bold\"] = {\n ascent: 629,\n descent: -157,\n capHeight: 562,\n xHeight: 439\n };\n t[\"Courier-Oblique\"] = {\n ascent: 629,\n descent: -157,\n capHeight: 562,\n xHeight: 426\n };\n t[\"Courier-BoldOblique\"] = {\n ascent: 629,\n descent: -157,\n capHeight: 562,\n xHeight: 426\n };\n t.Helvetica = {\n ascent: 718,\n descent: -207,\n capHeight: 718,\n xHeight: 523\n };\n t[\"Helvetica-Bold\"] = {\n ascent: 718,\n descent: -207,\n capHeight: 718,\n xHeight: 532\n };\n t[\"Helvetica-Oblique\"] = {\n ascent: 718,\n descent: -207,\n capHeight: 718,\n xHeight: 523\n };\n t[\"Helvetica-BoldOblique\"] = {\n ascent: 718,\n descent: -207,\n capHeight: 718,\n xHeight: 532\n };\n t[\"Times-Roman\"] = {\n ascent: 683,\n descent: -217,\n capHeight: 662,\n xHeight: 450\n };\n t[\"Times-Bold\"] = {\n ascent: 683,\n descent: -217,\n capHeight: 676,\n xHeight: 461\n };\n t[\"Times-Italic\"] = {\n ascent: 683,\n descent: -217,\n capHeight: 653,\n xHeight: 441\n };\n t[\"Times-BoldItalic\"] = {\n ascent: 683,\n descent: -217,\n capHeight: 669,\n xHeight: 462\n };\n t.Symbol = {\n ascent: Math.NaN,\n descent: Math.NaN,\n capHeight: Math.NaN,\n xHeight: Math.NaN\n };\n t.ZapfDingbats = {\n ascent: Math.NaN,\n descent: Math.NaN,\n capHeight: Math.NaN,\n xHeight: Math.NaN\n };\n});\nexports.getFontBasicMetrics = getFontBasicMetrics;\n\n/***/ }),\n/* 46 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlyfTable = void 0;\nconst ON_CURVE_POINT = 1 << 0;\nconst X_SHORT_VECTOR = 1 << 1;\nconst Y_SHORT_VECTOR = 1 << 2;\nconst REPEAT_FLAG = 1 << 3;\nconst X_IS_SAME_OR_POSITIVE_X_SHORT_VECTOR = 1 << 4;\nconst Y_IS_SAME_OR_POSITIVE_Y_SHORT_VECTOR = 1 << 5;\nconst OVERLAP_SIMPLE = 1 << 6;\nconst ARG_1_AND_2_ARE_WORDS = 1 << 0;\nconst ARGS_ARE_XY_VALUES = 1 << 1;\nconst WE_HAVE_A_SCALE = 1 << 3;\nconst MORE_COMPONENTS = 1 << 5;\nconst WE_HAVE_AN_X_AND_Y_SCALE = 1 << 6;\nconst WE_HAVE_A_TWO_BY_TWO = 1 << 7;\nconst WE_HAVE_INSTRUCTIONS = 1 << 8;\nclass GlyfTable {\n constructor({\n glyfTable,\n isGlyphLocationsLong,\n locaTable,\n numGlyphs\n }) {\n this.glyphs = [];\n const loca = new DataView(locaTable.buffer, locaTable.byteOffset, locaTable.byteLength);\n const glyf = new DataView(glyfTable.buffer, glyfTable.byteOffset, glyfTable.byteLength);\n const offsetSize = isGlyphLocationsLong ? 4 : 2;\n let prev = isGlyphLocationsLong ? loca.getUint32(0) : 2 * loca.getUint16(0);\n let pos = 0;\n for (let i = 0; i < numGlyphs; i++) {\n pos += offsetSize;\n const next = isGlyphLocationsLong ? loca.getUint32(pos) : 2 * loca.getUint16(pos);\n if (next === prev) {\n this.glyphs.push(new Glyph({}));\n continue;\n }\n const glyph = Glyph.parse(prev, glyf);\n this.glyphs.push(glyph);\n prev = next;\n }\n }\n getSize() {\n return this.glyphs.reduce((a, g) => {\n const size = g.getSize();\n return a + (size + 3 & ~3);\n }, 0);\n }\n write() {\n const totalSize = this.getSize();\n const glyfTable = new DataView(new ArrayBuffer(totalSize));\n const isLocationLong = totalSize > 0x1fffe;\n const offsetSize = isLocationLong ? 4 : 2;\n const locaTable = new DataView(new ArrayBuffer((this.glyphs.length + 1) * offsetSize));\n if (isLocationLong) {\n locaTable.setUint32(0, 0);\n } else {\n locaTable.setUint16(0, 0);\n }\n let pos = 0;\n let locaIndex = 0;\n for (const glyph of this.glyphs) {\n pos += glyph.write(pos, glyfTable);\n pos = pos + 3 & ~3;\n locaIndex += offsetSize;\n if (isLocationLong) {\n locaTable.setUint32(locaIndex, pos);\n } else {\n locaTable.setUint16(locaIndex, pos >> 1);\n }\n }\n return {\n isLocationLong,\n loca: new Uint8Array(locaTable.buffer),\n glyf: new Uint8Array(glyfTable.buffer)\n };\n }\n scale(factors) {\n for (let i = 0, ii = this.glyphs.length; i < ii; i++) {\n this.glyphs[i].scale(factors[i]);\n }\n }\n}\nexports.GlyfTable = GlyfTable;\nclass Glyph {\n constructor({\n header = null,\n simple = null,\n composites = null\n }) {\n this.header = header;\n this.simple = simple;\n this.composites = composites;\n }\n static parse(pos, glyf) {\n const [read, header] = GlyphHeader.parse(pos, glyf);\n pos += read;\n if (header.numberOfContours < 0) {\n const composites = [];\n while (true) {\n const [n, composite] = CompositeGlyph.parse(pos, glyf);\n pos += n;\n composites.push(composite);\n if (!(composite.flags & MORE_COMPONENTS)) {\n break;\n }\n }\n return new Glyph({\n header,\n composites\n });\n }\n const simple = SimpleGlyph.parse(pos, glyf, header.numberOfContours);\n return new Glyph({\n header,\n simple\n });\n }\n getSize() {\n if (!this.header) {\n return 0;\n }\n const size = this.simple ? this.simple.getSize() : this.composites.reduce((a, c) => a + c.getSize(), 0);\n return this.header.getSize() + size;\n }\n write(pos, buf) {\n if (!this.header) {\n return 0;\n }\n const spos = pos;\n pos += this.header.write(pos, buf);\n if (this.simple) {\n pos += this.simple.write(pos, buf);\n } else {\n for (const composite of this.composites) {\n pos += composite.write(pos, buf);\n }\n }\n return pos - spos;\n }\n scale(factor) {\n if (!this.header) {\n return;\n }\n const xMiddle = (this.header.xMin + this.header.xMax) / 2;\n this.header.scale(xMiddle, factor);\n if (this.simple) {\n this.simple.scale(xMiddle, factor);\n } else {\n for (const composite of this.composites) {\n composite.scale(xMiddle, factor);\n }\n }\n }\n}\nclass GlyphHeader {\n constructor({\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n }) {\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n }\n static parse(pos, glyf) {\n return [10, new GlyphHeader({\n numberOfContours: glyf.getInt16(pos),\n xMin: glyf.getInt16(pos + 2),\n yMin: glyf.getInt16(pos + 4),\n xMax: glyf.getInt16(pos + 6),\n yMax: glyf.getInt16(pos + 8)\n })];\n }\n getSize() {\n return 10;\n }\n write(pos, buf) {\n buf.setInt16(pos, this.numberOfContours);\n buf.setInt16(pos + 2, this.xMin);\n buf.setInt16(pos + 4, this.yMin);\n buf.setInt16(pos + 6, this.xMax);\n buf.setInt16(pos + 8, this.yMax);\n return 10;\n }\n scale(x, factor) {\n this.xMin = Math.round(x + (this.xMin - x) * factor);\n this.xMax = Math.round(x + (this.xMax - x) * factor);\n }\n}\nclass Contour {\n constructor({\n flags,\n xCoordinates,\n yCoordinates\n }) {\n this.xCoordinates = xCoordinates;\n this.yCoordinates = yCoordinates;\n this.flags = flags;\n }\n}\nclass SimpleGlyph {\n constructor({\n contours,\n instructions\n }) {\n this.contours = contours;\n this.instructions = instructions;\n }\n static parse(pos, glyf, numberOfContours) {\n const endPtsOfContours = [];\n for (let i = 0; i < numberOfContours; i++) {\n const endPt = glyf.getUint16(pos);\n pos += 2;\n endPtsOfContours.push(endPt);\n }\n const numberOfPt = endPtsOfContours[numberOfContours - 1] + 1;\n const instructionLength = glyf.getUint16(pos);\n pos += 2;\n const instructions = new Uint8Array(glyf).slice(pos, pos + instructionLength);\n pos += instructionLength;\n const flags = [];\n for (let i = 0; i < numberOfPt; pos++, i++) {\n let flag = glyf.getUint8(pos);\n flags.push(flag);\n if (flag & REPEAT_FLAG) {\n const count = glyf.getUint8(++pos);\n flag ^= REPEAT_FLAG;\n for (let m = 0; m < count; m++) {\n flags.push(flag);\n }\n i += count;\n }\n }\n const allXCoordinates = [];\n let xCoordinates = [];\n let yCoordinates = [];\n let pointFlags = [];\n const contours = [];\n let endPtsOfContoursIndex = 0;\n let lastCoordinate = 0;\n for (let i = 0; i < numberOfPt; i++) {\n const flag = flags[i];\n if (flag & X_SHORT_VECTOR) {\n const x = glyf.getUint8(pos++);\n lastCoordinate += flag & X_IS_SAME_OR_POSITIVE_X_SHORT_VECTOR ? x : -x;\n xCoordinates.push(lastCoordinate);\n } else if (flag & X_IS_SAME_OR_POSITIVE_X_SHORT_VECTOR) {\n xCoordinates.push(lastCoordinate);\n } else {\n lastCoordinate += glyf.getInt16(pos);\n pos += 2;\n xCoordinates.push(lastCoordinate);\n }\n if (endPtsOfContours[endPtsOfContoursIndex] === i) {\n endPtsOfContoursIndex++;\n allXCoordinates.push(xCoordinates);\n xCoordinates = [];\n }\n }\n lastCoordinate = 0;\n endPtsOfContoursIndex = 0;\n for (let i = 0; i < numberOfPt; i++) {\n const flag = flags[i];\n if (flag & Y_SHORT_VECTOR) {\n const y = glyf.getUint8(pos++);\n lastCoordinate += flag & Y_IS_SAME_OR_POSITIVE_Y_SHORT_VECTOR ? y : -y;\n yCoordinates.push(lastCoordinate);\n } else if (flag & Y_IS_SAME_OR_POSITIVE_Y_SHORT_VECTOR) {\n yCoordinates.push(lastCoordinate);\n } else {\n lastCoordinate += glyf.getInt16(pos);\n pos += 2;\n yCoordinates.push(lastCoordinate);\n }\n pointFlags.push(flag & ON_CURVE_POINT | flag & OVERLAP_SIMPLE);\n if (endPtsOfContours[endPtsOfContoursIndex] === i) {\n xCoordinates = allXCoordinates[endPtsOfContoursIndex];\n endPtsOfContoursIndex++;\n contours.push(new Contour({\n flags: pointFlags,\n xCoordinates,\n yCoordinates\n }));\n yCoordinates = [];\n pointFlags = [];\n }\n }\n return new SimpleGlyph({\n contours,\n instructions\n });\n }\n getSize() {\n let size = this.contours.length * 2 + 2 + this.instructions.length;\n let lastX = 0;\n let lastY = 0;\n for (const contour of this.contours) {\n size += contour.flags.length;\n for (let i = 0, ii = contour.xCoordinates.length; i < ii; i++) {\n const x = contour.xCoordinates[i];\n const y = contour.yCoordinates[i];\n let abs = Math.abs(x - lastX);\n if (abs > 255) {\n size += 2;\n } else if (abs > 0) {\n size += 1;\n }\n lastX = x;\n abs = Math.abs(y - lastY);\n if (abs > 255) {\n size += 2;\n } else if (abs > 0) {\n size += 1;\n }\n lastY = y;\n }\n }\n return size;\n }\n write(pos, buf) {\n const spos = pos;\n const xCoordinates = [];\n const yCoordinates = [];\n const flags = [];\n let lastX = 0;\n let lastY = 0;\n for (const contour of this.contours) {\n for (let i = 0, ii = contour.xCoordinates.length; i < ii; i++) {\n let flag = contour.flags[i];\n const x = contour.xCoordinates[i];\n let delta = x - lastX;\n if (delta === 0) {\n flag |= X_IS_SAME_OR_POSITIVE_X_SHORT_VECTOR;\n xCoordinates.push(0);\n } else {\n const abs = Math.abs(delta);\n if (abs <= 255) {\n flag |= delta >= 0 ? X_SHORT_VECTOR | X_IS_SAME_OR_POSITIVE_X_SHORT_VECTOR : X_SHORT_VECTOR;\n xCoordinates.push(abs);\n } else {\n xCoordinates.push(delta);\n }\n }\n lastX = x;\n const y = contour.yCoordinates[i];\n delta = y - lastY;\n if (delta === 0) {\n flag |= Y_IS_SAME_OR_POSITIVE_Y_SHORT_VECTOR;\n yCoordinates.push(0);\n } else {\n const abs = Math.abs(delta);\n if (abs <= 255) {\n flag |= delta >= 0 ? Y_SHORT_VECTOR | Y_IS_SAME_OR_POSITIVE_Y_SHORT_VECTOR : Y_SHORT_VECTOR;\n yCoordinates.push(abs);\n } else {\n yCoordinates.push(delta);\n }\n }\n lastY = y;\n flags.push(flag);\n }\n buf.setUint16(pos, xCoordinates.length - 1);\n pos += 2;\n }\n buf.setUint16(pos, this.instructions.length);\n pos += 2;\n if (this.instructions.length) {\n new Uint8Array(buf.buffer, 0, buf.buffer.byteLength).set(this.instructions, pos);\n pos += this.instructions.length;\n }\n for (const flag of flags) {\n buf.setUint8(pos++, flag);\n }\n for (let i = 0, ii = xCoordinates.length; i < ii; i++) {\n const x = xCoordinates[i];\n const flag = flags[i];\n if (flag & X_SHORT_VECTOR) {\n buf.setUint8(pos++, x);\n } else if (!(flag & X_IS_SAME_OR_POSITIVE_X_SHORT_VECTOR)) {\n buf.setInt16(pos, x);\n pos += 2;\n }\n }\n for (let i = 0, ii = yCoordinates.length; i < ii; i++) {\n const y = yCoordinates[i];\n const flag = flags[i];\n if (flag & Y_SHORT_VECTOR) {\n buf.setUint8(pos++, y);\n } else if (!(flag & Y_IS_SAME_OR_POSITIVE_Y_SHORT_VECTOR)) {\n buf.setInt16(pos, y);\n pos += 2;\n }\n }\n return pos - spos;\n }\n scale(x, factor) {\n for (const contour of this.contours) {\n if (contour.xCoordinates.length === 0) {\n continue;\n }\n for (let i = 0, ii = contour.xCoordinates.length; i < ii; i++) {\n contour.xCoordinates[i] = Math.round(x + (contour.xCoordinates[i] - x) * factor);\n }\n }\n }\n}\nclass CompositeGlyph {\n constructor({\n flags,\n glyphIndex,\n argument1,\n argument2,\n transf,\n instructions\n }) {\n this.flags = flags;\n this.glyphIndex = glyphIndex;\n this.argument1 = argument1;\n this.argument2 = argument2;\n this.transf = transf;\n this.instructions = instructions;\n }\n static parse(pos, glyf) {\n const spos = pos;\n const transf = [];\n let flags = glyf.getUint16(pos);\n const glyphIndex = glyf.getUint16(pos + 2);\n pos += 4;\n let argument1, argument2;\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n if (flags & ARGS_ARE_XY_VALUES) {\n argument1 = glyf.getInt16(pos);\n argument2 = glyf.getInt16(pos + 2);\n } else {\n argument1 = glyf.getUint16(pos);\n argument2 = glyf.getUint16(pos + 2);\n }\n pos += 4;\n flags ^= ARG_1_AND_2_ARE_WORDS;\n } else {\n if (flags & ARGS_ARE_XY_VALUES) {\n argument1 = glyf.getInt8(pos);\n argument2 = glyf.getInt8(pos + 1);\n } else {\n argument1 = glyf.getUint8(pos);\n argument2 = glyf.getUint8(pos + 1);\n }\n pos += 2;\n }\n if (flags & WE_HAVE_A_SCALE) {\n transf.push(glyf.getUint16(pos));\n pos += 2;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n transf.push(glyf.getUint16(pos), glyf.getUint16(pos + 2));\n pos += 4;\n } else if (flags & WE_HAVE_A_TWO_BY_TWO) {\n transf.push(glyf.getUint16(pos), glyf.getUint16(pos + 2), glyf.getUint16(pos + 4), glyf.getUint16(pos + 6));\n pos += 8;\n }\n let instructions = null;\n if (flags & WE_HAVE_INSTRUCTIONS) {\n const instructionLength = glyf.getUint16(pos);\n pos += 2;\n instructions = new Uint8Array(glyf).slice(pos, pos + instructionLength);\n pos += instructionLength;\n }\n return [pos - spos, new CompositeGlyph({\n flags,\n glyphIndex,\n argument1,\n argument2,\n transf,\n instructions\n })];\n }\n getSize() {\n let size = 2 + 2 + this.transf.length * 2;\n if (this.flags & WE_HAVE_INSTRUCTIONS) {\n size += 2 + this.instructions.length;\n }\n size += 2;\n if (this.flags & 2) {\n if (!(this.argument1 >= -128 && this.argument1 <= 127 && this.argument2 >= -128 && this.argument2 <= 127)) {\n size += 2;\n }\n } else if (!(this.argument1 >= 0 && this.argument1 <= 255 && this.argument2 >= 0 && this.argument2 <= 255)) {\n size += 2;\n }\n return size;\n }\n write(pos, buf) {\n const spos = pos;\n if (this.flags & ARGS_ARE_XY_VALUES) {\n if (!(this.argument1 >= -128 && this.argument1 <= 127 && this.argument2 >= -128 && this.argument2 <= 127)) {\n this.flags |= ARG_1_AND_2_ARE_WORDS;\n }\n } else if (!(this.argument1 >= 0 && this.argument1 <= 255 && this.argument2 >= 0 && this.argument2 <= 255)) {\n this.flags |= ARG_1_AND_2_ARE_WORDS;\n }\n buf.setUint16(pos, this.flags);\n buf.setUint16(pos + 2, this.glyphIndex);\n pos += 4;\n if (this.flags & ARG_1_AND_2_ARE_WORDS) {\n if (this.flags & ARGS_ARE_XY_VALUES) {\n buf.setInt16(pos, this.argument1);\n buf.setInt16(pos + 2, this.argument2);\n } else {\n buf.setUint16(pos, this.argument1);\n buf.setUint16(pos + 2, this.argument2);\n }\n pos += 4;\n } else {\n buf.setUint8(pos, this.argument1);\n buf.setUint8(pos + 1, this.argument2);\n pos += 2;\n }\n if (this.flags & WE_HAVE_INSTRUCTIONS) {\n buf.setUint16(pos, this.instructions.length);\n pos += 2;\n if (this.instructions.length) {\n new Uint8Array(buf.buffer, 0, buf.buffer.byteLength).set(this.instructions, pos);\n pos += this.instructions.length;\n }\n }\n return pos - spos;\n }\n scale(x, factor) {}\n}\n\n/***/ }),\n/* 47 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OpenTypeFileBuilder = void 0;\nvar _core_utils = __w_pdfjs_require__(3);\nvar _util = __w_pdfjs_require__(2);\nfunction writeInt16(dest, offset, num) {\n dest[offset] = num >> 8 & 0xff;\n dest[offset + 1] = num & 0xff;\n}\nfunction writeInt32(dest, offset, num) {\n dest[offset] = num >> 24 & 0xff;\n dest[offset + 1] = num >> 16 & 0xff;\n dest[offset + 2] = num >> 8 & 0xff;\n dest[offset + 3] = num & 0xff;\n}\nfunction writeData(dest, offset, data) {\n if (data instanceof Uint8Array) {\n dest.set(data, offset);\n } else if (typeof data === \"string\") {\n for (let i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data.charCodeAt(i) & 0xff;\n }\n } else {\n for (const num of data) {\n dest[offset++] = num & 0xff;\n }\n }\n}\nconst OTF_HEADER_SIZE = 12;\nconst OTF_TABLE_ENTRY_SIZE = 16;\nclass OpenTypeFileBuilder {\n constructor(sfnt) {\n this.sfnt = sfnt;\n this.tables = Object.create(null);\n }\n static getSearchParams(entriesCount, entrySize) {\n let maxPower2 = 1,\n log2 = 0;\n while ((maxPower2 ^ entriesCount) > maxPower2) {\n maxPower2 <<= 1;\n log2++;\n }\n const searchRange = maxPower2 * entrySize;\n return {\n range: searchRange,\n entry: log2,\n rangeShift: entrySize * entriesCount - searchRange\n };\n }\n toArray() {\n let sfnt = this.sfnt;\n const tables = this.tables;\n const tablesNames = Object.keys(tables);\n tablesNames.sort();\n const numTables = tablesNames.length;\n let i, j, jj, table, tableName;\n let offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n const tableOffsets = [offset];\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n const paddedLength = (table.length + 3 & ~3) >>> 0;\n offset += paddedLength;\n tableOffsets.push(offset);\n }\n const file = new Uint8Array(offset);\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n writeData(file, tableOffsets[i], table);\n }\n if (sfnt === \"true\") {\n sfnt = (0, _util.string32)(0x00010000);\n }\n file[0] = sfnt.charCodeAt(0) & 0xff;\n file[1] = sfnt.charCodeAt(1) & 0xff;\n file[2] = sfnt.charCodeAt(2) & 0xff;\n file[3] = sfnt.charCodeAt(3) & 0xff;\n writeInt16(file, 4, numTables);\n const searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n writeInt16(file, 6, searchParams.range);\n writeInt16(file, 8, searchParams.entry);\n writeInt16(file, 10, searchParams.rangeShift);\n offset = OTF_HEADER_SIZE;\n for (i = 0; i < numTables; i++) {\n tableName = tablesNames[i];\n file[offset] = tableName.charCodeAt(0) & 0xff;\n file[offset + 1] = tableName.charCodeAt(1) & 0xff;\n file[offset + 2] = tableName.charCodeAt(2) & 0xff;\n file[offset + 3] = tableName.charCodeAt(3) & 0xff;\n let checksum = 0;\n for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n const quad = (0, _core_utils.readUint32)(file, j);\n checksum = checksum + quad >>> 0;\n }\n writeInt32(file, offset + 4, checksum);\n writeInt32(file, offset + 8, tableOffsets[i]);\n writeInt32(file, offset + 12, tables[tableName].length);\n offset += OTF_TABLE_ENTRY_SIZE;\n }\n return file;\n }\n addTable(tag, data) {\n if (tag in this.tables) {\n throw new Error(\"Table \" + tag + \" already exists\");\n }\n this.tables[tag] = data;\n }\n}\nexports.OpenTypeFileBuilder = OpenTypeFileBuilder;\n\n/***/ }),\n/* 48 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Type1Font = void 0;\nvar _cff_parser = __w_pdfjs_require__(35);\nvar _util = __w_pdfjs_require__(2);\nvar _fonts_utils = __w_pdfjs_require__(38);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _stream = __w_pdfjs_require__(8);\nvar _type1_parser = __w_pdfjs_require__(49);\nfunction findBlock(streamBytes, signature, startIndex) {\n const streamBytesLength = streamBytes.length;\n const signatureLength = signature.length;\n const scanLength = streamBytesLength - signatureLength;\n let i = startIndex,\n found = false;\n while (i < scanLength) {\n let j = 0;\n while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n j++;\n }\n if (j >= signatureLength) {\n i += j;\n while (i < streamBytesLength && (0, _core_utils.isWhiteSpace)(streamBytes[i])) {\n i++;\n }\n found = true;\n break;\n }\n i++;\n }\n return {\n found,\n length: i\n };\n}\nfunction getHeaderBlock(stream, suggestedLength) {\n const EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n const streamStartPos = stream.pos;\n let headerBytes, headerBytesLength, block;\n try {\n headerBytes = stream.getBytes(suggestedLength);\n headerBytesLength = headerBytes.length;\n } catch {}\n if (headerBytesLength === suggestedLength) {\n block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n if (block.found && block.length === suggestedLength) {\n return {\n stream: new _stream.Stream(headerBytes),\n length: suggestedLength\n };\n }\n }\n (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n stream.pos = streamStartPos;\n const SCAN_BLOCK_LENGTH = 2048;\n let actualLength;\n while (true) {\n const scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n if (block.length === 0) {\n break;\n }\n stream.pos += block.length;\n if (block.found) {\n actualLength = stream.pos - streamStartPos;\n break;\n }\n }\n stream.pos = streamStartPos;\n if (actualLength) {\n return {\n stream: new _stream.Stream(stream.getBytes(actualLength)),\n length: actualLength\n };\n }\n (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n return {\n stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n length: suggestedLength\n };\n}\nfunction getEexecBlock(stream, suggestedLength) {\n const eexecBytes = stream.getBytes();\n if (eexecBytes.length === 0) {\n throw new _util.FormatError(\"getEexecBlock - no font program found.\");\n }\n return {\n stream: new _stream.Stream(eexecBytes),\n length: eexecBytes.length\n };\n}\nclass Type1Font {\n constructor(name, file, properties) {\n const PFB_HEADER_SIZE = 6;\n let headerBlockLength = properties.length1;\n let eexecBlockLength = properties.length2;\n let pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n const pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n if (pfbHeaderPresent) {\n file.skip(PFB_HEADER_SIZE);\n headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n const headerBlock = getHeaderBlock(file, headerBlockLength);\n const headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, _fonts_utils.SEAC_ANALYSIS_ENABLED);\n headerBlockParser.extractFontHeader(properties);\n if (pfbHeaderPresent) {\n pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n const eexecBlock = getEexecBlock(file, eexecBlockLength);\n const eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, _fonts_utils.SEAC_ANALYSIS_ENABLED);\n const data = eexecBlockParser.extractFontProgram(properties);\n for (const key in data.properties) {\n properties[key] = data.properties[key];\n }\n const charstrings = data.charstrings;\n const type2Charstrings = this.getType2Charstrings(charstrings);\n const subrs = this.getType2Subrs(data.subrs);\n this.charstrings = charstrings;\n this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n this.seacs = this.getSeacs(data.charstrings);\n }\n get numGlyphs() {\n return this.charstrings.length + 1;\n }\n getCharset() {\n const charset = [\".notdef\"];\n for (const {\n glyphName\n } of this.charstrings) {\n charset.push(glyphName);\n }\n return charset;\n }\n getGlyphMapping(properties) {\n const charstrings = this.charstrings;\n if (properties.composite) {\n const charCodeToGlyphId = Object.create(null);\n for (let glyphId = 0, charstringsLen = charstrings.length; glyphId < charstringsLen; glyphId++) {\n const charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId + 1;\n }\n return charCodeToGlyphId;\n }\n const glyphNames = [\".notdef\"];\n let builtInEncoding, glyphId;\n for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n glyphNames.push(charstrings[glyphId].glyphName);\n }\n const encoding = properties.builtInEncoding;\n if (encoding) {\n builtInEncoding = Object.create(null);\n for (const charCode in encoding) {\n glyphId = glyphNames.indexOf(encoding[charCode]);\n if (glyphId >= 0) {\n builtInEncoding[charCode] = glyphId;\n }\n }\n }\n return (0, _fonts_utils.type1FontGlyphMapping)(properties, builtInEncoding, glyphNames);\n }\n hasGlyphId(id) {\n if (id < 0 || id >= this.numGlyphs) {\n return false;\n }\n if (id === 0) {\n return true;\n }\n const glyph = this.charstrings[id - 1];\n return glyph.charstring.length > 0;\n }\n getSeacs(charstrings) {\n const seacMap = [];\n for (let i = 0, ii = charstrings.length; i < ii; i++) {\n const charstring = charstrings[i];\n if (charstring.seac) {\n seacMap[i + 1] = charstring.seac;\n }\n }\n return seacMap;\n }\n getType2Charstrings(type1Charstrings) {\n const type2Charstrings = [];\n for (const type1Charstring of type1Charstrings) {\n type2Charstrings.push(type1Charstring.charstring);\n }\n return type2Charstrings;\n }\n getType2Subrs(type1Subrs) {\n let bias = 0;\n const count = type1Subrs.length;\n if (count < 1133) {\n bias = 107;\n } else if (count < 33769) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n const type2Subrs = [];\n let i;\n for (i = 0; i < bias; i++) {\n type2Subrs.push([0x0b]);\n }\n for (i = 0; i < count; i++) {\n type2Subrs.push(type1Subrs[i]);\n }\n return type2Subrs;\n }\n wrap(name, glyphs, charstrings, subrs, properties) {\n const cff = new _cff_parser.CFF();\n cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n cff.names = [name];\n const topDict = new _cff_parser.CFFTopDict();\n topDict.setByName(\"version\", 391);\n topDict.setByName(\"Notice\", 392);\n topDict.setByName(\"FullName\", 393);\n topDict.setByName(\"FamilyName\", 394);\n topDict.setByName(\"Weight\", 395);\n topDict.setByName(\"Encoding\", null);\n topDict.setByName(\"FontMatrix\", properties.fontMatrix);\n topDict.setByName(\"FontBBox\", properties.bbox);\n topDict.setByName(\"charset\", null);\n topDict.setByName(\"CharStrings\", null);\n topDict.setByName(\"Private\", null);\n cff.topDict = topDict;\n const strings = new _cff_parser.CFFStrings();\n strings.add(\"Version 0.11\");\n strings.add(\"See original notice\");\n strings.add(name);\n strings.add(name);\n strings.add(\"Medium\");\n cff.strings = strings;\n cff.globalSubrIndex = new _cff_parser.CFFIndex();\n const count = glyphs.length;\n const charsetArray = [\".notdef\"];\n let i, ii;\n for (i = 0; i < count; i++) {\n const glyphName = charstrings[i].glyphName;\n const index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n if (index === -1) {\n strings.add(glyphName);\n }\n charsetArray.push(glyphName);\n }\n cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);\n const charStringsIndex = new _cff_parser.CFFIndex();\n charStringsIndex.add([0x8b, 0x0e]);\n for (i = 0; i < count; i++) {\n charStringsIndex.add(glyphs[i]);\n }\n cff.charStrings = charStringsIndex;\n const privateDict = new _cff_parser.CFFPrivateDict();\n privateDict.setByName(\"Subrs\", null);\n const fields = [\"BlueValues\", \"OtherBlues\", \"FamilyBlues\", \"FamilyOtherBlues\", \"StemSnapH\", \"StemSnapV\", \"BlueShift\", \"BlueFuzz\", \"BlueScale\", \"LanguageGroup\", \"ExpansionFactor\", \"ForceBold\", \"StdHW\", \"StdVW\"];\n for (i = 0, ii = fields.length; i < ii; i++) {\n const field = fields[i];\n if (!(field in properties.privateData)) {\n continue;\n }\n const value = properties.privateData[field];\n if (Array.isArray(value)) {\n for (let j = value.length - 1; j > 0; j--) {\n value[j] -= value[j - 1];\n }\n }\n privateDict.setByName(field, value);\n }\n cff.topDict.privateDict = privateDict;\n const subrIndex = new _cff_parser.CFFIndex();\n for (i = 0, ii = subrs.length; i < ii; i++) {\n subrIndex.add(subrs[i]);\n }\n privateDict.subrsIndex = subrIndex;\n const compiler = new _cff_parser.CFFCompiler(cff);\n return compiler.compile();\n }\n}\nexports.Type1Font = Type1Font;\n\n/***/ }),\n/* 49 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Type1Parser = void 0;\nvar _encodings = __w_pdfjs_require__(37);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _stream = __w_pdfjs_require__(8);\nvar _util = __w_pdfjs_require__(2);\nconst HINTING_ENABLED = false;\nconst COMMAND_MAP = {\n hstem: [1],\n vstem: [3],\n vmoveto: [4],\n rlineto: [5],\n hlineto: [6],\n vlineto: [7],\n rrcurveto: [8],\n callsubr: [10],\n flex: [12, 35],\n drop: [12, 18],\n endchar: [14],\n rmoveto: [21],\n hmoveto: [22],\n vhcurveto: [30],\n hvcurveto: [31]\n};\nclass Type1CharString {\n constructor() {\n this.width = 0;\n this.lsb = 0;\n this.flexing = false;\n this.output = [];\n this.stack = [];\n }\n convert(encoded, subrs, seacAnalysisEnabled) {\n const count = encoded.length;\n let error = false;\n let wx, sbx, subrNumber;\n for (let i = 0; i < count; i++) {\n let value = encoded[i];\n if (value < 32) {\n if (value === 12) {\n value = (value << 8) + encoded[++i];\n }\n switch (value) {\n case 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n case 3:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n case 4:\n if (this.flexing) {\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n const dy = this.stack.pop();\n this.stack.push(0, dy);\n break;\n }\n error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n break;\n case 5:\n error = this.executeCommand(2, COMMAND_MAP.rlineto);\n break;\n case 6:\n error = this.executeCommand(1, COMMAND_MAP.hlineto);\n break;\n case 7:\n error = this.executeCommand(1, COMMAND_MAP.vlineto);\n break;\n case 8:\n error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n break;\n case 9:\n this.stack = [];\n break;\n case 10:\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n subrNumber = this.stack.pop();\n if (!subrs[subrNumber]) {\n error = true;\n break;\n }\n error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n break;\n case 11:\n return error;\n case 13:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n wx = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx);\n error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n break;\n case 14:\n this.output.push(COMMAND_MAP.endchar[0]);\n break;\n case 21:\n if (this.flexing) {\n break;\n }\n error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n break;\n case 22:\n if (this.flexing) {\n this.stack.push(0);\n break;\n }\n error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n break;\n case 30:\n error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n break;\n case 31:\n error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n break;\n case (12 << 8) + 0:\n this.stack = [];\n break;\n case (12 << 8) + 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n case (12 << 8) + 2:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n case (12 << 8) + 6:\n if (seacAnalysisEnabled) {\n const asb = this.stack.at(-5);\n this.seac = this.stack.splice(-4, 4);\n this.seac[0] += this.lsb - asb;\n error = this.executeCommand(0, COMMAND_MAP.endchar);\n } else {\n error = this.executeCommand(4, COMMAND_MAP.endchar);\n }\n break;\n case (12 << 8) + 7:\n if (this.stack.length < 4) {\n error = true;\n break;\n }\n this.stack.pop();\n wx = this.stack.pop();\n const sby = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx, sby);\n error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n break;\n case (12 << 8) + 12:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n const num2 = this.stack.pop();\n const num1 = this.stack.pop();\n this.stack.push(num1 / num2);\n break;\n case (12 << 8) + 16:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n subrNumber = this.stack.pop();\n const numArgs = this.stack.pop();\n if (subrNumber === 0 && numArgs === 3) {\n const flexArgs = this.stack.splice(-17, 17);\n this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n error = this.executeCommand(13, COMMAND_MAP.flex, true);\n this.flexing = false;\n this.stack.push(flexArgs[15], flexArgs[16]);\n } else if (subrNumber === 1 && numArgs === 0) {\n this.flexing = true;\n }\n break;\n case (12 << 8) + 17:\n break;\n case (12 << 8) + 33:\n this.stack = [];\n break;\n default:\n (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n break;\n }\n if (error) {\n break;\n }\n continue;\n } else if (value <= 246) {\n value -= 139;\n } else if (value <= 250) {\n value = (value - 247) * 256 + encoded[++i] + 108;\n } else if (value <= 254) {\n value = -((value - 251) * 256) - encoded[++i] - 108;\n } else {\n value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n }\n this.stack.push(value);\n }\n return error;\n }\n executeCommand(howManyArgs, command, keepStack) {\n const stackLength = this.stack.length;\n if (howManyArgs > stackLength) {\n return true;\n }\n const start = stackLength - howManyArgs;\n for (let i = start; i < stackLength; i++) {\n let value = this.stack[i];\n if (Number.isInteger(value)) {\n this.output.push(28, value >> 8 & 0xff, value & 0xff);\n } else {\n value = 65536 * value | 0;\n this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n }\n this.output.push(...command);\n if (keepStack) {\n this.stack.splice(start, howManyArgs);\n } else {\n this.stack.length = 0;\n }\n return false;\n }\n}\nconst EEXEC_ENCRYPT_KEY = 55665;\nconst CHAR_STRS_ENCRYPT_KEY = 4330;\nfunction isHexDigit(code) {\n return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n}\nfunction decrypt(data, key, discardNumber) {\n if (discardNumber >= data.length) {\n return new Uint8Array(0);\n }\n const c1 = 52845,\n c2 = 22719;\n let r = key | 0,\n i,\n j;\n for (i = 0; i < discardNumber; i++) {\n r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n }\n const count = data.length - discardNumber;\n const decrypted = new Uint8Array(count);\n for (i = discardNumber, j = 0; j < count; i++, j++) {\n const value = data[i];\n decrypted[j] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n return decrypted;\n}\nfunction decryptAscii(data, key, discardNumber) {\n const c1 = 52845,\n c2 = 22719;\n let r = key | 0;\n const count = data.length,\n maybeLength = count >>> 1;\n const decrypted = new Uint8Array(maybeLength);\n let i, j;\n for (i = 0, j = 0; i < count; i++) {\n const digit1 = data[i];\n if (!isHexDigit(digit1)) {\n continue;\n }\n i++;\n let digit2;\n while (i < count && !isHexDigit(digit2 = data[i])) {\n i++;\n }\n if (i < count) {\n const value = parseInt(String.fromCharCode(digit1, digit2), 16);\n decrypted[j++] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n }\n return decrypted.slice(discardNumber, j);\n}\nfunction isSpecial(c) {\n return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;\n}\nclass Type1Parser {\n constructor(stream, encrypted, seacAnalysisEnabled) {\n if (encrypted) {\n const data = stream.getBytes();\n const isBinary = !((isHexDigit(data[0]) || (0, _core_utils.isWhiteSpace)(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));\n stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n }\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n this.stream = stream;\n this.nextChar();\n }\n readNumberArray() {\n this.getToken();\n const array = [];\n while (true) {\n const token = this.getToken();\n if (token === null || token === \"]\" || token === \"}\") {\n break;\n }\n array.push(parseFloat(token || 0));\n }\n return array;\n }\n readNumber() {\n const token = this.getToken();\n return parseFloat(token || 0);\n }\n readInt() {\n const token = this.getToken();\n return parseInt(token || 0, 10) | 0;\n }\n readBoolean() {\n const token = this.getToken();\n return token === \"true\" ? 1 : 0;\n }\n nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n prevChar() {\n this.stream.skip(-2);\n return this.currentChar = this.stream.getByte();\n }\n getToken() {\n let comment = false;\n let ch = this.currentChar;\n while (true) {\n if (ch === -1) {\n return null;\n }\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n break;\n }\n ch = this.nextChar();\n }\n if (isSpecial(ch)) {\n this.nextChar();\n return String.fromCharCode(ch);\n }\n let token = \"\";\n do {\n token += String.fromCharCode(ch);\n ch = this.nextChar();\n } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));\n return token;\n }\n readCharStrings(bytes, lenIV) {\n if (lenIV === -1) {\n return bytes;\n }\n return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n }\n extractFontProgram(properties) {\n const stream = this.stream;\n const subrs = [],\n charstrings = [];\n const privateData = Object.create(null);\n privateData.lenIV = 4;\n const program = {\n subrs: [],\n charstrings: [],\n properties: {\n privateData\n }\n };\n let token, length, data, lenIV;\n while ((token = this.getToken()) !== null) {\n if (token !== \"/\") {\n continue;\n }\n token = this.getToken();\n switch (token) {\n case \"CharStrings\":\n this.getToken();\n this.getToken();\n this.getToken();\n this.getToken();\n while (true) {\n token = this.getToken();\n if (token === null || token === \"end\") {\n break;\n }\n if (token !== \"/\") {\n continue;\n }\n const glyph = this.getToken();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData.lenIV;\n const encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n if (token === \"noaccess\") {\n this.getToken();\n } else if (token === \"/\") {\n this.prevChar();\n }\n charstrings.push({\n glyph,\n encoded\n });\n }\n break;\n case \"Subrs\":\n this.readInt();\n this.getToken();\n while (this.getToken() === \"dup\") {\n const index = this.readInt();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData.lenIV;\n const encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n if (token === \"noaccess\") {\n this.getToken();\n }\n subrs[index] = encoded;\n }\n break;\n case \"BlueValues\":\n case \"OtherBlues\":\n case \"FamilyBlues\":\n case \"FamilyOtherBlues\":\n const blueArray = this.readNumberArray();\n if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n program.properties.privateData[token] = blueArray;\n }\n break;\n case \"StemSnapH\":\n case \"StemSnapV\":\n program.properties.privateData[token] = this.readNumberArray();\n break;\n case \"StdHW\":\n case \"StdVW\":\n program.properties.privateData[token] = this.readNumberArray()[0];\n break;\n case \"BlueShift\":\n case \"lenIV\":\n case \"BlueFuzz\":\n case \"BlueScale\":\n case \"LanguageGroup\":\n program.properties.privateData[token] = this.readNumber();\n break;\n case \"ExpansionFactor\":\n program.properties.privateData[token] = this.readNumber() || 0.06;\n break;\n case \"ForceBold\":\n program.properties.privateData[token] = this.readBoolean();\n break;\n }\n }\n for (const {\n encoded,\n glyph\n } of charstrings) {\n const charString = new Type1CharString();\n const error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n let output = charString.output;\n if (error) {\n output = [14];\n }\n const charStringObject = {\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n };\n if (glyph === \".notdef\") {\n program.charstrings.unshift(charStringObject);\n } else {\n program.charstrings.push(charStringObject);\n }\n if (properties.builtInEncoding) {\n const index = properties.builtInEncoding.indexOf(glyph);\n if (index > -1 && properties.widths[index] === undefined && index >= properties.firstChar && index <= properties.lastChar) {\n properties.widths[index] = charString.width;\n }\n }\n }\n return program;\n }\n extractFontHeader(properties) {\n let token;\n while ((token = this.getToken()) !== null) {\n if (token !== \"/\") {\n continue;\n }\n token = this.getToken();\n switch (token) {\n case \"FontMatrix\":\n const matrix = this.readNumberArray();\n properties.fontMatrix = matrix;\n break;\n case \"Encoding\":\n const encodingArg = this.getToken();\n let encoding;\n if (!/^\\d+$/.test(encodingArg)) {\n encoding = (0, _encodings.getEncoding)(encodingArg);\n } else {\n encoding = [];\n const size = parseInt(encodingArg, 10) | 0;\n this.getToken();\n for (let j = 0; j < size; j++) {\n token = this.getToken();\n while (token !== \"dup\" && token !== \"def\") {\n token = this.getToken();\n if (token === null) {\n return;\n }\n }\n if (token === \"def\") {\n break;\n }\n const index = this.readInt();\n this.getToken();\n const glyph = this.getToken();\n encoding[index] = glyph;\n this.getToken();\n }\n }\n properties.builtInEncoding = encoding;\n break;\n case \"FontBBox\":\n const fontBBox = this.readNumberArray();\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n break;\n }\n }\n }\n}\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 50 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Pattern = void 0;\nexports.clearPatternCaches = clearPatternCaches;\nexports.getTilingPatternIR = getTilingPatternIR;\nvar _util = __w_pdfjs_require__(2);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _colorspace = __w_pdfjs_require__(12);\nvar _core_utils = __w_pdfjs_require__(3);\nconst ShadingType = {\n FUNCTION_BASED: 1,\n AXIAL: 2,\n RADIAL: 3,\n FREE_FORM_MESH: 4,\n LATTICE_FORM_MESH: 5,\n COONS_PATCH_MESH: 6,\n TENSOR_PATCH_MESH: 7\n};\nclass Pattern {\n constructor() {\n (0, _util.unreachable)(\"Cannot initialize Pattern.\");\n }\n static parseShading(shading, xref, res, pdfFunctionFactory, localColorSpaceCache) {\n const dict = shading instanceof _base_stream.BaseStream ? shading.dict : shading;\n const type = dict.get(\"ShadingType\");\n try {\n switch (type) {\n case ShadingType.AXIAL:\n case ShadingType.RADIAL:\n return new RadialAxialShading(dict, xref, res, pdfFunctionFactory, localColorSpaceCache);\n case ShadingType.FREE_FORM_MESH:\n case ShadingType.LATTICE_FORM_MESH:\n case ShadingType.COONS_PATCH_MESH:\n case ShadingType.TENSOR_PATCH_MESH:\n return new MeshShading(shading, xref, res, pdfFunctionFactory, localColorSpaceCache);\n default:\n throw new _util.FormatError(\"Unsupported ShadingType: \" + type);\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(ex);\n return new DummyShading();\n }\n }\n}\nexports.Pattern = Pattern;\nclass BaseShading {\n static SMALL_NUMBER = 1e-6;\n constructor() {\n if (this.constructor === BaseShading) {\n (0, _util.unreachable)(\"Cannot initialize BaseShading.\");\n }\n }\n getIR() {\n (0, _util.unreachable)(\"Abstract method `getIR` called.\");\n }\n}\nclass RadialAxialShading extends BaseShading {\n constructor(dict, xref, resources, pdfFunctionFactory, localColorSpaceCache) {\n super();\n this.coordsArr = dict.getArray(\"Coords\");\n this.shadingType = dict.get(\"ShadingType\");\n const cs = _colorspace.ColorSpace.parse({\n cs: dict.getRaw(\"CS\") || dict.getRaw(\"ColorSpace\"),\n xref,\n resources,\n pdfFunctionFactory,\n localColorSpaceCache\n });\n const bbox = dict.getArray(\"BBox\");\n this.bbox = Array.isArray(bbox) && bbox.length === 4 ? _util.Util.normalizeRect(bbox) : null;\n let t0 = 0.0,\n t1 = 1.0;\n if (dict.has(\"Domain\")) {\n const domainArr = dict.getArray(\"Domain\");\n t0 = domainArr[0];\n t1 = domainArr[1];\n }\n let extendStart = false,\n extendEnd = false;\n if (dict.has(\"Extend\")) {\n const extendArr = dict.getArray(\"Extend\");\n extendStart = extendArr[0];\n extendEnd = extendArr[1];\n }\n if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n const [x1, y1, r1, x2, y2, r2] = this.coordsArr;\n const distance = Math.hypot(x1 - x2, y1 - y2);\n if (r1 <= r2 + distance && r2 <= r1 + distance) {\n (0, _util.warn)(\"Unsupported radial gradient.\");\n }\n }\n this.extendStart = extendStart;\n this.extendEnd = extendEnd;\n const fnObj = dict.getRaw(\"Function\");\n const fn = pdfFunctionFactory.createFromArray(fnObj);\n const NUMBER_OF_SAMPLES = 840;\n const step = (t1 - t0) / NUMBER_OF_SAMPLES;\n const colorStops = this.colorStops = [];\n if (t0 >= t1 || step <= 0) {\n (0, _util.info)(\"Bad shading domain.\");\n return;\n }\n const color = new Float32Array(cs.numComps),\n ratio = new Float32Array(1);\n let rgbColor;\n let iBase = 0;\n ratio[0] = t0;\n fn(ratio, 0, color, 0);\n let rgbBase = cs.getRgb(color, 0);\n const cssColorBase = _util.Util.makeHexColor(rgbBase[0], rgbBase[1], rgbBase[2]);\n colorStops.push([0, cssColorBase]);\n let iPrev = 1;\n ratio[0] = t0 + step;\n fn(ratio, 0, color, 0);\n let rgbPrev = cs.getRgb(color, 0);\n let maxSlopeR = rgbPrev[0] - rgbBase[0] + 1;\n let maxSlopeG = rgbPrev[1] - rgbBase[1] + 1;\n let maxSlopeB = rgbPrev[2] - rgbBase[2] + 1;\n let minSlopeR = rgbPrev[0] - rgbBase[0] - 1;\n let minSlopeG = rgbPrev[1] - rgbBase[1] - 1;\n let minSlopeB = rgbPrev[2] - rgbBase[2] - 1;\n for (let i = 2; i < NUMBER_OF_SAMPLES; i++) {\n ratio[0] = t0 + i * step;\n fn(ratio, 0, color, 0);\n rgbColor = cs.getRgb(color, 0);\n const run = i - iBase;\n maxSlopeR = Math.min(maxSlopeR, (rgbColor[0] - rgbBase[0] + 1) / run);\n maxSlopeG = Math.min(maxSlopeG, (rgbColor[1] - rgbBase[1] + 1) / run);\n maxSlopeB = Math.min(maxSlopeB, (rgbColor[2] - rgbBase[2] + 1) / run);\n minSlopeR = Math.max(minSlopeR, (rgbColor[0] - rgbBase[0] - 1) / run);\n minSlopeG = Math.max(minSlopeG, (rgbColor[1] - rgbBase[1] - 1) / run);\n minSlopeB = Math.max(minSlopeB, (rgbColor[2] - rgbBase[2] - 1) / run);\n const slopesExist = minSlopeR <= maxSlopeR && minSlopeG <= maxSlopeG && minSlopeB <= maxSlopeB;\n if (!slopesExist) {\n const cssColor = _util.Util.makeHexColor(rgbPrev[0], rgbPrev[1], rgbPrev[2]);\n colorStops.push([iPrev / NUMBER_OF_SAMPLES, cssColor]);\n maxSlopeR = rgbColor[0] - rgbPrev[0] + 1;\n maxSlopeG = rgbColor[1] - rgbPrev[1] + 1;\n maxSlopeB = rgbColor[2] - rgbPrev[2] + 1;\n minSlopeR = rgbColor[0] - rgbPrev[0] - 1;\n minSlopeG = rgbColor[1] - rgbPrev[1] - 1;\n minSlopeB = rgbColor[2] - rgbPrev[2] - 1;\n iBase = iPrev;\n rgbBase = rgbPrev;\n }\n iPrev = i;\n rgbPrev = rgbColor;\n }\n const cssColor = _util.Util.makeHexColor(rgbPrev[0], rgbPrev[1], rgbPrev[2]);\n colorStops.push([1, cssColor]);\n let background = \"transparent\";\n if (dict.has(\"Background\")) {\n rgbColor = cs.getRgb(dict.get(\"Background\"), 0);\n background = _util.Util.makeHexColor(rgbColor[0], rgbColor[1], rgbColor[2]);\n }\n if (!extendStart) {\n colorStops.unshift([0, background]);\n colorStops[1][0] += BaseShading.SMALL_NUMBER;\n }\n if (!extendEnd) {\n colorStops.at(-1)[0] -= BaseShading.SMALL_NUMBER;\n colorStops.push([1, background]);\n }\n this.colorStops = colorStops;\n }\n getIR() {\n const coordsArr = this.coordsArr;\n const shadingType = this.shadingType;\n let type, p0, p1, r0, r1;\n if (shadingType === ShadingType.AXIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[2], coordsArr[3]];\n r0 = null;\n r1 = null;\n type = \"axial\";\n } else if (shadingType === ShadingType.RADIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[3], coordsArr[4]];\n r0 = coordsArr[2];\n r1 = coordsArr[5];\n type = \"radial\";\n } else {\n (0, _util.unreachable)(`getPattern type unknown: ${shadingType}`);\n }\n return [\"RadialAxial\", type, this.bbox, this.colorStops, p0, p1, r0, r1];\n }\n}\nclass MeshStreamReader {\n constructor(stream, context) {\n this.stream = stream;\n this.context = context;\n this.buffer = 0;\n this.bufferLength = 0;\n const numComps = context.numComps;\n this.tmpCompsBuf = new Float32Array(numComps);\n const csNumComps = context.colorSpace.numComps;\n this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n }\n get hasData() {\n if (this.stream.end) {\n return this.stream.pos < this.stream.end;\n }\n if (this.bufferLength > 0) {\n return true;\n }\n const nextByte = this.stream.getByte();\n if (nextByte < 0) {\n return false;\n }\n this.buffer = nextByte;\n this.bufferLength = 8;\n return true;\n }\n readBits(n) {\n let buffer = this.buffer;\n let bufferLength = this.bufferLength;\n if (n === 32) {\n if (bufferLength === 0) {\n return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n }\n buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n const nextByte = this.stream.getByte();\n this.buffer = nextByte & (1 << bufferLength) - 1;\n return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;\n }\n if (n === 8 && bufferLength === 0) {\n return this.stream.getByte();\n }\n while (bufferLength < n) {\n buffer = buffer << 8 | this.stream.getByte();\n bufferLength += 8;\n }\n bufferLength -= n;\n this.bufferLength = bufferLength;\n this.buffer = buffer & (1 << bufferLength) - 1;\n return buffer >> bufferLength;\n }\n align() {\n this.buffer = 0;\n this.bufferLength = 0;\n }\n readFlag() {\n return this.readBits(this.context.bitsPerFlag);\n }\n readCoordinate() {\n const bitsPerCoordinate = this.context.bitsPerCoordinate;\n const xi = this.readBits(bitsPerCoordinate);\n const yi = this.readBits(bitsPerCoordinate);\n const decode = this.context.decode;\n const scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n }\n readComponents() {\n const numComps = this.context.numComps;\n const bitsPerComponent = this.context.bitsPerComponent;\n const scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n const decode = this.context.decode;\n const components = this.tmpCompsBuf;\n for (let i = 0, j = 4; i < numComps; i++, j += 2) {\n const ci = this.readBits(bitsPerComponent);\n components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n }\n const color = this.tmpCsCompsBuf;\n if (this.context.colorFn) {\n this.context.colorFn(components, 0, color, 0);\n }\n return this.context.colorSpace.getRgb(color, 0);\n }\n}\nlet bCache = Object.create(null);\nfunction buildB(count) {\n const lut = [];\n for (let i = 0; i <= count; i++) {\n const t = i / count,\n t_ = 1 - t;\n lut.push(new Float32Array([t_ ** 3, 3 * t * t_ ** 2, 3 * t ** 2 * t_, t ** 3]));\n }\n return lut;\n}\nfunction getB(count) {\n return bCache[count] ||= buildB(count);\n}\nfunction clearPatternCaches() {\n bCache = Object.create(null);\n}\nclass MeshShading extends BaseShading {\n static MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n static MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n static TRIANGLE_DENSITY = 20;\n constructor(stream, xref, resources, pdfFunctionFactory, localColorSpaceCache) {\n super();\n if (!(stream instanceof _base_stream.BaseStream)) {\n throw new _util.FormatError(\"Mesh data is not a stream\");\n }\n const dict = stream.dict;\n this.shadingType = dict.get(\"ShadingType\");\n const bbox = dict.getArray(\"BBox\");\n this.bbox = Array.isArray(bbox) && bbox.length === 4 ? _util.Util.normalizeRect(bbox) : null;\n const cs = _colorspace.ColorSpace.parse({\n cs: dict.getRaw(\"CS\") || dict.getRaw(\"ColorSpace\"),\n xref,\n resources,\n pdfFunctionFactory,\n localColorSpaceCache\n });\n this.background = dict.has(\"Background\") ? cs.getRgb(dict.get(\"Background\"), 0) : null;\n const fnObj = dict.getRaw(\"Function\");\n const fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n this.coords = [];\n this.colors = [];\n this.figures = [];\n const decodeContext = {\n bitsPerCoordinate: dict.get(\"BitsPerCoordinate\"),\n bitsPerComponent: dict.get(\"BitsPerComponent\"),\n bitsPerFlag: dict.get(\"BitsPerFlag\"),\n decode: dict.getArray(\"Decode\"),\n colorFn: fn,\n colorSpace: cs,\n numComps: fn ? 1 : cs.numComps\n };\n const reader = new MeshStreamReader(stream, decodeContext);\n let patchMesh = false;\n switch (this.shadingType) {\n case ShadingType.FREE_FORM_MESH:\n this._decodeType4Shading(reader);\n break;\n case ShadingType.LATTICE_FORM_MESH:\n const verticesPerRow = dict.get(\"VerticesPerRow\") | 0;\n if (verticesPerRow < 2) {\n throw new _util.FormatError(\"Invalid VerticesPerRow\");\n }\n this._decodeType5Shading(reader, verticesPerRow);\n break;\n case ShadingType.COONS_PATCH_MESH:\n this._decodeType6Shading(reader);\n patchMesh = true;\n break;\n case ShadingType.TENSOR_PATCH_MESH:\n this._decodeType7Shading(reader);\n patchMesh = true;\n break;\n default:\n (0, _util.unreachable)(\"Unsupported mesh type.\");\n break;\n }\n if (patchMesh) {\n this._updateBounds();\n for (let i = 0, ii = this.figures.length; i < ii; i++) {\n this._buildFigureFromPatch(i);\n }\n }\n this._updateBounds();\n this._packData();\n }\n _decodeType4Shading(reader) {\n const coords = this.coords;\n const colors = this.colors;\n const operators = [];\n const ps = [];\n let verticesLeft = 0;\n while (reader.hasData) {\n const f = reader.readFlag();\n const coord = reader.readCoordinate();\n const color = reader.readComponents();\n if (verticesLeft === 0) {\n if (!(0 <= f && f <= 2)) {\n throw new _util.FormatError(\"Unknown type4 flag\");\n }\n switch (f) {\n case 0:\n verticesLeft = 3;\n break;\n case 1:\n ps.push(ps.at(-2), ps.at(-1));\n verticesLeft = 1;\n break;\n case 2:\n ps.push(ps.at(-3), ps.at(-1));\n verticesLeft = 1;\n break;\n }\n operators.push(f);\n }\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n verticesLeft--;\n reader.align();\n }\n this.figures.push({\n type: \"triangles\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps)\n });\n }\n _decodeType5Shading(reader, verticesPerRow) {\n const coords = this.coords;\n const colors = this.colors;\n const ps = [];\n while (reader.hasData) {\n const coord = reader.readCoordinate();\n const color = reader.readComponents();\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n }\n this.figures.push({\n type: \"lattice\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps),\n verticesPerRow\n });\n }\n _decodeType6Shading(reader) {\n const coords = this.coords;\n const colors = this.colors;\n const ps = new Int32Array(16);\n const cs = new Int32Array(4);\n while (reader.hasData) {\n const f = reader.readFlag();\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type6 flag\");\n }\n const pi = coords.length;\n for (let i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n const ci = colors.length;\n for (let i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n let tmp1, tmp2, tmp3, tmp4;\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n ps[5] = coords.length;\n coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n ps[6] = coords.length;\n coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n ps[9] = coords.length;\n coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n ps[10] = coords.length;\n coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n this.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n _decodeType7Shading(reader) {\n const coords = this.coords;\n const colors = this.colors;\n const ps = new Int32Array(16);\n const cs = new Int32Array(4);\n while (reader.hasData) {\n const f = reader.readFlag();\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type7 flag\");\n }\n const pi = coords.length;\n for (let i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n const ci = colors.length;\n for (let i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n let tmp1, tmp2, tmp3, tmp4;\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[9] = pi + 13;\n ps[10] = pi + 14;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[5] = pi + 12;\n ps[6] = pi + 15;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n this.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n _buildFigureFromPatch(index) {\n const figure = this.figures[index];\n (0, _util.assert)(figure.type === \"patch\", \"Unexpected patch mesh figure\");\n const coords = this.coords,\n colors = this.colors;\n const pi = figure.coords;\n const ci = figure.colors;\n const figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n const figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n const figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n const figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n let splitXBy = Math.ceil((figureMaxX - figureMinX) * MeshShading.TRIANGLE_DENSITY / (this.bounds[2] - this.bounds[0]));\n splitXBy = Math.max(MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n let splitYBy = Math.ceil((figureMaxY - figureMinY) * MeshShading.TRIANGLE_DENSITY / (this.bounds[3] - this.bounds[1]));\n splitYBy = Math.max(MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n const verticesPerRow = splitXBy + 1;\n const figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n const figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n let k = 0;\n const cl = new Uint8Array(3),\n cr = new Uint8Array(3);\n const c0 = colors[ci[0]],\n c1 = colors[ci[1]],\n c2 = colors[ci[2]],\n c3 = colors[ci[3]];\n const bRow = getB(splitYBy),\n bCol = getB(splitXBy);\n for (let row = 0; row <= splitYBy; row++) {\n cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n for (let col = 0; col <= splitXBy; col++, k++) {\n if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n continue;\n }\n let x = 0,\n y = 0;\n let q = 0;\n for (let i = 0; i <= 3; i++) {\n for (let j = 0; j <= 3; j++, q++) {\n const m = bRow[row][i] * bCol[col][j];\n x += coords[pi[q]][0] * m;\n y += coords[pi[q]][1] * m;\n }\n }\n figureCoords[k] = coords.length;\n coords.push([x, y]);\n figureColors[k] = colors.length;\n const newColor = new Uint8Array(3);\n newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n colors.push(newColor);\n }\n }\n figureCoords[0] = pi[0];\n figureColors[0] = ci[0];\n figureCoords[splitXBy] = pi[3];\n figureColors[splitXBy] = ci[1];\n figureCoords[verticesPerRow * splitYBy] = pi[12];\n figureColors[verticesPerRow * splitYBy] = ci[2];\n figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n this.figures[index] = {\n type: \"lattice\",\n coords: figureCoords,\n colors: figureColors,\n verticesPerRow\n };\n }\n _updateBounds() {\n let minX = this.coords[0][0],\n minY = this.coords[0][1],\n maxX = minX,\n maxY = minY;\n for (let i = 1, ii = this.coords.length; i < ii; i++) {\n const x = this.coords[i][0],\n y = this.coords[i][1];\n minX = minX > x ? x : minX;\n minY = minY > y ? y : minY;\n maxX = maxX < x ? x : maxX;\n maxY = maxY < y ? y : maxY;\n }\n this.bounds = [minX, minY, maxX, maxY];\n }\n _packData() {\n let i, ii, j, jj;\n const coords = this.coords;\n const coordsPacked = new Float32Array(coords.length * 2);\n for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n const xy = coords[i];\n coordsPacked[j++] = xy[0];\n coordsPacked[j++] = xy[1];\n }\n this.coords = coordsPacked;\n const colors = this.colors;\n const colorsPacked = new Uint8Array(colors.length * 3);\n for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n const c = colors[i];\n colorsPacked[j++] = c[0];\n colorsPacked[j++] = c[1];\n colorsPacked[j++] = c[2];\n }\n this.colors = colorsPacked;\n const figures = this.figures;\n for (i = 0, ii = figures.length; i < ii; i++) {\n const figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n for (j = 0, jj = ps.length; j < jj; j++) {\n ps[j] *= 2;\n cs[j] *= 3;\n }\n }\n }\n getIR() {\n return [\"Mesh\", this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.bbox, this.background];\n }\n}\nclass DummyShading extends BaseShading {\n getIR() {\n return [\"Dummy\"];\n }\n}\nfunction getTilingPatternIR(operatorList, dict, color) {\n const matrix = dict.getArray(\"Matrix\");\n const bbox = _util.Util.normalizeRect(dict.getArray(\"BBox\"));\n const xstep = dict.get(\"XStep\");\n const ystep = dict.get(\"YStep\");\n const paintType = dict.get(\"PaintType\");\n const tilingType = dict.get(\"TilingType\");\n if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n throw new _util.FormatError(`Invalid getTilingPatternIR /BBox array: [${bbox}].`);\n }\n return [\"TilingPattern\", color, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 51 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getXfaFontDict = getXfaFontDict;\nexports.getXfaFontName = getXfaFontName;\nvar _calibri_factors = __w_pdfjs_require__(52);\nvar _primitives = __w_pdfjs_require__(4);\nvar _helvetica_factors = __w_pdfjs_require__(53);\nvar _liberationsans_widths = __w_pdfjs_require__(54);\nvar _myriadpro_factors = __w_pdfjs_require__(55);\nvar _segoeui_factors = __w_pdfjs_require__(56);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _fonts_utils = __w_pdfjs_require__(38);\nconst getXFAFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"MyriadPro-Regular\"] = t[\"PdfJS-Fallback-Regular\"] = {\n name: \"LiberationSans-Regular\",\n factors: _myriadpro_factors.MyriadProRegularFactors,\n baseWidths: _liberationsans_widths.LiberationSansRegularWidths,\n baseMapping: _liberationsans_widths.LiberationSansRegularMapping,\n metrics: _myriadpro_factors.MyriadProRegularMetrics\n };\n t[\"MyriadPro-Bold\"] = t[\"PdfJS-Fallback-Bold\"] = {\n name: \"LiberationSans-Bold\",\n factors: _myriadpro_factors.MyriadProBoldFactors,\n baseWidths: _liberationsans_widths.LiberationSansBoldWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldMapping,\n metrics: _myriadpro_factors.MyriadProBoldMetrics\n };\n t[\"MyriadPro-It\"] = t[\"MyriadPro-Italic\"] = t[\"PdfJS-Fallback-Italic\"] = {\n name: \"LiberationSans-Italic\",\n factors: _myriadpro_factors.MyriadProItalicFactors,\n baseWidths: _liberationsans_widths.LiberationSansItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansItalicMapping,\n metrics: _myriadpro_factors.MyriadProItalicMetrics\n };\n t[\"MyriadPro-BoldIt\"] = t[\"MyriadPro-BoldItalic\"] = t[\"PdfJS-Fallback-BoldItalic\"] = {\n name: \"LiberationSans-BoldItalic\",\n factors: _myriadpro_factors.MyriadProBoldItalicFactors,\n baseWidths: _liberationsans_widths.LiberationSansBoldItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldItalicMapping,\n metrics: _myriadpro_factors.MyriadProBoldItalicMetrics\n };\n t.ArialMT = t.Arial = t[\"Arial-Regular\"] = {\n name: \"LiberationSans-Regular\",\n baseWidths: _liberationsans_widths.LiberationSansRegularWidths,\n baseMapping: _liberationsans_widths.LiberationSansRegularMapping\n };\n t[\"Arial-BoldMT\"] = t[\"Arial-Bold\"] = {\n name: \"LiberationSans-Bold\",\n baseWidths: _liberationsans_widths.LiberationSansBoldWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldMapping\n };\n t[\"Arial-ItalicMT\"] = t[\"Arial-Italic\"] = {\n name: \"LiberationSans-Italic\",\n baseWidths: _liberationsans_widths.LiberationSansItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansItalicMapping\n };\n t[\"Arial-BoldItalicMT\"] = t[\"Arial-BoldItalic\"] = {\n name: \"LiberationSans-BoldItalic\",\n baseWidths: _liberationsans_widths.LiberationSansBoldItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldItalicMapping\n };\n t[\"Calibri-Regular\"] = {\n name: \"LiberationSans-Regular\",\n factors: _calibri_factors.CalibriRegularFactors,\n baseWidths: _liberationsans_widths.LiberationSansRegularWidths,\n baseMapping: _liberationsans_widths.LiberationSansRegularMapping,\n metrics: _calibri_factors.CalibriRegularMetrics\n };\n t[\"Calibri-Bold\"] = {\n name: \"LiberationSans-Bold\",\n factors: _calibri_factors.CalibriBoldFactors,\n baseWidths: _liberationsans_widths.LiberationSansBoldWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldMapping,\n metrics: _calibri_factors.CalibriBoldMetrics\n };\n t[\"Calibri-Italic\"] = {\n name: \"LiberationSans-Italic\",\n factors: _calibri_factors.CalibriItalicFactors,\n baseWidths: _liberationsans_widths.LiberationSansItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansItalicMapping,\n metrics: _calibri_factors.CalibriItalicMetrics\n };\n t[\"Calibri-BoldItalic\"] = {\n name: \"LiberationSans-BoldItalic\",\n factors: _calibri_factors.CalibriBoldItalicFactors,\n baseWidths: _liberationsans_widths.LiberationSansBoldItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldItalicMapping,\n metrics: _calibri_factors.CalibriBoldItalicMetrics\n };\n t[\"Segoeui-Regular\"] = {\n name: \"LiberationSans-Regular\",\n factors: _segoeui_factors.SegoeuiRegularFactors,\n baseWidths: _liberationsans_widths.LiberationSansRegularWidths,\n baseMapping: _liberationsans_widths.LiberationSansRegularMapping,\n metrics: _segoeui_factors.SegoeuiRegularMetrics\n };\n t[\"Segoeui-Bold\"] = {\n name: \"LiberationSans-Bold\",\n factors: _segoeui_factors.SegoeuiBoldFactors,\n baseWidths: _liberationsans_widths.LiberationSansBoldWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldMapping,\n metrics: _segoeui_factors.SegoeuiBoldMetrics\n };\n t[\"Segoeui-Italic\"] = {\n name: \"LiberationSans-Italic\",\n factors: _segoeui_factors.SegoeuiItalicFactors,\n baseWidths: _liberationsans_widths.LiberationSansItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansItalicMapping,\n metrics: _segoeui_factors.SegoeuiItalicMetrics\n };\n t[\"Segoeui-BoldItalic\"] = {\n name: \"LiberationSans-BoldItalic\",\n factors: _segoeui_factors.SegoeuiBoldItalicFactors,\n baseWidths: _liberationsans_widths.LiberationSansBoldItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldItalicMapping,\n metrics: _segoeui_factors.SegoeuiBoldItalicMetrics\n };\n t[\"Helvetica-Regular\"] = t.Helvetica = {\n name: \"LiberationSans-Regular\",\n factors: _helvetica_factors.HelveticaRegularFactors,\n baseWidths: _liberationsans_widths.LiberationSansRegularWidths,\n baseMapping: _liberationsans_widths.LiberationSansRegularMapping,\n metrics: _helvetica_factors.HelveticaRegularMetrics\n };\n t[\"Helvetica-Bold\"] = {\n name: \"LiberationSans-Bold\",\n factors: _helvetica_factors.HelveticaBoldFactors,\n baseWidths: _liberationsans_widths.LiberationSansBoldWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldMapping,\n metrics: _helvetica_factors.HelveticaBoldMetrics\n };\n t[\"Helvetica-Italic\"] = {\n name: \"LiberationSans-Italic\",\n factors: _helvetica_factors.HelveticaItalicFactors,\n baseWidths: _liberationsans_widths.LiberationSansItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansItalicMapping,\n metrics: _helvetica_factors.HelveticaItalicMetrics\n };\n t[\"Helvetica-BoldItalic\"] = {\n name: \"LiberationSans-BoldItalic\",\n factors: _helvetica_factors.HelveticaBoldItalicFactors,\n baseWidths: _liberationsans_widths.LiberationSansBoldItalicWidths,\n baseMapping: _liberationsans_widths.LiberationSansBoldItalicMapping,\n metrics: _helvetica_factors.HelveticaBoldItalicMetrics\n };\n});\nfunction getXfaFontName(name) {\n const fontName = (0, _fonts_utils.normalizeFontName)(name);\n const fontMap = getXFAFontMap();\n return fontMap[fontName];\n}\nfunction getXfaFontWidths(name) {\n const info = getXfaFontName(name);\n if (!info) {\n return null;\n }\n const {\n baseWidths,\n baseMapping,\n factors\n } = info;\n const rescaledBaseWidths = !factors ? baseWidths : baseWidths.map((w, i) => w * factors[i]);\n let currentCode = -2;\n let currentArray;\n const newWidths = [];\n for (const [unicode, glyphIndex] of baseMapping.map((charUnicode, index) => [charUnicode, index]).sort(([unicode1], [unicode2]) => unicode1 - unicode2)) {\n if (unicode === -1) {\n continue;\n }\n if (unicode === currentCode + 1) {\n currentArray.push(rescaledBaseWidths[glyphIndex]);\n currentCode += 1;\n } else {\n currentCode = unicode;\n currentArray = [rescaledBaseWidths[glyphIndex]];\n newWidths.push(unicode, currentArray);\n }\n }\n return newWidths;\n}\nfunction getXfaFontDict(name) {\n const widths = getXfaFontWidths(name);\n const dict = new _primitives.Dict(null);\n dict.set(\"BaseFont\", _primitives.Name.get(name));\n dict.set(\"Type\", _primitives.Name.get(\"Font\"));\n dict.set(\"Subtype\", _primitives.Name.get(\"CIDFontType2\"));\n dict.set(\"Encoding\", _primitives.Name.get(\"Identity-H\"));\n dict.set(\"CIDToGIDMap\", _primitives.Name.get(\"Identity\"));\n dict.set(\"W\", widths);\n dict.set(\"FirstChar\", widths[0]);\n dict.set(\"LastChar\", widths.at(-2) + widths.at(-1).length - 1);\n const descriptor = new _primitives.Dict(null);\n dict.set(\"FontDescriptor\", descriptor);\n const systemInfo = new _primitives.Dict(null);\n systemInfo.set(\"Ordering\", \"Identity\");\n systemInfo.set(\"Registry\", \"Adobe\");\n systemInfo.set(\"Supplement\", 0);\n dict.set(\"CIDSystemInfo\", systemInfo);\n return dict;\n}\n\n/***/ }),\n/* 52 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CalibriRegularMetrics = exports.CalibriRegularFactors = exports.CalibriItalicMetrics = exports.CalibriItalicFactors = exports.CalibriBoldMetrics = exports.CalibriBoldItalicMetrics = exports.CalibriBoldItalicFactors = exports.CalibriBoldFactors = void 0;\nconst CalibriBoldFactors = [1.3877, 1, 1, 1, 0.97801, 0.92482, 0.89552, 0.91133, 0.81988, 0.97566, 0.98152, 0.93548, 0.93548, 1.2798, 0.85284, 0.92794, 1, 0.96134, 1.54657, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.82845, 0.82845, 0.85284, 0.85284, 0.85284, 0.75859, 0.92138, 0.83908, 0.7762, 0.73293, 0.87289, 0.73133, 0.7514, 0.81921, 0.87356, 0.95958, 0.59526, 0.75727, 0.69225, 1.04924, 0.9121, 0.86943, 0.79795, 0.88198, 0.77958, 0.70864, 0.81055, 0.90399, 0.88653, 0.96017, 0.82577, 0.77892, 0.78257, 0.97507, 1.54657, 0.97507, 0.85284, 0.89552, 0.90176, 0.88762, 0.8785, 0.75241, 0.8785, 0.90518, 0.95015, 0.77618, 0.8785, 0.88401, 0.91916, 0.86304, 0.88401, 0.91488, 0.8785, 0.8801, 0.8785, 0.8785, 0.91343, 0.7173, 1.04106, 0.8785, 0.85075, 0.95794, 0.82616, 0.85162, 0.79492, 0.88331, 1.69808, 0.88331, 0.85284, 0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.7801, 0.89552, 1.24487, 1.13254, 1.12401, 0.96839, 0.85284, 0.68787, 0.70645, 0.85592, 0.90747, 1.01466, 1.0088, 0.90323, 1, 1.07463, 1, 0.91056, 0.75806, 1.19118, 0.96839, 0.78864, 0.82845, 0.84133, 0.75859, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.77539, 0.73293, 0.73133, 0.73133, 0.73133, 0.73133, 0.95958, 0.95958, 0.95958, 0.95958, 0.88506, 0.9121, 0.86943, 0.86943, 0.86943, 0.86943, 0.86943, 0.85284, 0.87508, 0.90399, 0.90399, 0.90399, 0.90399, 0.77892, 0.79795, 0.90807, 0.88762, 0.88762, 0.88762, 0.88762, 0.88762, 0.88762, 0.8715, 0.75241, 0.90518, 0.90518, 0.90518, 0.90518, 0.88401, 0.88401, 0.88401, 0.88401, 0.8785, 0.8785, 0.8801, 0.8801, 0.8801, 0.8801, 0.8801, 0.90747, 0.89049, 0.8785, 0.8785, 0.8785, 0.8785, 0.85162, 0.8785, 0.85162, 0.83908, 0.88762, 0.83908, 0.88762, 0.83908, 0.88762, 0.73293, 0.75241, 0.73293, 0.75241, 0.73293, 0.75241, 0.73293, 0.75241, 0.87289, 0.83016, 0.88506, 0.93125, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133, 0.90518, 0.81921, 0.77618, 0.81921, 0.77618, 0.81921, 0.77618, 1, 1, 0.87356, 0.8785, 0.91075, 0.89608, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.76229, 0.90167, 0.59526, 0.91916, 1, 1, 0.86304, 0.69225, 0.88401, 1, 1, 0.70424, 0.79468, 0.91926, 0.88175, 0.70823, 0.94903, 0.9121, 0.8785, 1, 1, 0.9121, 0.8785, 0.87802, 0.88656, 0.8785, 0.86943, 0.8801, 0.86943, 0.8801, 0.86943, 0.8801, 0.87402, 0.89291, 0.77958, 0.91343, 1, 1, 0.77958, 0.91343, 0.70864, 0.7173, 0.70864, 0.7173, 0.70864, 0.7173, 0.70864, 0.7173, 1, 1, 0.81055, 0.75841, 0.81055, 1.06452, 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.96017, 0.95794, 0.77892, 0.85162, 0.77892, 0.78257, 0.79492, 0.78257, 0.79492, 0.78257, 0.79492, 0.9297, 0.56892, 0.83908, 0.88762, 0.77539, 0.8715, 0.87508, 0.89049, 1, 1, 0.81055, 1.04106, 1.20528, 1.20528, 1, 1.15543, 0.70674, 0.98387, 0.94721, 1.33431, 1.45894, 0.95161, 1.06303, 0.83908, 0.80352, 0.57184, 0.6965, 0.56289, 0.82001, 0.56029, 0.81235, 1.02988, 0.83908, 0.7762, 0.68156, 0.80367, 0.73133, 0.78257, 0.87356, 0.86943, 0.95958, 0.75727, 0.89019, 1.04924, 0.9121, 0.7648, 0.86943, 0.87356, 0.79795, 0.78275, 0.81055, 0.77892, 0.9762, 0.82577, 0.99819, 0.84896, 0.95958, 0.77892, 0.96108, 1.01407, 0.89049, 1.02988, 0.94211, 0.96108, 0.8936, 0.84021, 0.87842, 0.96399, 0.79109, 0.89049, 1.00813, 1.02988, 0.86077, 0.87445, 0.92099, 0.84723, 0.86513, 0.8801, 0.75638, 0.85714, 0.78216, 0.79586, 0.87965, 0.94211, 0.97747, 0.78287, 0.97926, 0.84971, 1.02988, 0.94211, 0.8801, 0.94211, 0.84971, 0.73133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90264, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90518, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90548, 1, 1, 1, 1, 1, 1, 0.96017, 0.95794, 0.96017, 0.95794, 0.96017, 0.95794, 0.77892, 0.85162, 1, 1, 0.89552, 0.90527, 1, 0.90363, 0.92794, 0.92794, 0.92794, 0.92794, 0.87012, 0.87012, 0.87012, 0.89552, 0.89552, 1.42259, 0.71143, 1.06152, 1, 1, 1.03372, 1.03372, 0.97171, 1.4956, 2.2807, 0.93835, 0.83406, 0.91133, 0.84107, 0.91133, 1, 1, 1, 0.72021, 1, 1.23108, 0.83489, 0.88525, 0.88525, 0.81499, 0.90527, 1.81055, 0.90527, 1.81055, 1.31006, 1.53711, 0.94434, 1.08696, 1, 0.95018, 0.77192, 0.85284, 0.90747, 1.17534, 0.69825, 0.9716, 1.37077, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941, 0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1, 1, 1, 1.08004, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90727, 0.90727, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.CalibriBoldFactors = CalibriBoldFactors;\nconst CalibriBoldMetrics = {\n lineHeight: 1.2207,\n lineGap: 0.2207\n};\nexports.CalibriBoldMetrics = CalibriBoldMetrics;\nconst CalibriBoldItalicFactors = [1.3877, 1, 1, 1, 0.97801, 0.92482, 0.89552, 0.91133, 0.81988, 0.97566, 0.98152, 0.93548, 0.93548, 1.2798, 0.85284, 0.92794, 1, 0.96134, 1.56239, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.82845, 0.82845, 0.85284, 0.85284, 0.85284, 0.75859, 0.92138, 0.83908, 0.7762, 0.71805, 0.87289, 0.73133, 0.7514, 0.81921, 0.87356, 0.95958, 0.59526, 0.75727, 0.69225, 1.04924, 0.90872, 0.85938, 0.79795, 0.87068, 0.77958, 0.69766, 0.81055, 0.90399, 0.88653, 0.96068, 0.82577, 0.77892, 0.78257, 0.97507, 1.529, 0.97507, 0.85284, 0.89552, 0.90176, 0.94908, 0.86411, 0.74012, 0.86411, 0.88323, 0.95015, 0.86411, 0.86331, 0.88401, 0.91916, 0.86304, 0.88401, 0.9039, 0.86331, 0.86331, 0.86411, 0.86411, 0.90464, 0.70852, 1.04106, 0.86331, 0.84372, 0.95794, 0.82616, 0.84548, 0.79492, 0.88331, 1.69808, 0.88331, 0.85284, 0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.7801, 0.89552, 1.24487, 1.13254, 1.19129, 0.96839, 0.85284, 0.68787, 0.70645, 0.85592, 0.90747, 1.01466, 1.0088, 0.90323, 1, 1.07463, 1, 0.91056, 0.75806, 1.19118, 0.96839, 0.78864, 0.82845, 0.84133, 0.75859, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.77539, 0.71805, 0.73133, 0.73133, 0.73133, 0.73133, 0.95958, 0.95958, 0.95958, 0.95958, 0.88506, 0.90872, 0.85938, 0.85938, 0.85938, 0.85938, 0.85938, 0.85284, 0.87068, 0.90399, 0.90399, 0.90399, 0.90399, 0.77892, 0.79795, 0.90807, 0.94908, 0.94908, 0.94908, 0.94908, 0.94908, 0.94908, 0.85887, 0.74012, 0.88323, 0.88323, 0.88323, 0.88323, 0.88401, 0.88401, 0.88401, 0.88401, 0.8785, 0.86331, 0.86331, 0.86331, 0.86331, 0.86331, 0.86331, 0.90747, 0.89049, 0.86331, 0.86331, 0.86331, 0.86331, 0.84548, 0.86411, 0.84548, 0.83908, 0.94908, 0.83908, 0.94908, 0.83908, 0.94908, 0.71805, 0.74012, 0.71805, 0.74012, 0.71805, 0.74012, 0.71805, 0.74012, 0.87289, 0.79538, 0.88506, 0.92726, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133, 0.88323, 0.81921, 0.86411, 0.81921, 0.86411, 0.81921, 0.86411, 1, 1, 0.87356, 0.86331, 0.91075, 0.8777, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.76467, 0.90167, 0.59526, 0.91916, 1, 1, 0.86304, 0.69225, 0.88401, 1, 1, 0.70424, 0.77312, 0.91926, 0.88175, 0.70823, 0.94903, 0.90872, 0.86331, 1, 1, 0.90872, 0.86331, 0.86906, 0.88116, 0.86331, 0.85938, 0.86331, 0.85938, 0.86331, 0.85938, 0.86331, 0.87402, 0.86549, 0.77958, 0.90464, 1, 1, 0.77958, 0.90464, 0.69766, 0.70852, 0.69766, 0.70852, 0.69766, 0.70852, 0.69766, 0.70852, 1, 1, 0.81055, 0.75841, 0.81055, 1.06452, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.96068, 0.95794, 0.77892, 0.84548, 0.77892, 0.78257, 0.79492, 0.78257, 0.79492, 0.78257, 0.79492, 0.9297, 0.56892, 0.83908, 0.94908, 0.77539, 0.85887, 0.87068, 0.89049, 1, 1, 0.81055, 1.04106, 1.20528, 1.20528, 1, 1.15543, 0.70088, 0.98387, 0.94721, 1.33431, 1.45894, 0.95161, 1.48387, 0.83908, 0.80352, 0.57118, 0.6965, 0.56347, 0.79179, 0.55853, 0.80346, 1.02988, 0.83908, 0.7762, 0.67174, 0.86036, 0.73133, 0.78257, 0.87356, 0.86441, 0.95958, 0.75727, 0.89019, 1.04924, 0.90872, 0.74889, 0.85938, 0.87891, 0.79795, 0.7957, 0.81055, 0.77892, 0.97447, 0.82577, 0.97466, 0.87179, 0.95958, 0.77892, 0.94252, 0.95612, 0.8753, 1.02988, 0.92733, 0.94252, 0.87411, 0.84021, 0.8728, 0.95612, 0.74081, 0.8753, 1.02189, 1.02988, 0.84814, 0.87445, 0.91822, 0.84723, 0.85668, 0.86331, 0.81344, 0.87581, 0.76422, 0.82046, 0.96057, 0.92733, 0.99375, 0.78022, 0.95452, 0.86015, 1.02988, 0.92733, 0.86331, 0.92733, 0.86015, 0.73133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90631, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.88323, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.85174, 1, 1, 1, 1, 1, 1, 0.96068, 0.95794, 0.96068, 0.95794, 0.96068, 0.95794, 0.77892, 0.84548, 1, 1, 0.89552, 0.90527, 1, 0.90363, 0.92794, 0.92794, 0.92794, 0.89807, 0.87012, 0.87012, 0.87012, 0.89552, 0.89552, 1.42259, 0.71094, 1.06152, 1, 1, 1.03372, 1.03372, 0.97171, 1.4956, 2.2807, 0.92972, 0.83406, 0.91133, 0.83326, 0.91133, 1, 1, 1, 0.72021, 1, 1.23108, 0.83489, 0.88525, 0.88525, 0.81499, 0.90616, 1.81055, 0.90527, 1.81055, 1.3107, 1.53711, 0.94434, 1.08696, 1, 0.95018, 0.77192, 0.85284, 0.90747, 1.17534, 0.69825, 0.9716, 1.37077, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941, 0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1, 1, 1, 1.08004, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90727, 0.90727, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.CalibriBoldItalicFactors = CalibriBoldItalicFactors;\nconst CalibriBoldItalicMetrics = {\n lineHeight: 1.2207,\n lineGap: 0.2207\n};\nexports.CalibriBoldItalicMetrics = CalibriBoldItalicMetrics;\nconst CalibriItalicFactors = [1.3877, 1, 1, 1, 1.17223, 1.1293, 0.89552, 0.91133, 0.80395, 1.02269, 1.15601, 0.91056, 0.91056, 1.2798, 0.85284, 0.89807, 1, 0.90861, 1.39543, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.96309, 0.96309, 0.85284, 0.85284, 0.85284, 0.83319, 0.88071, 0.8675, 0.81552, 0.72346, 0.85193, 0.73206, 0.7522, 0.81105, 0.86275, 0.90685, 0.6377, 0.77892, 0.75593, 1.02638, 0.89249, 0.84118, 0.77452, 0.85374, 0.75186, 0.67789, 0.79776, 0.88844, 0.85066, 0.94309, 0.77818, 0.7306, 0.76659, 1.10369, 1.38313, 1.10369, 1.06139, 0.89552, 0.8739, 0.9245, 0.9245, 0.83203, 0.9245, 0.85865, 1.09842, 0.9245, 0.9245, 1.03297, 1.07692, 0.90918, 1.03297, 0.94959, 0.9245, 0.92274, 0.9245, 0.9245, 1.02933, 0.77832, 1.20562, 0.9245, 0.8916, 0.98986, 0.86621, 0.89453, 0.79004, 0.94152, 1.77256, 0.94152, 0.85284, 0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.91729, 0.89552, 1.17889, 1.13254, 1.16359, 0.92098, 0.85284, 0.68787, 0.71353, 0.84737, 0.90747, 1.0088, 1.0044, 0.87683, 1, 1.09091, 1, 0.92229, 0.739, 1.15642, 0.92098, 0.76288, 0.80504, 0.80972, 0.75859, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.76318, 0.72346, 0.73206, 0.73206, 0.73206, 0.73206, 0.90685, 0.90685, 0.90685, 0.90685, 0.86477, 0.89249, 0.84118, 0.84118, 0.84118, 0.84118, 0.84118, 0.85284, 0.84557, 0.88844, 0.88844, 0.88844, 0.88844, 0.7306, 0.77452, 0.86331, 0.9245, 0.9245, 0.9245, 0.9245, 0.9245, 0.9245, 0.84843, 0.83203, 0.85865, 0.85865, 0.85865, 0.85865, 0.82601, 0.82601, 0.82601, 0.82601, 0.94469, 0.9245, 0.92274, 0.92274, 0.92274, 0.92274, 0.92274, 0.90747, 0.86651, 0.9245, 0.9245, 0.9245, 0.9245, 0.89453, 0.9245, 0.89453, 0.8675, 0.9245, 0.8675, 0.9245, 0.8675, 0.9245, 0.72346, 0.83203, 0.72346, 0.83203, 0.72346, 0.83203, 0.72346, 0.83203, 0.85193, 0.8875, 0.86477, 0.99034, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865, 0.81105, 0.9245, 0.81105, 0.9245, 0.81105, 0.9245, 1, 1, 0.86275, 0.9245, 0.90872, 0.93591, 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 1.03297, 0.90685, 0.82601, 0.77896, 1.05611, 0.6377, 1.07692, 1, 1, 0.90918, 0.75593, 1.03297, 1, 1, 0.76032, 0.9375, 0.98156, 0.93407, 0.77261, 1.11429, 0.89249, 0.9245, 1, 1, 0.89249, 0.9245, 0.92534, 0.86698, 0.9245, 0.84118, 0.92274, 0.84118, 0.92274, 0.84118, 0.92274, 0.8667, 0.86291, 0.75186, 1.02933, 1, 1, 0.75186, 1.02933, 0.67789, 0.77832, 0.67789, 0.77832, 0.67789, 0.77832, 0.67789, 0.77832, 1, 1, 0.79776, 0.97655, 0.79776, 1.23023, 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.94309, 0.98986, 0.7306, 0.89453, 0.7306, 0.76659, 0.79004, 0.76659, 0.79004, 0.76659, 0.79004, 1.09231, 0.54873, 0.8675, 0.9245, 0.76318, 0.84843, 0.84557, 0.86651, 1, 1, 0.79776, 1.20562, 1.18622, 1.18622, 1, 1.1437, 0.67009, 0.96334, 0.93695, 1.35191, 1.40909, 0.95161, 1.48387, 0.8675, 0.90861, 0.6192, 0.7363, 0.64824, 0.82411, 0.56321, 0.85696, 1.23516, 0.8675, 0.81552, 0.7286, 0.84134, 0.73206, 0.76659, 0.86275, 0.84369, 0.90685, 0.77892, 0.85871, 1.02638, 0.89249, 0.75828, 0.84118, 0.85984, 0.77452, 0.76466, 0.79776, 0.7306, 0.90782, 0.77818, 0.903, 0.87291, 0.90685, 0.7306, 0.99058, 1.03667, 0.94635, 1.23516, 0.9849, 0.99058, 0.92393, 0.8916, 0.942, 1.03667, 0.75026, 0.94635, 1.0297, 1.23516, 0.90918, 0.94048, 0.98217, 0.89746, 0.84153, 0.92274, 0.82507, 0.88832, 0.84438, 0.88178, 1.03525, 0.9849, 1.00225, 0.78086, 0.97248, 0.89404, 1.23516, 0.9849, 0.92274, 0.9849, 0.89404, 0.73206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89693, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.85865, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90933, 1, 1, 1, 1, 1, 1, 0.94309, 0.98986, 0.94309, 0.98986, 0.94309, 0.98986, 0.7306, 0.89453, 1, 1, 0.89552, 0.90527, 1, 0.90186, 1.12308, 1.12308, 1.12308, 1.12308, 1.2566, 1.2566, 1.2566, 0.89552, 0.89552, 1.42259, 0.68994, 1.03809, 1, 1, 1.0176, 1.0176, 1.11523, 1.4956, 2.01462, 0.97858, 0.82616, 0.91133, 0.83437, 0.91133, 1, 1, 1, 0.70508, 1, 1.23108, 0.79801, 0.84426, 0.84426, 0.774, 0.90572, 1.81055, 0.90749, 1.81055, 1.28809, 1.55469, 0.94434, 1.07806, 1, 0.97094, 0.7589, 0.85284, 0.90747, 1.19658, 0.69825, 0.97622, 1.33512, 0.90747, 0.90747, 0.85284, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941, 0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1, 1, 1, 1.0336, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05859, 1.05859, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.CalibriItalicFactors = CalibriItalicFactors;\nconst CalibriItalicMetrics = {\n lineHeight: 1.2207,\n lineGap: 0.2207\n};\nexports.CalibriItalicMetrics = CalibriItalicMetrics;\nconst CalibriRegularFactors = [1.3877, 1, 1, 1, 1.17223, 1.1293, 0.89552, 0.91133, 0.80395, 1.02269, 1.15601, 0.91056, 0.91056, 1.2798, 0.85284, 0.89807, 1, 0.90861, 1.39016, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.96309, 0.96309, 0.85284, 0.85284, 0.85284, 0.83319, 0.88071, 0.8675, 0.81552, 0.73834, 0.85193, 0.73206, 0.7522, 0.81105, 0.86275, 0.90685, 0.6377, 0.77892, 0.75593, 1.02638, 0.89385, 0.85122, 0.77452, 0.86503, 0.75186, 0.68887, 0.79776, 0.88844, 0.85066, 0.94258, 0.77818, 0.7306, 0.76659, 1.10369, 1.39016, 1.10369, 1.06139, 0.89552, 0.8739, 0.86128, 0.94469, 0.8457, 0.94469, 0.89464, 1.09842, 0.84636, 0.94469, 1.03297, 1.07692, 0.90918, 1.03297, 0.95897, 0.94469, 0.9482, 0.94469, 0.94469, 1.04692, 0.78223, 1.20562, 0.94469, 0.90332, 0.98986, 0.86621, 0.90527, 0.79004, 0.94152, 1.77256, 0.94152, 0.85284, 0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.91729, 0.89552, 1.17889, 1.13254, 1.08707, 0.92098, 0.85284, 0.68787, 0.71353, 0.84737, 0.90747, 1.0088, 1.0044, 0.87683, 1, 1.09091, 1, 0.92229, 0.739, 1.15642, 0.92098, 0.76288, 0.80504, 0.80972, 0.75859, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.76318, 0.73834, 0.73206, 0.73206, 0.73206, 0.73206, 0.90685, 0.90685, 0.90685, 0.90685, 0.86477, 0.89385, 0.85122, 0.85122, 0.85122, 0.85122, 0.85122, 0.85284, 0.85311, 0.88844, 0.88844, 0.88844, 0.88844, 0.7306, 0.77452, 0.86331, 0.86128, 0.86128, 0.86128, 0.86128, 0.86128, 0.86128, 0.8693, 0.8457, 0.89464, 0.89464, 0.89464, 0.89464, 0.82601, 0.82601, 0.82601, 0.82601, 0.94469, 0.94469, 0.9482, 0.9482, 0.9482, 0.9482, 0.9482, 0.90747, 0.86651, 0.94469, 0.94469, 0.94469, 0.94469, 0.90527, 0.94469, 0.90527, 0.8675, 0.86128, 0.8675, 0.86128, 0.8675, 0.86128, 0.73834, 0.8457, 0.73834, 0.8457, 0.73834, 0.8457, 0.73834, 0.8457, 0.85193, 0.92454, 0.86477, 0.9921, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206, 0.89464, 0.81105, 0.84636, 0.81105, 0.84636, 0.81105, 0.84636, 1, 1, 0.86275, 0.94469, 0.90872, 0.95786, 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 1.03297, 0.90685, 0.82601, 0.77741, 1.05611, 0.6377, 1.07692, 1, 1, 0.90918, 0.75593, 1.03297, 1, 1, 0.76032, 0.90452, 0.98156, 1.11842, 0.77261, 1.11429, 0.89385, 0.94469, 1, 1, 0.89385, 0.94469, 0.95877, 0.86901, 0.94469, 0.85122, 0.9482, 0.85122, 0.9482, 0.85122, 0.9482, 0.8667, 0.90016, 0.75186, 1.04692, 1, 1, 0.75186, 1.04692, 0.68887, 0.78223, 0.68887, 0.78223, 0.68887, 0.78223, 0.68887, 0.78223, 1, 1, 0.79776, 0.92188, 0.79776, 1.23023, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.94258, 0.98986, 0.7306, 0.90527, 0.7306, 0.76659, 0.79004, 0.76659, 0.79004, 0.76659, 0.79004, 1.09231, 0.54873, 0.8675, 0.86128, 0.76318, 0.8693, 0.85311, 0.86651, 1, 1, 0.79776, 1.20562, 1.18622, 1.18622, 1, 1.1437, 0.67742, 0.96334, 0.93695, 1.35191, 1.40909, 0.95161, 1.48387, 0.86686, 0.90861, 0.62267, 0.74359, 0.65649, 0.85498, 0.56963, 0.88254, 1.23516, 0.8675, 0.81552, 0.75443, 0.84503, 0.73206, 0.76659, 0.86275, 0.85122, 0.90685, 0.77892, 0.85746, 1.02638, 0.89385, 0.75657, 0.85122, 0.86275, 0.77452, 0.74171, 0.79776, 0.7306, 0.95165, 0.77818, 0.89772, 0.88831, 0.90685, 0.7306, 0.98142, 1.02191, 0.96576, 1.23516, 0.99018, 0.98142, 0.9236, 0.89258, 0.94035, 1.02191, 0.78848, 0.96576, 0.9561, 1.23516, 0.90918, 0.92578, 0.95424, 0.89746, 0.83969, 0.9482, 0.80113, 0.89442, 0.85208, 0.86155, 0.98022, 0.99018, 1.00452, 0.81209, 0.99247, 0.89181, 1.23516, 0.99018, 0.9482, 0.99018, 0.89181, 0.73206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.88844, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89464, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.96766, 1, 1, 1, 1, 1, 1, 0.94258, 0.98986, 0.94258, 0.98986, 0.94258, 0.98986, 0.7306, 0.90527, 1, 1, 0.89552, 0.90527, 1, 0.90186, 1.12308, 1.12308, 1.12308, 1.12308, 1.2566, 1.2566, 1.2566, 0.89552, 0.89552, 1.42259, 0.69043, 1.03809, 1, 1, 1.0176, 1.0176, 1.11523, 1.4956, 2.01462, 0.99331, 0.82616, 0.91133, 0.84286, 0.91133, 1, 1, 1, 0.70508, 1, 1.23108, 0.79801, 0.84426, 0.84426, 0.774, 0.90527, 1.81055, 0.90527, 1.81055, 1.28809, 1.55469, 0.94434, 1.07806, 1, 0.97094, 0.7589, 0.85284, 0.90747, 1.19658, 0.69825, 0.97622, 1.33512, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941, 0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1, 1, 1, 1.0336, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05859, 1.05859, 1, 1, 1, 1.07185, 0.99413, 0.96334, 1.08065, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.CalibriRegularFactors = CalibriRegularFactors;\nconst CalibriRegularMetrics = {\n lineHeight: 1.2207,\n lineGap: 0.2207\n};\nexports.CalibriRegularMetrics = CalibriRegularMetrics;\n\n/***/ }),\n/* 53 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.HelveticaRegularMetrics = exports.HelveticaRegularFactors = exports.HelveticaItalicMetrics = exports.HelveticaItalicFactors = exports.HelveticaBoldMetrics = exports.HelveticaBoldItalicMetrics = exports.HelveticaBoldItalicFactors = exports.HelveticaBoldFactors = void 0;\nconst HelveticaBoldFactors = [0.76116, 1, 1, 1.0006, 0.99998, 0.99974, 0.99973, 0.99973, 0.99982, 0.99977, 1.00087, 0.99998, 0.99998, 0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1, 1.00003, 1.00003, 1.00003, 1.00026, 0.9999, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 0.99973, 0.99977, 1.00026, 0.99999, 0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001, 1.00026, 0.99998, 1.0006, 0.99998, 1.00003, 0.99973, 0.99998, 0.99973, 1.00026, 0.99973, 1.00026, 0.99973, 0.99998, 1.00026, 1.00026, 1.0006, 1.0006, 0.99973, 1.0006, 0.99982, 1.00026, 1.00026, 1.00026, 1.00026, 0.99959, 0.99973, 0.99998, 1.00026, 0.99973, 1.00022, 0.99973, 0.99973, 1, 0.99959, 1.00077, 0.99959, 1.00003, 0.99998, 0.99973, 0.99973, 0.99973, 0.99973, 1.00077, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973, 1.00003, 1.00025, 0.60299, 1.00024, 1.06409, 1, 1, 0.99998, 1, 0.99973, 1.0006, 0.99998, 1, 0.99936, 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 1, 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, 0.99977, 0.99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00001, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99982, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.06409, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 0.99973, 1.00026, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 1.03374, 0.99977, 1.00026, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.00042, 0.99973, 0.99973, 1.0006, 0.99977, 0.99973, 0.99973, 1.00026, 1.0006, 1.00026, 1.0006, 1.00026, 1.03828, 1.00026, 0.99999, 1.00026, 1.0006, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.9993, 0.9998, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1, 1.00016, 0.99977, 0.99959, 0.99977, 0.99959, 0.99977, 0.99959, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00026, 0.99998, 1.00026, 0.8121, 1.00026, 0.99998, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 1.00016, 1.00022, 1.00001, 0.99973, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 1.0006, 0.99973, 0.99977, 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 0.99973, 1.00026, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 1.00034, 0.99977, 1, 0.99997, 1.00026, 1.00078, 1.00036, 0.99973, 1.00013, 1.0006, 0.99977, 0.99977, 0.99988, 0.85148, 1.00001, 1.00026, 0.99977, 1.00022, 1.0006, 0.99977, 1.00001, 0.99999, 0.99977, 1.00069, 1.00022, 0.99977, 1.00001, 0.99984, 1.00026, 1.00001, 1.00024, 1.00001, 0.9999, 1, 1.0006, 1.00001, 1.00041, 0.99962, 1.00026, 1.0006, 0.99995, 1.00041, 0.99942, 0.99973, 0.99927, 1.00082, 0.99902, 1.00026, 1.00087, 1.0006, 1.00069, 0.99973, 0.99867, 0.99973, 0.9993, 1.00026, 1.00049, 1.00056, 1, 0.99988, 0.99935, 0.99995, 0.99954, 1.00055, 0.99945, 1.00032, 1.0006, 0.99995, 1.00026, 0.99995, 1.00032, 1.00001, 1.00008, 0.99971, 1.00019, 0.9994, 1.00001, 1.0006, 1.00044, 0.99973, 1.00023, 1.00047, 1, 0.99942, 0.99561, 0.99989, 1.00035, 0.99977, 1.00035, 0.99977, 1.00019, 0.99944, 1.00001, 1.00021, 0.99926, 1.00035, 1.00035, 0.99942, 1.00048, 0.99999, 0.99977, 1.00022, 1.00035, 1.00001, 0.99977, 1.00026, 0.99989, 1.00057, 1.00001, 0.99936, 1.00052, 1.00012, 0.99996, 1.00043, 1, 1.00035, 0.9994, 0.99976, 1.00035, 0.99973, 1.00052, 1.00041, 1.00119, 1.00037, 0.99973, 1.00002, 0.99986, 1.00041, 1.00041, 0.99902, 0.9996, 1.00034, 0.99999, 1.00026, 0.99999, 1.00026, 0.99973, 1.00052, 0.99973, 1, 0.99973, 1.00041, 1.00075, 0.9994, 1.0003, 0.99999, 1, 1.00041, 0.99955, 1, 0.99915, 0.99973, 0.99973, 1.00026, 1.00119, 0.99955, 0.99973, 1.0006, 0.99911, 1.0006, 1.00026, 0.99972, 1.00026, 0.99902, 1.00041, 0.99973, 0.99999, 1, 1, 1.00038, 1.0005, 1.00016, 1.00022, 1.00016, 1.00022, 1.00016, 1.00022, 1.00001, 0.99973, 1, 1, 0.99973, 1, 1, 0.99955, 1.0006, 1.0006, 1.0006, 1.0006, 1, 1, 1, 0.99973, 0.99973, 0.99972, 1, 1, 1.00106, 0.99999, 0.99998, 0.99998, 0.99999, 0.99998, 1.66475, 1, 0.99973, 0.99973, 1.00023, 0.99973, 0.99971, 1.00047, 1.00023, 1, 0.99991, 0.99984, 1.00002, 1.00002, 1.00002, 1.00002, 1, 1, 1, 1, 1, 1, 1, 0.99972, 1, 1.20985, 1.39713, 1.00003, 1.00031, 1.00015, 1, 0.99561, 1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999, 1.00003, 0.99999, 0.99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.99972, 0.99999, 0.99999, 0.99999, 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1, 0.99998, 0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.HelveticaBoldFactors = HelveticaBoldFactors;\nconst HelveticaBoldMetrics = {\n lineHeight: 1.2,\n lineGap: 0.2\n};\nexports.HelveticaBoldMetrics = HelveticaBoldMetrics;\nconst HelveticaBoldItalicFactors = [0.76116, 1, 1, 1.0006, 0.99998, 0.99974, 0.99973, 0.99973, 0.99982, 0.99977, 1.00087, 0.99998, 0.99998, 0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1, 1.00003, 1.00003, 1.00003, 1.00026, 0.9999, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 0.99973, 0.99977, 1.00026, 0.99999, 0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001, 1.00026, 0.99998, 1.0006, 0.99998, 1.00003, 0.99973, 0.99998, 0.99973, 1.00026, 0.99973, 1.00026, 0.99973, 0.99998, 1.00026, 1.00026, 1.0006, 1.0006, 0.99973, 1.0006, 0.99982, 1.00026, 1.00026, 1.00026, 1.00026, 0.99959, 0.99973, 0.99998, 1.00026, 0.99973, 1.00022, 0.99973, 0.99973, 1, 0.99959, 1.00077, 0.99959, 1.00003, 0.99998, 0.99973, 0.99973, 0.99973, 0.99973, 1.00077, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973, 1.00003, 1.00025, 0.60299, 1.00024, 1.06409, 1, 1, 0.99998, 1, 0.99973, 1.0006, 0.99998, 1, 0.99936, 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 1, 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, 0.99977, 0.99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00001, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99982, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.06409, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 0.99973, 1.00026, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 1.0044, 0.99977, 1.00026, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99971, 0.99973, 0.99973, 1.0006, 0.99977, 0.99973, 0.99973, 1.00026, 1.0006, 1.00026, 1.0006, 1.00026, 1.01011, 1.00026, 0.99999, 1.00026, 1.0006, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.9993, 0.9998, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1, 1.00016, 0.99977, 0.99959, 0.99977, 0.99959, 0.99977, 0.99959, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00026, 0.99998, 1.00026, 0.8121, 1.00026, 0.99998, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 1.00016, 1.00022, 1.00001, 0.99973, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 1.0006, 0.99973, 0.99977, 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 0.99973, 1.00026, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99977, 1, 1, 1.00026, 0.99969, 0.99972, 0.99981, 0.9998, 1.0006, 0.99977, 0.99977, 1.00022, 0.91155, 1.00001, 1.00026, 0.99977, 1.00022, 1.0006, 0.99977, 1.00001, 0.99999, 0.99977, 0.99966, 1.00022, 1.00032, 1.00001, 0.99944, 1.00026, 1.00001, 0.99968, 1.00001, 1.00047, 1, 1.0006, 1.00001, 0.99981, 1.00101, 1.00026, 1.0006, 0.99948, 0.99981, 1.00064, 0.99973, 0.99942, 1.00101, 1.00061, 1.00026, 1.00069, 1.0006, 1.00014, 0.99973, 1.01322, 0.99973, 1.00065, 1.00026, 1.00012, 0.99923, 1, 1.00064, 1.00076, 0.99948, 1.00055, 1.00063, 1.00007, 0.99943, 1.0006, 0.99948, 1.00026, 0.99948, 0.99943, 1.00001, 1.00001, 1.00029, 1.00038, 1.00035, 1.00001, 1.0006, 1.0006, 0.99973, 0.99978, 1.00001, 1.00057, 0.99989, 0.99967, 0.99964, 0.99967, 0.99977, 0.99999, 0.99977, 1.00038, 0.99977, 1.00001, 0.99973, 1.00066, 0.99967, 0.99967, 1.00041, 0.99998, 0.99999, 0.99977, 1.00022, 0.99967, 1.00001, 0.99977, 1.00026, 0.99964, 1.00031, 1.00001, 0.99999, 0.99999, 1, 1.00023, 1, 1, 0.99999, 1.00035, 1.00001, 0.99999, 0.99973, 0.99977, 0.99999, 1.00058, 0.99973, 0.99973, 0.99955, 0.9995, 1.00026, 1.00026, 1.00032, 0.99989, 1.00034, 0.99999, 1.00026, 1.00026, 1.00026, 0.99973, 0.45998, 0.99973, 1.00026, 0.99973, 1.00001, 0.99999, 0.99982, 0.99994, 0.99996, 1, 1.00042, 1.00044, 1.00029, 1.00023, 0.99973, 0.99973, 1.00026, 0.99949, 1.00002, 0.99973, 1.0006, 1.0006, 1.0006, 0.99975, 1.00026, 1.00026, 1.00032, 0.98685, 0.99973, 1.00026, 1, 1, 0.99966, 1.00044, 1.00016, 1.00022, 1.00016, 1.00022, 1.00016, 1.00022, 1.00001, 0.99973, 1, 1, 0.99973, 1, 1, 0.99955, 1.0006, 1.0006, 1.0006, 1.0006, 1, 1, 1, 0.99973, 0.99973, 0.99972, 1, 1, 1.00106, 0.99999, 0.99998, 0.99998, 0.99999, 0.99998, 1.66475, 1, 0.99973, 0.99973, 1, 0.99973, 0.99971, 0.99978, 1, 1, 0.99991, 0.99984, 1.00002, 1.00002, 1.00002, 1.00002, 1.00098, 1, 1, 1, 1.00049, 1, 1, 0.99972, 1, 1.20985, 1.39713, 1.00003, 1.00031, 1.00015, 1, 0.99561, 1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999, 1.00003, 0.99999, 0.99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.99972, 0.99999, 0.99999, 0.99999, 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1, 0.99998, 0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.HelveticaBoldItalicFactors = HelveticaBoldItalicFactors;\nconst HelveticaBoldItalicMetrics = {\n lineHeight: 1.35,\n lineGap: 0.2\n};\nexports.HelveticaBoldItalicMetrics = HelveticaBoldItalicMetrics;\nconst HelveticaItalicFactors = [0.76116, 1, 1, 1.0006, 1.0006, 1.00006, 0.99973, 0.99973, 0.99982, 1.00001, 1.00043, 0.99998, 0.99998, 0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1, 1.00003, 1.00003, 1.00003, 0.99973, 0.99987, 1.00001, 1.00001, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 1, 1.00001, 0.99973, 0.99999, 0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001, 1.00026, 1.0006, 1.0006, 1.0006, 0.99949, 0.99973, 0.99998, 0.99973, 0.99973, 1, 0.99973, 0.99973, 1.0006, 0.99973, 0.99973, 0.99924, 0.99924, 1, 0.99924, 0.99999, 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1, 1.0006, 0.99973, 1, 0.99977, 1, 1, 1, 1.00005, 1.0009, 1.00005, 1.00003, 0.99998, 0.99973, 0.99973, 0.99973, 0.99973, 1.0009, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973, 1.00003, 1.00025, 0.60299, 1.00024, 1.06409, 1, 1, 0.99998, 1, 0.9998, 1.0006, 0.99998, 1, 0.99936, 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1, 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, 0.99977, 0.99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00001, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99982, 1, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 1.06409, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 1, 0.99973, 1, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 0.99977, 1, 0.99977, 1, 0.99977, 1, 0.99977, 1, 0.99977, 1.0288, 0.99977, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99924, 1.0006, 1.0006, 0.99946, 1.00034, 1, 0.99924, 1.00001, 1, 1, 0.99973, 0.99924, 0.99973, 0.99924, 0.99973, 1.06311, 0.99973, 1.00024, 0.99973, 0.99924, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 1.00041, 0.9998, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1, 1.00016, 0.99977, 0.99998, 0.99977, 0.99998, 0.99977, 0.99998, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00026, 1.0006, 1.00026, 0.89547, 1.00026, 1.0006, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 1.00016, 0.99977, 1.00001, 1, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 0.99924, 0.99973, 1.00001, 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 1, 1.00026, 1.0006, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 1.00001, 1, 1.00054, 0.99977, 1.00084, 1.00007, 0.99973, 1.00013, 0.99924, 1.00001, 1.00001, 0.99945, 0.91221, 1.00001, 1.00026, 0.99977, 1.00022, 1.0006, 1.00001, 1.00001, 0.99999, 0.99977, 0.99933, 1.00022, 1.00054, 1.00001, 1.00065, 1.00026, 1.00001, 1.0001, 1.00001, 1.00052, 1, 1.0006, 1.00001, 0.99945, 0.99897, 0.99968, 0.99924, 1.00036, 0.99945, 0.99949, 1, 1.0006, 0.99897, 0.99918, 0.99968, 0.99911, 0.99924, 1, 0.99962, 1.01487, 1, 1.0005, 0.99973, 1.00012, 1.00043, 1, 0.99995, 0.99994, 1.00036, 0.99947, 1.00019, 1.00063, 1.00025, 0.99924, 1.00036, 0.99973, 1.00036, 1.00025, 1.00001, 1.00001, 1.00027, 1.0001, 1.00068, 1.00001, 1.0006, 1.0006, 1, 1.00008, 0.99957, 0.99972, 0.9994, 0.99954, 0.99975, 1.00051, 1.00001, 1.00019, 1.00001, 1.0001, 0.99986, 1.00001, 1.00001, 1.00038, 0.99954, 0.99954, 0.9994, 1.00066, 0.99999, 0.99977, 1.00022, 1.00054, 1.00001, 0.99977, 1.00026, 0.99975, 1.0001, 1.00001, 0.99993, 0.9995, 0.99955, 1.00016, 0.99978, 0.99974, 1.00019, 1.00022, 0.99955, 1.00053, 0.99973, 1.00089, 1.00005, 0.99967, 1.00048, 0.99973, 1.00002, 1.00034, 0.99973, 0.99973, 0.99964, 1.00006, 1.00066, 0.99947, 0.99973, 0.98894, 0.99973, 1, 0.44898, 1, 0.99946, 1, 1.00039, 1.00082, 0.99991, 0.99991, 0.99985, 1.00022, 1.00023, 1.00061, 1.00006, 0.99966, 0.99973, 0.99973, 0.99973, 1.00019, 1.0008, 1, 0.99924, 0.99924, 0.99924, 0.99983, 1.00044, 0.99973, 0.99964, 0.98332, 1, 0.99973, 1, 1, 0.99962, 0.99895, 1.00016, 0.99977, 1.00016, 0.99977, 1.00016, 0.99977, 1.00001, 1, 1, 1, 0.99973, 1, 1, 0.99955, 0.99924, 0.99924, 0.99924, 0.99924, 0.99998, 0.99998, 0.99998, 0.99973, 0.99973, 0.99972, 1, 1, 1.00267, 0.99999, 0.99998, 0.99998, 1, 0.99998, 1.66475, 1, 0.99973, 0.99973, 1.00023, 0.99973, 1.00423, 0.99925, 0.99999, 1, 0.99991, 0.99984, 1.00002, 1.00002, 1.00002, 1.00002, 1.00049, 1, 1.00245, 1, 1, 1, 1, 0.96329, 1, 1.20985, 1.39713, 1.00003, 0.8254, 1.00015, 1, 1.00035, 1.00027, 1.00031, 1.00031, 1.00003, 1.00031, 1.00031, 0.99999, 1.00003, 0.99999, 0.99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.95317, 0.99999, 0.99999, 0.99999, 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1, 0.99998, 0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.HelveticaItalicFactors = HelveticaItalicFactors;\nconst HelveticaItalicMetrics = {\n lineHeight: 1.35,\n lineGap: 0.2\n};\nexports.HelveticaItalicMetrics = HelveticaItalicMetrics;\nconst HelveticaRegularFactors = [0.76116, 1, 1, 1.0006, 1.0006, 1.00006, 0.99973, 0.99973, 0.99982, 1.00001, 1.00043, 0.99998, 0.99998, 0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1, 1.00003, 1.00003, 1.00003, 0.99973, 0.99987, 1.00001, 1.00001, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 1, 1.00001, 0.99973, 0.99999, 0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001, 1.00026, 1.0006, 1.0006, 1.0006, 0.99949, 0.99973, 0.99998, 0.99973, 0.99973, 1, 0.99973, 0.99973, 1.0006, 0.99973, 0.99973, 0.99924, 0.99924, 1, 0.99924, 0.99999, 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1, 1.0006, 0.99973, 1, 0.99977, 1, 1, 1, 1.00005, 1.0009, 1.00005, 1.00003, 0.99998, 0.99973, 0.99973, 0.99973, 0.99973, 1.0009, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973, 1.00003, 1.00025, 0.60299, 1.00024, 1.06409, 1, 1, 0.99998, 1, 0.9998, 1.0006, 0.99998, 1, 0.99936, 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1, 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, 0.99977, 0.99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00001, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99982, 1, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 1.06409, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 1, 0.99973, 1, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 0.99977, 1, 0.99977, 1, 0.99977, 1, 0.99977, 1, 0.99977, 1.04596, 0.99977, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99924, 1.0006, 1.0006, 1.00019, 1.00034, 1, 0.99924, 1.00001, 1, 1, 0.99973, 0.99924, 0.99973, 0.99924, 0.99973, 1.02572, 0.99973, 1.00005, 0.99973, 0.99924, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99999, 0.9998, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1, 1.00016, 0.99977, 0.99998, 0.99977, 0.99998, 0.99977, 0.99998, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00026, 1.0006, 1.00026, 0.84533, 1.00026, 1.0006, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 1.00016, 0.99977, 1.00001, 1, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 0.99924, 0.99973, 1.00001, 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 1, 1.00026, 1.0006, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99928, 1, 0.99977, 1.00013, 1.00055, 0.99947, 0.99945, 0.99941, 0.99924, 1.00001, 1.00001, 1.0004, 0.91621, 1.00001, 1.00026, 0.99977, 1.00022, 1.0006, 1.00001, 1.00005, 0.99999, 0.99977, 1.00015, 1.00022, 0.99977, 1.00001, 0.99973, 1.00026, 1.00001, 1.00019, 1.00001, 0.99946, 1, 1.0006, 1.00001, 0.99978, 1.00045, 0.99973, 0.99924, 1.00023, 0.99978, 0.99966, 1, 1.00065, 1.00045, 1.00019, 0.99973, 0.99973, 0.99924, 1, 1, 0.96499, 1, 1.00055, 0.99973, 1.00008, 1.00027, 1, 0.9997, 0.99995, 1.00023, 0.99933, 1.00019, 1.00015, 1.00031, 0.99924, 1.00023, 0.99973, 1.00023, 1.00031, 1.00001, 0.99928, 1.00029, 1.00092, 1.00035, 1.00001, 1.0006, 1.0006, 1, 0.99988, 0.99975, 1, 1.00082, 0.99561, 0.9996, 1.00035, 1.00001, 0.99962, 1.00001, 1.00092, 0.99964, 1.00001, 0.99963, 0.99999, 1.00035, 1.00035, 1.00082, 0.99962, 0.99999, 0.99977, 1.00022, 1.00035, 1.00001, 0.99977, 1.00026, 0.9996, 0.99967, 1.00001, 1.00034, 1.00074, 1.00054, 1.00053, 1.00063, 0.99971, 0.99962, 1.00035, 0.99975, 0.99977, 0.99973, 1.00043, 0.99953, 1.0007, 0.99915, 0.99973, 1.00008, 0.99892, 1.00073, 1.00073, 1.00114, 0.99915, 1.00073, 0.99955, 0.99973, 1.00092, 0.99973, 1, 0.99998, 1, 1.0003, 1, 1.00043, 1.00001, 0.99969, 1.0003, 1, 1.00035, 1.00001, 0.9995, 1, 1.00092, 0.99973, 0.99973, 0.99973, 1.0007, 0.9995, 1, 0.99924, 1.0006, 0.99924, 0.99972, 1.00062, 0.99973, 1.00114, 1.00073, 1, 0.99955, 1, 1, 1.00047, 0.99968, 1.00016, 0.99977, 1.00016, 0.99977, 1.00016, 0.99977, 1.00001, 1, 1, 1, 0.99973, 1, 1, 0.99955, 0.99924, 0.99924, 0.99924, 0.99924, 0.99998, 0.99998, 0.99998, 0.99973, 0.99973, 0.99972, 1, 1, 1.00267, 0.99999, 0.99998, 0.99998, 1, 0.99998, 1.66475, 1, 0.99973, 0.99973, 1.00023, 0.99973, 0.99971, 0.99925, 1.00023, 1, 0.99991, 0.99984, 1.00002, 1.00002, 1.00002, 1.00002, 1, 1, 1, 1, 1, 1, 1, 0.96329, 1, 1.20985, 1.39713, 1.00003, 0.8254, 1.00015, 1, 1.00035, 1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999, 1.00003, 0.99999, 0.99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.95317, 0.99999, 0.99999, 0.99999, 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.HelveticaRegularFactors = HelveticaRegularFactors;\nconst HelveticaRegularMetrics = {\n lineHeight: 1.2,\n lineGap: 0.2\n};\nexports.HelveticaRegularMetrics = HelveticaRegularMetrics;\n\n/***/ }),\n/* 54 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.LiberationSansRegularWidths = exports.LiberationSansRegularMapping = exports.LiberationSansItalicWidths = exports.LiberationSansItalicMapping = exports.LiberationSansBoldWidths = exports.LiberationSansBoldMapping = exports.LiberationSansBoldItalicWidths = exports.LiberationSansBoldItalicMapping = void 0;\nconst LiberationSansBoldWidths = [365, 0, 333, 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1000, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556, 611, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 719, 722, 611, 667, 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 611, 778, 611, 778, 611, 778, 611, 722, 611, 722, 611, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 785, 556, 556, 278, 722, 556, 556, 611, 278, 611, 278, 611, 385, 611, 479, 611, 278, 722, 611, 722, 611, 722, 611, 708, 723, 611, 778, 611, 778, 611, 778, 611, 1000, 944, 722, 389, 722, 389, 722, 389, 667, 556, 667, 556, 667, 556, 667, 556, 611, 333, 611, 479, 611, 333, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 944, 778, 667, 556, 667, 611, 500, 611, 500, 611, 500, 278, 556, 722, 556, 1000, 889, 778, 611, 667, 556, 611, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 465, 722, 333, 853, 906, 474, 825, 927, 838, 278, 722, 722, 601, 719, 667, 611, 722, 778, 278, 722, 667, 833, 722, 644, 778, 722, 667, 600, 611, 667, 821, 667, 809, 802, 278, 667, 615, 451, 611, 278, 582, 615, 610, 556, 606, 475, 460, 611, 541, 278, 558, 556, 612, 556, 445, 611, 766, 619, 520, 684, 446, 582, 715, 576, 753, 845, 278, 582, 611, 582, 845, 667, 669, 885, 567, 711, 667, 278, 276, 556, 1094, 1062, 875, 610, 722, 622, 719, 722, 719, 722, 567, 712, 667, 904, 626, 719, 719, 610, 702, 833, 722, 778, 719, 667, 722, 611, 622, 854, 667, 730, 703, 1005, 1019, 870, 979, 719, 711, 1031, 719, 556, 618, 615, 417, 635, 556, 709, 497, 615, 615, 500, 635, 740, 604, 611, 604, 611, 556, 490, 556, 875, 556, 615, 581, 833, 844, 729, 854, 615, 552, 854, 583, 556, 556, 611, 417, 552, 556, 278, 281, 278, 969, 906, 611, 500, 615, 556, 604, 778, 611, 487, 447, 944, 778, 944, 778, 944, 778, 667, 556, 333, 333, 556, 1000, 1000, 552, 278, 278, 278, 278, 500, 500, 500, 556, 556, 350, 1000, 1000, 240, 479, 333, 333, 604, 333, 167, 396, 556, 556, 1094, 556, 885, 489, 1115, 1000, 768, 600, 834, 834, 834, 834, 1000, 500, 1000, 500, 1000, 500, 500, 494, 612, 823, 713, 584, 549, 713, 979, 722, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 729, 604, 604, 354, 354, 1000, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917, 750, 750, 531, 656, 594, 510, 500, 750, 750, 611, 611, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222, 333, 333, 333, 333, 333, 333, 333, 333];\nexports.LiberationSansBoldWidths = LiberationSansBoldWidths;\nconst LiberationSansBoldMapping = [-1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539, 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211, 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249, 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541, 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747, 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516, 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616, 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702, 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];\nexports.LiberationSansBoldMapping = LiberationSansBoldMapping;\nconst LiberationSansBoldItalicWidths = [365, 0, 333, 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1000, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556, 611, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 740, 722, 611, 667, 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 611, 778, 611, 778, 611, 778, 611, 722, 611, 722, 611, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 782, 556, 556, 278, 722, 556, 556, 611, 278, 611, 278, 611, 396, 611, 479, 611, 278, 722, 611, 722, 611, 722, 611, 708, 723, 611, 778, 611, 778, 611, 778, 611, 1000, 944, 722, 389, 722, 389, 722, 389, 667, 556, 667, 556, 667, 556, 667, 556, 611, 333, 611, 479, 611, 333, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 944, 778, 667, 556, 667, 611, 500, 611, 500, 611, 500, 278, 556, 722, 556, 1000, 889, 778, 611, 667, 556, 611, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 722, 333, 854, 906, 473, 844, 930, 847, 278, 722, 722, 610, 671, 667, 611, 722, 778, 278, 722, 667, 833, 722, 657, 778, 718, 667, 590, 611, 667, 822, 667, 829, 781, 278, 667, 620, 479, 611, 278, 591, 620, 621, 556, 610, 479, 492, 611, 558, 278, 566, 556, 603, 556, 450, 611, 712, 605, 532, 664, 409, 591, 704, 578, 773, 834, 278, 591, 611, 591, 834, 667, 667, 886, 614, 719, 667, 278, 278, 556, 1094, 1042, 854, 622, 719, 677, 719, 722, 708, 722, 614, 722, 667, 927, 643, 719, 719, 615, 687, 833, 722, 778, 719, 667, 722, 611, 677, 781, 667, 729, 708, 979, 989, 854, 1000, 708, 719, 1042, 729, 556, 619, 604, 534, 618, 556, 736, 510, 611, 611, 507, 622, 740, 604, 611, 611, 611, 556, 889, 556, 885, 556, 646, 583, 889, 935, 707, 854, 594, 552, 865, 589, 556, 556, 611, 469, 563, 556, 278, 278, 278, 969, 906, 611, 507, 619, 556, 611, 778, 611, 575, 467, 944, 778, 944, 778, 944, 778, 667, 556, 333, 333, 556, 1000, 1000, 552, 278, 278, 278, 278, 500, 500, 500, 556, 556, 350, 1000, 1000, 240, 479, 333, 333, 604, 333, 167, 396, 556, 556, 1104, 556, 885, 516, 1146, 1000, 768, 600, 834, 834, 834, 834, 999, 500, 1000, 500, 1000, 500, 500, 494, 612, 823, 713, 584, 549, 713, 979, 722, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 729, 604, 604, 354, 354, 1000, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917, 750, 750, 531, 656, 594, 510, 500, 750, 750, 611, 611, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222, 333, 333, 333, 333, 333, 333, 333, 333];\nexports.LiberationSansBoldItalicWidths = LiberationSansBoldItalicWidths;\nconst LiberationSansBoldItalicMapping = [-1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539, 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211, 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249, 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541, 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747, 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516, 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616, 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702, 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];\nexports.LiberationSansBoldItalicMapping = LiberationSansBoldItalicMapping;\nconst LiberationSansItalicWidths = [365, 0, 333, 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, 1000, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, 500, 556, 500, 667, 556, 667, 556, 667, 556, 722, 500, 722, 500, 722, 500, 722, 500, 722, 625, 722, 556, 667, 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 556, 778, 556, 778, 556, 778, 556, 722, 556, 722, 556, 278, 278, 278, 278, 278, 278, 278, 222, 278, 278, 733, 444, 500, 222, 667, 500, 500, 556, 222, 556, 222, 556, 281, 556, 400, 556, 222, 722, 556, 722, 556, 722, 556, 615, 723, 556, 778, 556, 778, 556, 778, 556, 1000, 944, 722, 333, 722, 333, 722, 333, 667, 500, 667, 500, 667, 500, 667, 500, 611, 278, 611, 354, 611, 278, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 944, 722, 667, 500, 667, 611, 500, 611, 500, 611, 500, 222, 556, 667, 556, 1000, 889, 778, 611, 667, 500, 611, 278, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 667, 278, 789, 846, 389, 794, 865, 775, 222, 667, 667, 570, 671, 667, 611, 722, 778, 278, 667, 667, 833, 722, 648, 778, 725, 667, 600, 611, 667, 837, 667, 831, 761, 278, 667, 570, 439, 555, 222, 550, 570, 571, 500, 556, 439, 463, 555, 542, 222, 500, 492, 548, 500, 447, 556, 670, 573, 486, 603, 374, 550, 652, 546, 728, 779, 222, 550, 556, 550, 779, 667, 667, 843, 544, 708, 667, 278, 278, 500, 1066, 982, 844, 589, 715, 639, 724, 667, 651, 667, 544, 704, 667, 917, 614, 715, 715, 589, 686, 833, 722, 778, 725, 667, 722, 611, 639, 795, 667, 727, 673, 920, 923, 805, 886, 651, 694, 1022, 682, 556, 562, 522, 493, 553, 556, 688, 465, 556, 556, 472, 564, 686, 550, 556, 556, 556, 500, 833, 500, 835, 500, 572, 518, 830, 851, 621, 736, 526, 492, 752, 534, 556, 556, 556, 378, 496, 500, 222, 222, 222, 910, 828, 556, 472, 565, 500, 556, 778, 556, 492, 339, 944, 722, 944, 722, 944, 722, 667, 500, 333, 333, 556, 1000, 1000, 552, 222, 222, 222, 222, 333, 333, 333, 556, 556, 350, 1000, 1000, 188, 354, 333, 333, 500, 333, 167, 365, 556, 556, 1094, 556, 885, 323, 1083, 1000, 768, 600, 834, 834, 834, 834, 1000, 500, 998, 500, 1000, 500, 500, 494, 612, 823, 713, 584, 549, 713, 979, 719, 274, 549, 549, 584, 549, 549, 604, 584, 604, 604, 708, 625, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 729, 604, 604, 354, 354, 1000, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917, 750, 750, 531, 656, 594, 510, 500, 750, 750, 500, 500, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222, 294, 294, 324, 324, 316, 328, 398, 285];\nexports.LiberationSansItalicWidths = LiberationSansItalicWidths;\nconst LiberationSansItalicMapping = [-1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539, 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211, 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249, 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541, 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747, 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516, 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616, 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702, 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];\nexports.LiberationSansItalicMapping = LiberationSansItalicMapping;\nconst LiberationSansRegularWidths = [365, 0, 333, 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, 1000, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, 500, 556, 500, 667, 556, 667, 556, 667, 556, 722, 500, 722, 500, 722, 500, 722, 500, 722, 615, 722, 556, 667, 556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 556, 778, 556, 778, 556, 778, 556, 722, 556, 722, 556, 278, 278, 278, 278, 278, 278, 278, 222, 278, 278, 735, 444, 500, 222, 667, 500, 500, 556, 222, 556, 222, 556, 292, 556, 334, 556, 222, 722, 556, 722, 556, 722, 556, 604, 723, 556, 778, 556, 778, 556, 778, 556, 1000, 944, 722, 333, 722, 333, 722, 333, 667, 500, 667, 500, 667, 500, 667, 500, 611, 278, 611, 375, 611, 278, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 944, 722, 667, 500, 667, 611, 500, 611, 500, 611, 500, 222, 556, 667, 556, 1000, 889, 778, 611, 667, 500, 611, 278, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 667, 278, 784, 838, 384, 774, 855, 752, 222, 667, 667, 551, 668, 667, 611, 722, 778, 278, 667, 668, 833, 722, 650, 778, 722, 667, 618, 611, 667, 798, 667, 835, 748, 278, 667, 578, 446, 556, 222, 547, 578, 575, 500, 557, 446, 441, 556, 556, 222, 500, 500, 576, 500, 448, 556, 690, 569, 482, 617, 395, 547, 648, 525, 713, 781, 222, 547, 556, 547, 781, 667, 667, 865, 542, 719, 667, 278, 278, 500, 1057, 1010, 854, 583, 722, 635, 719, 667, 656, 667, 542, 677, 667, 923, 604, 719, 719, 583, 656, 833, 722, 778, 719, 667, 722, 611, 635, 760, 667, 740, 667, 917, 938, 792, 885, 656, 719, 1010, 722, 556, 573, 531, 365, 583, 556, 669, 458, 559, 559, 438, 583, 688, 552, 556, 542, 556, 500, 458, 500, 823, 500, 573, 521, 802, 823, 625, 719, 521, 510, 750, 542, 556, 556, 556, 365, 510, 500, 222, 278, 222, 906, 812, 556, 438, 559, 500, 552, 778, 556, 489, 411, 944, 722, 944, 722, 944, 722, 667, 500, 333, 333, 556, 1000, 1000, 552, 222, 222, 222, 222, 333, 333, 333, 556, 556, 350, 1000, 1000, 188, 354, 333, 333, 500, 333, 167, 365, 556, 556, 1094, 556, 885, 323, 1073, 1000, 768, 600, 834, 834, 834, 834, 1000, 500, 1000, 500, 1000, 500, 500, 494, 612, 823, 713, 584, 549, 713, 979, 719, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 729, 604, 604, 354, 354, 1000, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917, 750, 750, 531, 656, 594, 510, 500, 750, 750, 500, 500, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222, 294, 294, 324, 324, 316, 328, 398, 285];\nexports.LiberationSansRegularWidths = LiberationSansRegularWidths;\nconst LiberationSansRegularMapping = [-1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539, 710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211, 8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249, 8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541, 8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747, 8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516, 9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616, 9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702, 9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];\nexports.LiberationSansRegularMapping = LiberationSansRegularMapping;\n\n/***/ }),\n/* 55 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MyriadProRegularMetrics = exports.MyriadProRegularFactors = exports.MyriadProItalicMetrics = exports.MyriadProItalicFactors = exports.MyriadProBoldMetrics = exports.MyriadProBoldItalicMetrics = exports.MyriadProBoldItalicFactors = exports.MyriadProBoldFactors = void 0;\nconst MyriadProBoldFactors = [1.36898, 1, 1, 0.72706, 0.80479, 0.83734, 0.98894, 0.99793, 0.9897, 0.93884, 0.86209, 0.94292, 0.94292, 1.16661, 1.02058, 0.93582, 0.96694, 0.93582, 1.19137, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793, 0.78076, 0.78076, 1.02058, 1.02058, 1.02058, 0.72851, 0.78966, 0.90838, 0.83637, 0.82391, 0.96376, 0.80061, 0.86275, 0.8768, 0.95407, 1.0258, 0.73901, 0.85022, 0.83655, 1.0156, 0.95546, 0.92179, 0.87107, 0.92179, 0.82114, 0.8096, 0.89713, 0.94438, 0.95353, 0.94083, 0.91905, 0.90406, 0.9446, 0.94292, 1.18777, 0.94292, 1.02058, 0.89903, 0.90088, 0.94938, 0.97898, 0.81093, 0.97571, 0.94938, 1.024, 0.9577, 0.95933, 0.98621, 1.0474, 0.97455, 0.98981, 0.9672, 0.95933, 0.9446, 0.97898, 0.97407, 0.97646, 0.78036, 1.10208, 0.95442, 0.95298, 0.97579, 0.9332, 0.94039, 0.938, 0.80687, 1.01149, 0.80687, 1.02058, 0.80479, 0.99793, 0.99793, 0.99793, 0.99793, 1.01149, 1.00872, 0.90088, 0.91882, 1.0213, 0.8361, 1.02058, 0.62295, 0.54324, 0.89022, 1.08595, 1, 1, 0.90088, 1, 0.97455, 0.93582, 0.90088, 1, 1.05686, 0.8361, 0.99642, 0.99642, 0.99642, 0.72851, 0.90838, 0.90838, 0.90838, 0.90838, 0.90838, 0.90838, 0.868, 0.82391, 0.80061, 0.80061, 0.80061, 0.80061, 1.0258, 1.0258, 1.0258, 1.0258, 0.97484, 0.95546, 0.92179, 0.92179, 0.92179, 0.92179, 0.92179, 1.02058, 0.92179, 0.94438, 0.94438, 0.94438, 0.94438, 0.90406, 0.86958, 0.98225, 0.94938, 0.94938, 0.94938, 0.94938, 0.94938, 0.94938, 0.9031, 0.81093, 0.94938, 0.94938, 0.94938, 0.94938, 0.98621, 0.98621, 0.98621, 0.98621, 0.93969, 0.95933, 0.9446, 0.9446, 0.9446, 0.9446, 0.9446, 1.08595, 0.9446, 0.95442, 0.95442, 0.95442, 0.95442, 0.94039, 0.97898, 0.94039, 0.90838, 0.94938, 0.90838, 0.94938, 0.90838, 0.94938, 0.82391, 0.81093, 0.82391, 0.81093, 0.82391, 0.81093, 0.82391, 0.81093, 0.96376, 0.84313, 0.97484, 0.97571, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061, 0.94938, 0.8768, 0.9577, 0.8768, 0.9577, 0.8768, 0.9577, 1, 1, 0.95407, 0.95933, 0.97069, 0.95933, 1.0258, 0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 0.887, 1.01591, 0.73901, 1.0474, 1, 1, 0.97455, 0.83655, 0.98981, 1, 1, 0.83655, 0.73977, 0.83655, 0.73903, 0.84638, 1.033, 0.95546, 0.95933, 1, 1, 0.95546, 0.95933, 0.8271, 0.95417, 0.95933, 0.92179, 0.9446, 0.92179, 0.9446, 0.92179, 0.9446, 0.936, 0.91964, 0.82114, 0.97646, 1, 1, 0.82114, 0.97646, 0.8096, 0.78036, 0.8096, 0.78036, 1, 1, 0.8096, 0.78036, 1, 1, 0.89713, 0.77452, 0.89713, 1.10208, 0.94438, 0.95442, 0.94438, 0.95442, 0.94438, 0.95442, 0.94438, 0.95442, 0.94438, 0.95442, 0.94438, 0.95442, 0.94083, 0.97579, 0.90406, 0.94039, 0.90406, 0.9446, 0.938, 0.9446, 0.938, 0.9446, 0.938, 1, 0.99793, 0.90838, 0.94938, 0.868, 0.9031, 0.92179, 0.9446, 1, 1, 0.89713, 1.10208, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90989, 0.9358, 0.91945, 0.83181, 0.75261, 0.87992, 0.82976, 0.96034, 0.83689, 0.97268, 1.0078, 0.90838, 0.83637, 0.8019, 0.90157, 0.80061, 0.9446, 0.95407, 0.92436, 1.0258, 0.85022, 0.97153, 1.0156, 0.95546, 0.89192, 0.92179, 0.92361, 0.87107, 0.96318, 0.89713, 0.93704, 0.95638, 0.91905, 0.91709, 0.92796, 1.0258, 0.93704, 0.94836, 1.0373, 0.95933, 1.0078, 0.95871, 0.94836, 0.96174, 0.92601, 0.9498, 0.98607, 0.95776, 0.95933, 1.05453, 1.0078, 0.98275, 0.9314, 0.95617, 0.91701, 1.05993, 0.9446, 0.78367, 0.9553, 1, 0.86832, 1.0128, 0.95871, 0.99394, 0.87548, 0.96361, 0.86774, 1.0078, 0.95871, 0.9446, 0.95871, 0.86774, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.94083, 0.97579, 0.94083, 0.97579, 0.94083, 0.97579, 0.90406, 0.94039, 0.96694, 1, 0.89903, 1, 1, 1, 0.93582, 0.93582, 0.93582, 1, 0.908, 0.908, 0.918, 0.94219, 0.94219, 0.96544, 1, 1.285, 1, 1, 0.81079, 0.81079, 1, 1, 0.74854, 1, 1, 1, 1, 0.99793, 1, 1, 1, 0.65, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.17173, 1, 0.80535, 0.76169, 1.02058, 1.0732, 1.05486, 1, 1, 1.30692, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.16161, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.MyriadProBoldFactors = MyriadProBoldFactors;\nconst MyriadProBoldMetrics = {\n lineHeight: 1.2,\n lineGap: 0.2\n};\nexports.MyriadProBoldMetrics = MyriadProBoldMetrics;\nconst MyriadProBoldItalicFactors = [1.36898, 1, 1, 0.66227, 0.80779, 0.81625, 0.97276, 0.97276, 0.97733, 0.92222, 0.83266, 0.94292, 0.94292, 1.16148, 1.02058, 0.93582, 0.96694, 0.93582, 1.17337, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276, 0.78076, 0.78076, 1.02058, 1.02058, 1.02058, 0.71541, 0.76813, 0.85576, 0.80591, 0.80729, 0.94299, 0.77512, 0.83655, 0.86523, 0.92222, 0.98621, 0.71743, 0.81698, 0.79726, 0.98558, 0.92222, 0.90637, 0.83809, 0.90637, 0.80729, 0.76463, 0.86275, 0.90699, 0.91605, 0.9154, 0.85308, 0.85458, 0.90531, 0.94292, 1.21296, 0.94292, 1.02058, 0.89903, 1.18616, 0.99613, 0.91677, 0.78216, 0.91677, 0.90083, 0.98796, 0.9135, 0.92168, 0.95381, 0.98981, 0.95298, 0.95381, 0.93459, 0.92168, 0.91513, 0.92004, 0.91677, 0.95077, 0.748, 1.04502, 0.91677, 0.92061, 0.94236, 0.89544, 0.89364, 0.9, 0.80687, 0.8578, 0.80687, 1.02058, 0.80779, 0.97276, 0.97276, 0.97276, 0.97276, 0.8578, 0.99973, 1.18616, 0.91339, 1.08074, 0.82891, 1.02058, 0.55509, 0.71526, 0.89022, 1.08595, 1, 1, 1.18616, 1, 0.96736, 0.93582, 1.18616, 1, 1.04864, 0.82711, 0.99043, 0.99043, 0.99043, 0.71541, 0.85576, 0.85576, 0.85576, 0.85576, 0.85576, 0.85576, 0.845, 0.80729, 0.77512, 0.77512, 0.77512, 0.77512, 0.98621, 0.98621, 0.98621, 0.98621, 0.95961, 0.92222, 0.90637, 0.90637, 0.90637, 0.90637, 0.90637, 1.02058, 0.90251, 0.90699, 0.90699, 0.90699, 0.90699, 0.85458, 0.83659, 0.94951, 0.99613, 0.99613, 0.99613, 0.99613, 0.99613, 0.99613, 0.85811, 0.78216, 0.90083, 0.90083, 0.90083, 0.90083, 0.95381, 0.95381, 0.95381, 0.95381, 0.9135, 0.92168, 0.91513, 0.91513, 0.91513, 0.91513, 0.91513, 1.08595, 0.91677, 0.91677, 0.91677, 0.91677, 0.91677, 0.89364, 0.92332, 0.89364, 0.85576, 0.99613, 0.85576, 0.99613, 0.85576, 0.99613, 0.80729, 0.78216, 0.80729, 0.78216, 0.80729, 0.78216, 0.80729, 0.78216, 0.94299, 0.76783, 0.95961, 0.91677, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512, 0.90083, 0.86523, 0.9135, 0.86523, 0.9135, 0.86523, 0.9135, 1, 1, 0.92222, 0.92168, 0.92222, 0.92168, 0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.86036, 0.97096, 0.71743, 0.98981, 1, 1, 0.95298, 0.79726, 0.95381, 1, 1, 0.79726, 0.6894, 0.79726, 0.74321, 0.81691, 1.0006, 0.92222, 0.92168, 1, 1, 0.92222, 0.92168, 0.79464, 0.92098, 0.92168, 0.90637, 0.91513, 0.90637, 0.91513, 0.90637, 0.91513, 0.909, 0.87514, 0.80729, 0.95077, 1, 1, 0.80729, 0.95077, 0.76463, 0.748, 0.76463, 0.748, 1, 1, 0.76463, 0.748, 1, 1, 0.86275, 0.72651, 0.86275, 1.04502, 0.90699, 0.91677, 0.90699, 0.91677, 0.90699, 0.91677, 0.90699, 0.91677, 0.90699, 0.91677, 0.90699, 0.91677, 0.9154, 0.94236, 0.85458, 0.89364, 0.85458, 0.90531, 0.9, 0.90531, 0.9, 0.90531, 0.9, 1, 0.97276, 0.85576, 0.99613, 0.845, 0.85811, 0.90251, 0.91677, 1, 1, 0.86275, 1.04502, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.00899, 1.30628, 0.85576, 0.80178, 0.66862, 0.7927, 0.69323, 0.88127, 0.72459, 0.89711, 0.95381, 0.85576, 0.80591, 0.7805, 0.94729, 0.77512, 0.90531, 0.92222, 0.90637, 0.98621, 0.81698, 0.92655, 0.98558, 0.92222, 0.85359, 0.90637, 0.90976, 0.83809, 0.94523, 0.86275, 0.83509, 0.93157, 0.85308, 0.83392, 0.92346, 0.98621, 0.83509, 0.92886, 0.91324, 0.92168, 0.95381, 0.90646, 0.92886, 0.90557, 0.86847, 0.90276, 0.91324, 0.86842, 0.92168, 0.99531, 0.95381, 0.9224, 0.85408, 0.92699, 0.86847, 1.0051, 0.91513, 0.80487, 0.93481, 1, 0.88159, 1.05214, 0.90646, 0.97355, 0.81539, 0.89398, 0.85923, 0.95381, 0.90646, 0.91513, 0.90646, 0.85923, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9154, 0.94236, 0.9154, 0.94236, 0.9154, 0.94236, 0.85458, 0.89364, 0.96694, 1, 0.89903, 1, 1, 1, 0.91782, 0.91782, 0.91782, 1, 0.896, 0.896, 0.896, 0.9332, 0.9332, 0.95973, 1, 1.26, 1, 1, 0.80479, 0.80178, 1, 1, 0.85633, 1, 1, 1, 1, 0.97276, 1, 1, 1, 0.698, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.14542, 1, 0.79199, 0.78694, 1.02058, 1.03493, 1.05486, 1, 1, 1.23026, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.20006, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.MyriadProBoldItalicFactors = MyriadProBoldItalicFactors;\nconst MyriadProBoldItalicMetrics = {\n lineHeight: 1.2,\n lineGap: 0.2\n};\nexports.MyriadProBoldItalicMetrics = MyriadProBoldItalicMetrics;\nconst MyriadProItalicFactors = [1.36898, 1, 1, 0.65507, 0.84943, 0.85639, 0.88465, 0.88465, 0.86936, 0.88307, 0.86948, 0.85283, 0.85283, 1.06383, 1.02058, 0.75945, 0.9219, 0.75945, 1.17337, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465, 0.75945, 0.75945, 1.02058, 1.02058, 1.02058, 0.69046, 0.70926, 0.85158, 0.77812, 0.76852, 0.89591, 0.70466, 0.76125, 0.80094, 0.86822, 0.83864, 0.728, 0.77212, 0.79475, 0.93637, 0.87514, 0.8588, 0.76013, 0.8588, 0.72421, 0.69866, 0.77598, 0.85991, 0.80811, 0.87832, 0.78112, 0.77512, 0.8562, 1.0222, 1.18417, 1.0222, 1.27014, 0.89903, 1.15012, 0.93859, 0.94399, 0.846, 0.94399, 0.81453, 1.0186, 0.94219, 0.96017, 1.03075, 1.02175, 0.912, 1.03075, 0.96998, 0.96017, 0.93859, 0.94399, 0.94399, 0.95493, 0.746, 1.12658, 0.94578, 0.91, 0.979, 0.882, 0.882, 0.83, 0.85034, 0.83537, 0.85034, 1.02058, 0.70869, 0.88465, 0.88465, 0.88465, 0.88465, 0.83537, 0.90083, 1.15012, 0.9161, 0.94565, 0.73541, 1.02058, 0.53609, 0.69353, 0.79519, 1.08595, 1, 1, 1.15012, 1, 0.91974, 0.75945, 1.15012, 1, 0.9446, 0.73361, 0.9005, 0.9005, 0.9005, 0.62864, 0.85158, 0.85158, 0.85158, 0.85158, 0.85158, 0.85158, 0.773, 0.76852, 0.70466, 0.70466, 0.70466, 0.70466, 0.83864, 0.83864, 0.83864, 0.83864, 0.90561, 0.87514, 0.8588, 0.8588, 0.8588, 0.8588, 0.8588, 1.02058, 0.85751, 0.85991, 0.85991, 0.85991, 0.85991, 0.77512, 0.76013, 0.88075, 0.93859, 0.93859, 0.93859, 0.93859, 0.93859, 0.93859, 0.8075, 0.846, 0.81453, 0.81453, 0.81453, 0.81453, 0.82424, 0.82424, 0.82424, 0.82424, 0.9278, 0.96017, 0.93859, 0.93859, 0.93859, 0.93859, 0.93859, 1.08595, 0.8562, 0.94578, 0.94578, 0.94578, 0.94578, 0.882, 0.94578, 0.882, 0.85158, 0.93859, 0.85158, 0.93859, 0.85158, 0.93859, 0.76852, 0.846, 0.76852, 0.846, 0.76852, 0.846, 0.76852, 0.846, 0.89591, 0.8544, 0.90561, 0.94399, 0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.80094, 0.94219, 0.80094, 0.94219, 0.80094, 0.94219, 1, 1, 0.86822, 0.96017, 0.86822, 0.96017, 0.83864, 0.82424, 0.83864, 0.82424, 0.83864, 0.82424, 0.83864, 1.03075, 0.83864, 0.82424, 0.81402, 1.02738, 0.728, 1.02175, 1, 1, 0.912, 0.79475, 1.03075, 1, 1, 0.79475, 0.83911, 0.79475, 0.66266, 0.80553, 1.06676, 0.87514, 0.96017, 1, 1, 0.87514, 0.96017, 0.86865, 0.87396, 0.96017, 0.8588, 0.93859, 0.8588, 0.93859, 0.8588, 0.93859, 0.867, 0.84759, 0.72421, 0.95493, 1, 1, 0.72421, 0.95493, 0.69866, 0.746, 0.69866, 0.746, 1, 1, 0.69866, 0.746, 1, 1, 0.77598, 0.88417, 0.77598, 1.12658, 0.85991, 0.94578, 0.85991, 0.94578, 0.85991, 0.94578, 0.85991, 0.94578, 0.85991, 0.94578, 0.85991, 0.94578, 0.87832, 0.979, 0.77512, 0.882, 0.77512, 0.8562, 0.83, 0.8562, 0.83, 0.8562, 0.83, 1, 0.88465, 0.85158, 0.93859, 0.773, 0.8075, 0.85751, 0.8562, 1, 1, 0.77598, 1.12658, 1.15012, 1.15012, 1.15012, 1.15012, 1.15012, 1.15313, 1.15012, 1.15012, 1.15012, 1.08106, 1.03901, 0.85158, 0.77025, 0.62264, 0.7646, 0.65351, 0.86026, 0.69461, 0.89947, 1.03075, 0.85158, 0.77812, 0.76449, 0.88836, 0.70466, 0.8562, 0.86822, 0.8588, 0.83864, 0.77212, 0.85308, 0.93637, 0.87514, 0.82352, 0.8588, 0.85701, 0.76013, 0.89058, 0.77598, 0.8156, 0.82565, 0.78112, 0.77899, 0.89386, 0.83864, 0.8156, 0.9486, 0.92388, 0.96186, 1.03075, 0.91123, 0.9486, 0.93298, 0.878, 0.93942, 0.92388, 0.84596, 0.96186, 0.95119, 1.03075, 0.922, 0.88787, 0.95829, 0.88, 0.93559, 0.93859, 0.78815, 0.93758, 1, 0.89217, 1.03737, 0.91123, 0.93969, 0.77487, 0.85769, 0.86799, 1.03075, 0.91123, 0.93859, 0.91123, 0.86799, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.87832, 0.979, 0.87832, 0.979, 0.87832, 0.979, 0.77512, 0.882, 0.9219, 1, 0.89903, 1, 1, 1, 0.87321, 0.87321, 0.87321, 1, 1.027, 1.027, 1.027, 0.86847, 0.86847, 0.79121, 1, 1.124, 1, 1, 0.73572, 0.73572, 1, 1, 0.85034, 1, 1, 1, 1, 0.88465, 1, 1, 1, 0.669, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.04828, 1, 0.74948, 0.75187, 1.02058, 0.98391, 1.02119, 1, 1, 1.06233, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05233, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.MyriadProItalicFactors = MyriadProItalicFactors;\nconst MyriadProItalicMetrics = {\n lineHeight: 1.2,\n lineGap: 0.2\n};\nexports.MyriadProItalicMetrics = MyriadProItalicMetrics;\nconst MyriadProRegularFactors = [1.36898, 1, 1, 0.76305, 0.82784, 0.94935, 0.89364, 0.92241, 0.89073, 0.90706, 0.98472, 0.85283, 0.85283, 1.0664, 1.02058, 0.74505, 0.9219, 0.74505, 1.23456, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241, 0.74505, 0.74505, 1.02058, 1.02058, 1.02058, 0.73002, 0.72601, 0.91755, 0.8126, 0.80314, 0.92222, 0.73764, 0.79726, 0.83051, 0.90284, 0.86023, 0.74, 0.8126, 0.84869, 0.96518, 0.91115, 0.8858, 0.79761, 0.8858, 0.74498, 0.73914, 0.81363, 0.89591, 0.83659, 0.89633, 0.85608, 0.8111, 0.90531, 1.0222, 1.22736, 1.0222, 1.27014, 0.89903, 0.90088, 0.86667, 1.0231, 0.896, 1.01411, 0.90083, 1.05099, 1.00512, 0.99793, 1.05326, 1.09377, 0.938, 1.06226, 1.00119, 0.99793, 0.98714, 1.0231, 1.01231, 0.98196, 0.792, 1.19137, 0.99074, 0.962, 1.01915, 0.926, 0.942, 0.856, 0.85034, 0.92006, 0.85034, 1.02058, 0.69067, 0.92241, 0.92241, 0.92241, 0.92241, 0.92006, 0.9332, 0.90088, 0.91882, 0.93484, 0.75339, 1.02058, 0.56866, 0.54324, 0.79519, 1.08595, 1, 1, 0.90088, 1, 0.95325, 0.74505, 0.90088, 1, 0.97198, 0.75339, 0.91009, 0.91009, 0.91009, 0.66466, 0.91755, 0.91755, 0.91755, 0.91755, 0.91755, 0.91755, 0.788, 0.80314, 0.73764, 0.73764, 0.73764, 0.73764, 0.86023, 0.86023, 0.86023, 0.86023, 0.92915, 0.91115, 0.8858, 0.8858, 0.8858, 0.8858, 0.8858, 1.02058, 0.8858, 0.89591, 0.89591, 0.89591, 0.89591, 0.8111, 0.79611, 0.89713, 0.86667, 0.86667, 0.86667, 0.86667, 0.86667, 0.86667, 0.86936, 0.896, 0.90083, 0.90083, 0.90083, 0.90083, 0.84224, 0.84224, 0.84224, 0.84224, 0.97276, 0.99793, 0.98714, 0.98714, 0.98714, 0.98714, 0.98714, 1.08595, 0.89876, 0.99074, 0.99074, 0.99074, 0.99074, 0.942, 1.0231, 0.942, 0.91755, 0.86667, 0.91755, 0.86667, 0.91755, 0.86667, 0.80314, 0.896, 0.80314, 0.896, 0.80314, 0.896, 0.80314, 0.896, 0.92222, 0.93372, 0.92915, 1.01411, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.83051, 1.00512, 0.83051, 1.00512, 0.83051, 1.00512, 1, 1, 0.90284, 0.99793, 0.90976, 0.99793, 0.86023, 0.84224, 0.86023, 0.84224, 0.86023, 0.84224, 0.86023, 1.05326, 0.86023, 0.84224, 0.82873, 1.07469, 0.74, 1.09377, 1, 1, 0.938, 0.84869, 1.06226, 1, 1, 0.84869, 0.83704, 0.84869, 0.81441, 0.85588, 1.08927, 0.91115, 0.99793, 1, 1, 0.91115, 0.99793, 0.91887, 0.90991, 0.99793, 0.8858, 0.98714, 0.8858, 0.98714, 0.8858, 0.98714, 0.894, 0.91434, 0.74498, 0.98196, 1, 1, 0.74498, 0.98196, 0.73914, 0.792, 0.73914, 0.792, 1, 1, 0.73914, 0.792, 1, 1, 0.81363, 0.904, 0.81363, 1.19137, 0.89591, 0.99074, 0.89591, 0.99074, 0.89591, 0.99074, 0.89591, 0.99074, 0.89591, 0.99074, 0.89591, 0.99074, 0.89633, 1.01915, 0.8111, 0.942, 0.8111, 0.90531, 0.856, 0.90531, 0.856, 0.90531, 0.856, 1, 0.92241, 0.91755, 0.86667, 0.788, 0.86936, 0.8858, 0.89876, 1, 1, 0.81363, 1.19137, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90388, 1.03901, 0.92138, 0.78105, 0.7154, 0.86169, 0.80513, 0.94007, 0.82528, 0.98612, 1.06226, 0.91755, 0.8126, 0.81884, 0.92819, 0.73764, 0.90531, 0.90284, 0.8858, 0.86023, 0.8126, 0.91172, 0.96518, 0.91115, 0.83089, 0.8858, 0.87791, 0.79761, 0.89297, 0.81363, 0.88157, 0.89992, 0.85608, 0.81992, 0.94307, 0.86023, 0.88157, 0.95308, 0.98699, 0.99793, 1.06226, 0.95817, 0.95308, 0.97358, 0.928, 0.98088, 0.98699, 0.92761, 0.99793, 0.96017, 1.06226, 0.986, 0.944, 0.95978, 0.938, 0.96705, 0.98714, 0.80442, 0.98972, 1, 0.89762, 1.04552, 0.95817, 0.99007, 0.87064, 0.91879, 0.88888, 1.06226, 0.95817, 0.98714, 0.95817, 0.88888, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89633, 1.01915, 0.89633, 1.01915, 0.89633, 1.01915, 0.8111, 0.942, 0.9219, 1, 0.89903, 1, 1, 1, 0.93173, 0.93173, 0.93173, 1, 1.06304, 1.06304, 1.06904, 0.89903, 0.89903, 0.80549, 1, 1.156, 1, 1, 0.76575, 0.76575, 1, 1, 0.72458, 1, 1, 1, 1, 0.92241, 1, 1, 1, 0.619, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.07257, 1, 0.74705, 0.71119, 1.02058, 1.024, 1.02119, 1, 1, 1.1536, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05638, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.MyriadProRegularFactors = MyriadProRegularFactors;\nconst MyriadProRegularMetrics = {\n lineHeight: 1.2,\n lineGap: 0.2\n};\nexports.MyriadProRegularMetrics = MyriadProRegularMetrics;\n\n/***/ }),\n/* 56 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SegoeuiRegularMetrics = exports.SegoeuiRegularFactors = exports.SegoeuiItalicMetrics = exports.SegoeuiItalicFactors = exports.SegoeuiBoldMetrics = exports.SegoeuiBoldItalicMetrics = exports.SegoeuiBoldItalicFactors = exports.SegoeuiBoldFactors = void 0;\nconst SegoeuiBoldFactors = [1.76738, 1, 1, 0.99297, 0.9824, 1.04016, 1.06497, 1.03424, 0.97529, 1.17647, 1.23203, 1.1085, 1.1085, 1.16939, 1.2107, 0.9754, 1.21408, 0.9754, 1.59578, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 0.81378, 0.81378, 1.2107, 1.2107, 1.2107, 0.71703, 0.97847, 0.97363, 0.88776, 0.8641, 1.02096, 0.79795, 0.85132, 0.914, 1.06085, 1.1406, 0.8007, 0.89858, 0.83693, 1.14889, 1.09398, 0.97489, 0.92094, 0.97489, 0.90399, 0.84041, 0.95923, 1.00135, 1, 1.06467, 0.98243, 0.90996, 0.99361, 1.1085, 1.56942, 1.1085, 1.2107, 0.74627, 0.94282, 0.96752, 1.01519, 0.86304, 1.01359, 0.97278, 1.15103, 1.01359, 0.98561, 1.02285, 1.02285, 1.00527, 1.02285, 1.0302, 0.99041, 1.0008, 1.01519, 1.01359, 1.02258, 0.79104, 1.16862, 0.99041, 0.97454, 1.02511, 0.99298, 0.96752, 0.95801, 0.94856, 1.16579, 0.94856, 1.2107, 0.9824, 1.03424, 1.03424, 1, 1.03424, 1.16579, 0.8727, 1.3871, 1.18622, 1.10818, 1.04478, 1.2107, 1.18622, 0.75155, 0.94994, 1.28826, 1.21408, 1.21408, 0.91056, 1, 0.91572, 0.9754, 0.64663, 1.18328, 1.24866, 1.04478, 1.14169, 1.15749, 1.17389, 0.71703, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.93506, 0.8641, 0.79795, 0.79795, 0.79795, 0.79795, 1.1406, 1.1406, 1.1406, 1.1406, 1.02096, 1.09398, 0.97426, 0.97426, 0.97426, 0.97426, 0.97426, 1.2107, 0.97489, 1.00135, 1.00135, 1.00135, 1.00135, 0.90996, 0.92094, 1.02798, 0.96752, 0.96752, 0.96752, 0.96752, 0.96752, 0.96752, 0.93136, 0.86304, 0.97278, 0.97278, 0.97278, 0.97278, 1.02285, 1.02285, 1.02285, 1.02285, 0.97122, 0.99041, 1, 1, 1, 1, 1, 1.28826, 1.0008, 0.99041, 0.99041, 0.99041, 0.99041, 0.96752, 1.01519, 0.96752, 0.97363, 0.96752, 0.97363, 0.96752, 0.97363, 0.96752, 0.8641, 0.86304, 0.8641, 0.86304, 0.8641, 0.86304, 0.8641, 0.86304, 1.02096, 1.03057, 1.02096, 1.03517, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.914, 1.01359, 0.914, 1.01359, 0.914, 1.01359, 1, 1, 1.06085, 0.98561, 1.06085, 1.00879, 1.1406, 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 0.97138, 1.08692, 0.8007, 1.02285, 1, 1, 1.00527, 0.83693, 1.02285, 1, 1, 0.83693, 0.9455, 0.83693, 0.90418, 0.83693, 1.13005, 1.09398, 0.99041, 1, 1, 1.09398, 0.99041, 0.96692, 1.09251, 0.99041, 0.97489, 1.0008, 0.97489, 1.0008, 0.97489, 1.0008, 0.93994, 0.97931, 0.90399, 1.02258, 1, 1, 0.90399, 1.02258, 0.84041, 0.79104, 0.84041, 0.79104, 0.84041, 0.79104, 0.84041, 0.79104, 1, 1, 0.95923, 1.07034, 0.95923, 1.16862, 1.00135, 0.99041, 1.00135, 0.99041, 1.00135, 0.99041, 1.00135, 0.99041, 1.00135, 0.99041, 1.00135, 0.99041, 1.06467, 1.02511, 0.90996, 0.96752, 0.90996, 0.99361, 0.95801, 0.99361, 0.95801, 0.99361, 0.95801, 1.07733, 1.03424, 0.97363, 0.96752, 0.93506, 0.93136, 0.97489, 1.0008, 1, 1, 0.95923, 1.16862, 1.15103, 1.15103, 1.01173, 1.03959, 0.75953, 0.81378, 0.79912, 1.15103, 1.21994, 0.95161, 0.87815, 1.01149, 0.81525, 0.7676, 0.98167, 1.01134, 1.02546, 0.84097, 1.03089, 1.18102, 0.97363, 0.88776, 0.85134, 0.97826, 0.79795, 0.99361, 1.06085, 0.97489, 1.1406, 0.89858, 1.0388, 1.14889, 1.09398, 0.86039, 0.97489, 1.0595, 0.92094, 0.94793, 0.95923, 0.90996, 0.99346, 0.98243, 1.02112, 0.95493, 1.1406, 0.90996, 1.03574, 1.02597, 1.0008, 1.18102, 1.06628, 1.03574, 1.0192, 1.01932, 1.00886, 0.97531, 1.0106, 1.0008, 1.13189, 1.18102, 1.02277, 0.98683, 1.0016, 0.99561, 1.07237, 1.0008, 0.90434, 0.99921, 0.93803, 0.8965, 1.23085, 1.06628, 1.04983, 0.96268, 1.0499, 0.98439, 1.18102, 1.06628, 1.0008, 1.06628, 0.98439, 0.79795, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.09466, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.97278, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.02065, 1, 1, 1, 1, 1, 1, 1.06467, 1.02511, 1.06467, 1.02511, 1.06467, 1.02511, 0.90996, 0.96752, 1, 1.21408, 0.89903, 1, 1, 0.75155, 1.04394, 1.04394, 1.04394, 1.04394, 0.98633, 0.98633, 0.98633, 0.73047, 0.73047, 1.20642, 0.91211, 1.25635, 1.222, 1.02956, 1.03372, 1.03372, 0.96039, 1.24633, 1, 1.12454, 0.93503, 1.03424, 1.19687, 1.03424, 1, 1, 1, 0.771, 1, 1, 1.15749, 1.15749, 1.15749, 1.10948, 0.86279, 0.94434, 0.86279, 0.94434, 0.86182, 1, 1, 1.16897, 1, 0.96085, 0.90137, 1.2107, 1.18416, 1.13973, 0.69825, 0.9716, 2.10339, 1.29004, 1.29004, 1.21172, 1.29004, 1.29004, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18874, 1.42603, 1, 1.42603, 1.42603, 0.99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.09193, 1.09193, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.SegoeuiBoldFactors = SegoeuiBoldFactors;\nconst SegoeuiBoldMetrics = {\n lineHeight: 1.33008,\n lineGap: 0\n};\nexports.SegoeuiBoldMetrics = SegoeuiBoldMetrics;\nconst SegoeuiBoldItalicFactors = [1.76738, 1, 1, 0.98946, 1.03959, 1.04016, 1.02809, 1.036, 0.97639, 1.10953, 1.23203, 1.11144, 1.11144, 1.16939, 1.21237, 0.9754, 1.21261, 0.9754, 1.59754, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 0.81378, 0.81378, 1.21237, 1.21237, 1.21237, 0.73541, 0.97847, 0.97363, 0.89723, 0.87897, 1.0426, 0.79429, 0.85292, 0.91149, 1.05815, 1.1406, 0.79631, 0.90128, 0.83853, 1.04396, 1.10615, 0.97552, 0.94436, 0.97552, 0.88641, 0.80527, 0.96083, 1.00135, 1, 1.06777, 0.9817, 0.91142, 0.99361, 1.11144, 1.57293, 1.11144, 1.21237, 0.74627, 1.31818, 1.06585, 0.97042, 0.83055, 0.97042, 0.93503, 1.1261, 0.97042, 0.97922, 1.14236, 0.94552, 1.01054, 1.14236, 1.02471, 0.97922, 0.94165, 0.97042, 0.97042, 1.0276, 0.78929, 1.1261, 0.97922, 0.95874, 1.02197, 0.98507, 0.96752, 0.97168, 0.95107, 1.16579, 0.95107, 1.21237, 1.03959, 1.036, 1.036, 1, 1.036, 1.16579, 0.87357, 1.31818, 1.18754, 1.26781, 1.05356, 1.21237, 1.18622, 0.79487, 0.94994, 1.29004, 1.24047, 1.24047, 1.31818, 1, 0.91484, 0.9754, 1.31818, 1.1349, 1.24866, 1.05356, 1.13934, 1.15574, 1.17389, 0.73541, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.94385, 0.87897, 0.79429, 0.79429, 0.79429, 0.79429, 1.1406, 1.1406, 1.1406, 1.1406, 1.0426, 1.10615, 0.97552, 0.97552, 0.97552, 0.97552, 0.97552, 1.21237, 0.97552, 1.00135, 1.00135, 1.00135, 1.00135, 0.91142, 0.94436, 0.98721, 1.06585, 1.06585, 1.06585, 1.06585, 1.06585, 1.06585, 0.96705, 0.83055, 0.93503, 0.93503, 0.93503, 0.93503, 1.14236, 1.14236, 1.14236, 1.14236, 0.93125, 0.97922, 0.94165, 0.94165, 0.94165, 0.94165, 0.94165, 1.29004, 0.94165, 0.97922, 0.97922, 0.97922, 0.97922, 0.96752, 0.97042, 0.96752, 0.97363, 1.06585, 0.97363, 1.06585, 0.97363, 1.06585, 0.87897, 0.83055, 0.87897, 0.83055, 0.87897, 0.83055, 0.87897, 0.83055, 1.0426, 1.0033, 1.0426, 0.97042, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.91149, 0.97042, 0.91149, 0.97042, 0.91149, 0.97042, 1, 1, 1.05815, 0.97922, 1.05815, 0.97922, 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 0.97441, 1.04302, 0.79631, 1.01582, 1, 1, 1.01054, 0.83853, 1.14236, 1, 1, 0.83853, 1.09125, 0.83853, 0.90418, 0.83853, 1.19508, 1.10615, 0.97922, 1, 1, 1.10615, 0.97922, 1.01034, 1.10466, 0.97922, 0.97552, 0.94165, 0.97552, 0.94165, 0.97552, 0.94165, 0.91602, 0.91981, 0.88641, 1.0276, 1, 1, 0.88641, 1.0276, 0.80527, 0.78929, 0.80527, 0.78929, 0.80527, 0.78929, 0.80527, 0.78929, 1, 1, 0.96083, 1.05403, 0.95923, 1.16862, 1.00135, 0.97922, 1.00135, 0.97922, 1.00135, 0.97922, 1.00135, 0.97922, 1.00135, 0.97922, 1.00135, 0.97922, 1.06777, 1.02197, 0.91142, 0.96752, 0.91142, 0.99361, 0.97168, 0.99361, 0.97168, 0.99361, 0.97168, 1.23199, 1.036, 0.97363, 1.06585, 0.94385, 0.96705, 0.97552, 0.94165, 1, 1, 0.96083, 1.1261, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 0.95161, 1.27126, 1.00811, 0.83284, 0.77702, 0.99137, 0.95253, 1.0347, 0.86142, 1.07205, 1.14236, 0.97363, 0.89723, 0.86869, 1.09818, 0.79429, 0.99361, 1.05815, 0.97552, 1.1406, 0.90128, 1.06662, 1.04396, 1.10615, 0.84918, 0.97552, 1.04694, 0.94436, 0.98015, 0.96083, 0.91142, 1.00356, 0.9817, 1.01945, 0.98999, 1.1406, 0.91142, 1.04961, 0.9898, 1.00639, 1.14236, 1.07514, 1.04961, 0.99607, 1.02897, 1.008, 0.9898, 0.95134, 1.00639, 1.11121, 1.14236, 1.00518, 0.97981, 1.02186, 1, 1.08578, 0.94165, 0.99314, 0.98387, 0.93028, 0.93377, 1.35125, 1.07514, 1.10687, 0.93491, 1.04232, 1.00351, 1.14236, 1.07514, 0.94165, 1.07514, 1.00351, 0.79429, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.09097, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.93503, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.96609, 1, 1, 1, 1, 1, 1, 1.06777, 1.02197, 1.06777, 1.02197, 1.06777, 1.02197, 0.91142, 0.96752, 1, 1.21261, 0.89903, 1, 1, 0.75155, 1.04745, 1.04745, 1.04745, 1.04394, 0.98633, 0.98633, 0.98633, 0.72959, 0.72959, 1.20502, 0.91406, 1.26514, 1.222, 1.02956, 1.03372, 1.03372, 0.96039, 1.24633, 1, 1.09125, 0.93327, 1.03336, 1.16541, 1.036, 1, 1, 1, 0.771, 1, 1, 1.15574, 1.15574, 1.15574, 1.15574, 0.86364, 0.94434, 0.86279, 0.94434, 0.86224, 1, 1, 1.16798, 1, 0.96085, 0.90068, 1.21237, 1.18416, 1.13904, 0.69825, 0.9716, 2.10339, 1.29004, 1.29004, 1.21339, 1.29004, 1.29004, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18775, 1.42603, 1, 1.42603, 1.42603, 0.99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.13269, 1.13269, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.SegoeuiBoldItalicFactors = SegoeuiBoldItalicFactors;\nconst SegoeuiBoldItalicMetrics = {\n lineHeight: 1.33008,\n lineGap: 0\n};\nexports.SegoeuiBoldItalicMetrics = SegoeuiBoldItalicMetrics;\nconst SegoeuiItalicFactors = [1.76738, 1, 1, 0.98946, 1.14763, 1.05365, 1.06234, 0.96927, 0.92586, 1.15373, 1.18414, 0.91349, 0.91349, 1.07403, 1.17308, 0.78383, 1.20088, 0.78383, 1.42531, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.78383, 0.78383, 1.17308, 1.17308, 1.17308, 0.77349, 0.94565, 0.94729, 0.85944, 0.88506, 0.9858, 0.74817, 0.80016, 0.88449, 0.98039, 0.95782, 0.69238, 0.89898, 0.83231, 0.98183, 1.03989, 0.96924, 0.86237, 0.96924, 0.80595, 0.74524, 0.86091, 0.95402, 0.94143, 0.98448, 0.8858, 0.83089, 0.93285, 1.0949, 1.39016, 1.0949, 1.45994, 0.74627, 1.04839, 0.97454, 0.97454, 0.87207, 0.97454, 0.87533, 1.06151, 0.97454, 1.00176, 1.16484, 1.08132, 0.98047, 1.16484, 1.02989, 1.01054, 0.96225, 0.97454, 0.97454, 1.06598, 0.79004, 1.16344, 1.00351, 0.94629, 0.9973, 0.91016, 0.96777, 0.9043, 0.91082, 0.92481, 0.91082, 1.17308, 0.95748, 0.96927, 0.96927, 1, 0.96927, 0.92481, 0.80597, 1.04839, 1.23393, 1.1781, 0.9245, 1.17308, 1.20808, 0.63218, 0.94261, 1.24822, 1.09971, 1.09971, 1.04839, 1, 0.85273, 0.78032, 1.04839, 1.09971, 1.22326, 0.9245, 1.09836, 1.13525, 1.15222, 0.70424, 0.94729, 0.94729, 0.94729, 0.94729, 0.94729, 0.94729, 0.85498, 0.88506, 0.74817, 0.74817, 0.74817, 0.74817, 0.95782, 0.95782, 0.95782, 0.95782, 0.9858, 1.03989, 0.96924, 0.96924, 0.96924, 0.96924, 0.96924, 1.17308, 0.96924, 0.95402, 0.95402, 0.95402, 0.95402, 0.83089, 0.86237, 0.88409, 0.97454, 0.97454, 0.97454, 0.97454, 0.97454, 0.97454, 0.92916, 0.87207, 0.87533, 0.87533, 0.87533, 0.87533, 0.93146, 0.93146, 0.93146, 0.93146, 0.93854, 1.01054, 0.96225, 0.96225, 0.96225, 0.96225, 0.96225, 1.24822, 0.8761, 1.00351, 1.00351, 1.00351, 1.00351, 0.96777, 0.97454, 0.96777, 0.94729, 0.97454, 0.94729, 0.97454, 0.94729, 0.97454, 0.88506, 0.87207, 0.88506, 0.87207, 0.88506, 0.87207, 0.88506, 0.87207, 0.9858, 0.95391, 0.9858, 0.97454, 0.74817, 0.87533, 0.74817, 0.87533, 0.74817, 0.87533, 0.74817, 0.87533, 0.74817, 0.87533, 0.88449, 0.97454, 0.88449, 0.97454, 0.88449, 0.97454, 1, 1, 0.98039, 1.00176, 0.98039, 1.00176, 0.95782, 0.93146, 0.95782, 0.93146, 0.95782, 0.93146, 0.95782, 1.16484, 0.95782, 0.93146, 0.84421, 1.12761, 0.69238, 1.08132, 1, 1, 0.98047, 0.83231, 1.16484, 1, 1, 0.84723, 1.04861, 0.84723, 0.78755, 0.83231, 1.23736, 1.03989, 1.01054, 1, 1, 1.03989, 1.01054, 0.9857, 1.03849, 1.01054, 0.96924, 0.96225, 0.96924, 0.96225, 0.96924, 0.96225, 0.92383, 0.90171, 0.80595, 1.06598, 1, 1, 0.80595, 1.06598, 0.74524, 0.79004, 0.74524, 0.79004, 0.74524, 0.79004, 0.74524, 0.79004, 1, 1, 0.86091, 1.02759, 0.85771, 1.16344, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.98448, 0.9973, 0.83089, 0.96777, 0.83089, 0.93285, 0.9043, 0.93285, 0.9043, 0.93285, 0.9043, 1.31868, 0.96927, 0.94729, 0.97454, 0.85498, 0.92916, 0.96924, 0.8761, 1, 1, 0.86091, 1.16344, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 0.81965, 0.81965, 0.94729, 0.78032, 0.71022, 0.90883, 0.84171, 0.99877, 0.77596, 1.05734, 1.2, 0.94729, 0.85944, 0.82791, 0.9607, 0.74817, 0.93285, 0.98039, 0.96924, 0.95782, 0.89898, 0.98316, 0.98183, 1.03989, 0.78614, 0.96924, 0.97642, 0.86237, 0.86075, 0.86091, 0.83089, 0.90082, 0.8858, 0.97296, 1.01284, 0.95782, 0.83089, 1.0976, 1.04, 1.03342, 1.2, 1.0675, 1.0976, 0.98205, 1.03809, 1.05097, 1.04, 0.95364, 1.03342, 1.05401, 1.2, 1.02148, 1.0119, 1.04724, 1.0127, 1.02732, 0.96225, 0.8965, 0.97783, 0.93574, 0.94818, 1.30679, 1.0675, 1.11826, 0.99821, 1.0557, 1.0326, 1.2, 1.0675, 0.96225, 1.0675, 1.0326, 0.74817, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03754, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.87533, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.98705, 1, 1, 1, 1, 1, 1, 0.98448, 0.9973, 0.98448, 0.9973, 0.98448, 0.9973, 0.83089, 0.96777, 1, 1.20088, 0.89903, 1, 1, 0.75155, 0.94945, 0.94945, 0.94945, 0.94945, 1.12317, 1.12317, 1.12317, 0.67603, 0.67603, 1.15621, 0.73584, 1.21191, 1.22135, 1.06483, 0.94868, 0.94868, 0.95996, 1.24633, 1, 1.07497, 0.87709, 0.96927, 1.01473, 0.96927, 1, 1, 1, 0.77295, 1, 1, 1.09836, 1.09836, 1.09836, 1.01522, 0.86321, 0.94434, 0.8649, 0.94434, 0.86182, 1, 1, 1.083, 1, 0.91578, 0.86438, 1.17308, 1.18416, 1.14589, 0.69825, 0.97622, 1.96791, 1.24822, 1.24822, 1.17308, 1.24822, 1.24822, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.17984, 1.42603, 1, 1.42603, 1.42603, 0.99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.10742, 1.10742, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.SegoeuiItalicFactors = SegoeuiItalicFactors;\nconst SegoeuiItalicMetrics = {\n lineHeight: 1.33008,\n lineGap: 0\n};\nexports.SegoeuiItalicMetrics = SegoeuiItalicMetrics;\nconst SegoeuiRegularFactors = [1.76738, 1, 1, 0.98594, 1.02285, 1.10454, 1.06234, 0.96927, 0.92037, 1.19985, 1.2046, 0.90616, 0.90616, 1.07152, 1.1714, 0.78032, 1.20088, 0.78032, 1.40246, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.78032, 0.78032, 1.1714, 1.1714, 1.1714, 0.80597, 0.94084, 0.96706, 0.85944, 0.85734, 0.97093, 0.75842, 0.79936, 0.88198, 0.9831, 0.95782, 0.71387, 0.86969, 0.84636, 1.07796, 1.03584, 0.96924, 0.83968, 0.96924, 0.82826, 0.79649, 0.85771, 0.95132, 0.93119, 0.98965, 0.88433, 0.8287, 0.93365, 1.08612, 1.3638, 1.08612, 1.45786, 0.74627, 0.80499, 0.91484, 1.05707, 0.92383, 1.05882, 0.9403, 1.12654, 1.05882, 1.01756, 1.09011, 1.09011, 0.99414, 1.09011, 1.034, 1.01756, 1.05356, 1.05707, 1.05882, 1.04399, 0.84863, 1.21968, 1.01756, 0.95801, 1.00068, 0.91797, 0.96777, 0.9043, 0.90351, 0.92105, 0.90351, 1.1714, 0.85337, 0.96927, 0.96927, 0.99912, 0.96927, 0.92105, 0.80597, 1.2434, 1.20808, 1.05937, 0.90957, 1.1714, 1.20808, 0.75155, 0.94261, 1.24644, 1.09971, 1.09971, 0.84751, 1, 0.85273, 0.78032, 0.61584, 1.05425, 1.17914, 0.90957, 1.08665, 1.11593, 1.14169, 0.73381, 0.96706, 0.96706, 0.96706, 0.96706, 0.96706, 0.96706, 0.86035, 0.85734, 0.75842, 0.75842, 0.75842, 0.75842, 0.95782, 0.95782, 0.95782, 0.95782, 0.97093, 1.03584, 0.96924, 0.96924, 0.96924, 0.96924, 0.96924, 1.1714, 0.96924, 0.95132, 0.95132, 0.95132, 0.95132, 0.8287, 0.83968, 0.89049, 0.91484, 0.91484, 0.91484, 0.91484, 0.91484, 0.91484, 0.93575, 0.92383, 0.9403, 0.9403, 0.9403, 0.9403, 0.8717, 0.8717, 0.8717, 0.8717, 1.00527, 1.01756, 1.05356, 1.05356, 1.05356, 1.05356, 1.05356, 1.24644, 0.95923, 1.01756, 1.01756, 1.01756, 1.01756, 0.96777, 1.05707, 0.96777, 0.96706, 0.91484, 0.96706, 0.91484, 0.96706, 0.91484, 0.85734, 0.92383, 0.85734, 0.92383, 0.85734, 0.92383, 0.85734, 0.92383, 0.97093, 1.0969, 0.97093, 1.05882, 0.75842, 0.9403, 0.75842, 0.9403, 0.75842, 0.9403, 0.75842, 0.9403, 0.75842, 0.9403, 0.88198, 1.05882, 0.88198, 1.05882, 0.88198, 1.05882, 1, 1, 0.9831, 1.01756, 0.9831, 1.01756, 0.95782, 0.8717, 0.95782, 0.8717, 0.95782, 0.8717, 0.95782, 1.09011, 0.95782, 0.8717, 0.84784, 1.11551, 0.71387, 1.09011, 1, 1, 0.99414, 0.84636, 1.09011, 1, 1, 0.84636, 1.0536, 0.84636, 0.94298, 0.84636, 1.23297, 1.03584, 1.01756, 1, 1, 1.03584, 1.01756, 1.00323, 1.03444, 1.01756, 0.96924, 1.05356, 0.96924, 1.05356, 0.96924, 1.05356, 0.93066, 0.98293, 0.82826, 1.04399, 1, 1, 0.82826, 1.04399, 0.79649, 0.84863, 0.79649, 0.84863, 0.79649, 0.84863, 0.79649, 0.84863, 1, 1, 0.85771, 1.17318, 0.85771, 1.21968, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.98965, 1.00068, 0.8287, 0.96777, 0.8287, 0.93365, 0.9043, 0.93365, 0.9043, 0.93365, 0.9043, 1.08571, 0.96927, 0.96706, 0.91484, 0.86035, 0.93575, 0.96924, 0.95923, 1, 1, 0.85771, 1.21968, 1.11437, 1.11437, 0.93109, 0.91202, 0.60411, 0.84164, 0.55572, 1.01173, 0.97361, 0.81818, 0.81818, 0.96635, 0.78032, 0.72727, 0.92366, 0.98601, 1.03405, 0.77968, 1.09799, 1.2, 0.96706, 0.85944, 0.85638, 0.96491, 0.75842, 0.93365, 0.9831, 0.96924, 0.95782, 0.86969, 0.94152, 1.07796, 1.03584, 0.78437, 0.96924, 0.98715, 0.83968, 0.83491, 0.85771, 0.8287, 0.94492, 0.88433, 0.9287, 1.0098, 0.95782, 0.8287, 1.0625, 0.98248, 1.03424, 1.2, 1.01071, 1.0625, 0.95246, 1.03809, 1.04912, 0.98248, 1.00221, 1.03424, 1.05443, 1.2, 1.04785, 0.99609, 1.00169, 1.05176, 0.99346, 1.05356, 0.9087, 1.03004, 0.95542, 0.93117, 1.23362, 1.01071, 1.07831, 1.02512, 1.05205, 1.03502, 1.2, 1.01071, 1.05356, 1.01071, 1.03502, 0.75842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03719, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9403, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.04021, 1, 1, 1, 1, 1, 1, 0.98965, 1.00068, 0.98965, 1.00068, 0.98965, 1.00068, 0.8287, 0.96777, 1, 1.20088, 0.89903, 1, 1, 0.75155, 1.03077, 1.03077, 1.03077, 1.03077, 1.13196, 1.13196, 1.13196, 0.67428, 0.67428, 1.16039, 0.73291, 1.20996, 1.22135, 1.06483, 0.94868, 0.94868, 0.95996, 1.24633, 1, 1.07497, 0.87796, 0.96927, 1.01518, 0.96927, 1, 1, 1, 0.77295, 1, 1, 1.10539, 1.10539, 1.11358, 1.06967, 0.86279, 0.94434, 0.86279, 0.94434, 0.86182, 1, 1, 1.083, 1, 0.91578, 0.86507, 1.1714, 1.18416, 1.14589, 0.69825, 0.97622, 1.9697, 1.24822, 1.24822, 1.17238, 1.24822, 1.24822, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1, 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18083, 1.42603, 1, 1.42603, 1.42603, 0.99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.10938, 1.10938, 1, 1, 1, 1.05425, 1.09971, 1.09971, 1.09971, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];\nexports.SegoeuiRegularFactors = SegoeuiRegularFactors;\nconst SegoeuiRegularMetrics = {\n lineHeight: 1.33008,\n lineGap: 0\n};\nexports.SegoeuiRegularMetrics = SegoeuiRegularMetrics;\n\n/***/ }),\n/* 57 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PostScriptEvaluator = exports.PostScriptCompiler = exports.PDFFunctionFactory = void 0;\nexports.isPDFFunction = isPDFFunction;\nvar _primitives = __w_pdfjs_require__(4);\nvar _util = __w_pdfjs_require__(2);\nvar _ps_parser = __w_pdfjs_require__(58);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _image_utils = __w_pdfjs_require__(59);\nclass PDFFunctionFactory {\n constructor({\n xref,\n isEvalSupported = true\n }) {\n this.xref = xref;\n this.isEvalSupported = isEvalSupported !== false;\n }\n create(fn) {\n const cachedFunction = this.getCached(fn);\n if (cachedFunction) {\n return cachedFunction;\n }\n const parsedFunction = PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn: fn instanceof _primitives.Ref ? this.xref.fetch(fn) : fn\n });\n this._cache(fn, parsedFunction);\n return parsedFunction;\n }\n createFromArray(fnObj) {\n const cachedFunction = this.getCached(fnObj);\n if (cachedFunction) {\n return cachedFunction;\n }\n const parsedFunction = PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj: fnObj instanceof _primitives.Ref ? this.xref.fetch(fnObj) : fnObj\n });\n this._cache(fnObj, parsedFunction);\n return parsedFunction;\n }\n getCached(cacheKey) {\n let fnRef;\n if (cacheKey instanceof _primitives.Ref) {\n fnRef = cacheKey;\n } else if (cacheKey instanceof _primitives.Dict) {\n fnRef = cacheKey.objId;\n } else if (cacheKey instanceof _base_stream.BaseStream) {\n fnRef = cacheKey.dict?.objId;\n }\n if (fnRef) {\n const localFunction = this._localFunctionCache.getByRef(fnRef);\n if (localFunction) {\n return localFunction;\n }\n }\n return null;\n }\n _cache(cacheKey, parsedFunction) {\n if (!parsedFunction) {\n throw new Error('PDFFunctionFactory._cache - expected \"parsedFunction\" argument.');\n }\n let fnRef;\n if (cacheKey instanceof _primitives.Ref) {\n fnRef = cacheKey;\n } else if (cacheKey instanceof _primitives.Dict) {\n fnRef = cacheKey.objId;\n } else if (cacheKey instanceof _base_stream.BaseStream) {\n fnRef = cacheKey.dict?.objId;\n }\n if (fnRef) {\n this._localFunctionCache.set(null, fnRef, parsedFunction);\n }\n }\n get _localFunctionCache() {\n return (0, _util.shadow)(this, \"_localFunctionCache\", new _image_utils.LocalFunctionCache());\n }\n}\nexports.PDFFunctionFactory = PDFFunctionFactory;\nfunction toNumberArray(arr) {\n if (!Array.isArray(arr)) {\n return null;\n }\n const length = arr.length;\n for (let i = 0; i < length; i++) {\n if (typeof arr[i] !== \"number\") {\n const result = new Array(length);\n for (let j = 0; j < length; j++) {\n result[j] = +arr[j];\n }\n return result;\n }\n }\n return arr;\n}\nclass PDFFunction {\n static getSampleArray(size, outputSize, bps, stream) {\n let i, ii;\n let length = 1;\n for (i = 0, ii = size.length; i < ii; i++) {\n length *= size[i];\n }\n length *= outputSize;\n const array = new Array(length);\n let codeSize = 0;\n let codeBuf = 0;\n const sampleMul = 1.0 / (2.0 ** bps - 1);\n const strBytes = stream.getBytes((length * bps + 7) / 8);\n let strIdx = 0;\n for (i = 0; i < length; i++) {\n while (codeSize < bps) {\n codeBuf <<= 8;\n codeBuf |= strBytes[strIdx++];\n codeSize += 8;\n }\n codeSize -= bps;\n array[i] = (codeBuf >> codeSize) * sampleMul;\n codeBuf &= (1 << codeSize) - 1;\n }\n return array;\n }\n static parse({\n xref,\n isEvalSupported,\n fn\n }) {\n const dict = fn.dict || fn;\n const typeNum = dict.get(\"FunctionType\");\n switch (typeNum) {\n case 0:\n return this.constructSampled({\n xref,\n isEvalSupported,\n fn,\n dict\n });\n case 1:\n break;\n case 2:\n return this.constructInterpolated({\n xref,\n isEvalSupported,\n dict\n });\n case 3:\n return this.constructStiched({\n xref,\n isEvalSupported,\n dict\n });\n case 4:\n return this.constructPostScript({\n xref,\n isEvalSupported,\n fn,\n dict\n });\n }\n throw new _util.FormatError(\"Unknown type of function\");\n }\n static parseArray({\n xref,\n isEvalSupported,\n fnObj\n }) {\n if (!Array.isArray(fnObj)) {\n return this.parse({\n xref,\n isEvalSupported,\n fn: fnObj\n });\n }\n const fnArray = [];\n for (const fn of fnObj) {\n fnArray.push(this.parse({\n xref,\n isEvalSupported,\n fn: xref.fetchIfRef(fn)\n }));\n }\n return function (src, srcOffset, dest, destOffset) {\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n fnArray[i](src, srcOffset, dest, destOffset + i);\n }\n };\n }\n static constructSampled({\n xref,\n isEvalSupported,\n fn,\n dict\n }) {\n function toMultiArray(arr) {\n const inputLength = arr.length;\n const out = [];\n let index = 0;\n for (let i = 0; i < inputLength; i += 2) {\n out[index++] = [arr[i], arr[i + 1]];\n }\n return out;\n }\n function interpolate(x, xmin, xmax, ymin, ymax) {\n return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n }\n let domain = toNumberArray(dict.getArray(\"Domain\"));\n let range = toNumberArray(dict.getArray(\"Range\"));\n if (!domain || !range) {\n throw new _util.FormatError(\"No domain or range\");\n }\n const inputSize = domain.length / 2;\n const outputSize = range.length / 2;\n domain = toMultiArray(domain);\n range = toMultiArray(range);\n const size = toNumberArray(dict.getArray(\"Size\"));\n const bps = dict.get(\"BitsPerSample\");\n const order = dict.get(\"Order\") || 1;\n if (order !== 1) {\n (0, _util.info)(\"No support for cubic spline interpolation: \" + order);\n }\n let encode = toNumberArray(dict.getArray(\"Encode\"));\n if (!encode) {\n encode = [];\n for (let i = 0; i < inputSize; ++i) {\n encode.push([0, size[i] - 1]);\n }\n } else {\n encode = toMultiArray(encode);\n }\n let decode = toNumberArray(dict.getArray(\"Decode\"));\n decode = !decode ? range : toMultiArray(decode);\n const samples = this.getSampleArray(size, outputSize, bps, fn);\n return function constructSampledFn(src, srcOffset, dest, destOffset) {\n const cubeVertices = 1 << inputSize;\n const cubeN = new Float64Array(cubeVertices);\n const cubeVertex = new Uint32Array(cubeVertices);\n let i, j;\n for (j = 0; j < cubeVertices; j++) {\n cubeN[j] = 1;\n }\n let k = outputSize,\n pos = 1;\n for (i = 0; i < inputSize; ++i) {\n const domain_2i = domain[i][0];\n const domain_2i_1 = domain[i][1];\n const xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n let e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n const size_i = size[i];\n e = Math.min(Math.max(e, 0), size_i - 1);\n const e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n const n0 = e0 + 1 - e;\n const n1 = e - e0;\n const offset0 = e0 * k;\n const offset1 = offset0 + k;\n for (j = 0; j < cubeVertices; j++) {\n if (j & pos) {\n cubeN[j] *= n1;\n cubeVertex[j] += offset1;\n } else {\n cubeN[j] *= n0;\n cubeVertex[j] += offset0;\n }\n }\n k *= size_i;\n pos <<= 1;\n }\n for (j = 0; j < outputSize; ++j) {\n let rj = 0;\n for (i = 0; i < cubeVertices; i++) {\n rj += samples[cubeVertex[i] + j] * cubeN[i];\n }\n rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n }\n };\n }\n static constructInterpolated({\n xref,\n isEvalSupported,\n dict\n }) {\n const c0 = toNumberArray(dict.getArray(\"C0\")) || [0];\n const c1 = toNumberArray(dict.getArray(\"C1\")) || [1];\n const n = dict.get(\"N\");\n const diff = [];\n for (let i = 0, ii = c0.length; i < ii; ++i) {\n diff.push(c1[i] - c0[i]);\n }\n const length = diff.length;\n return function constructInterpolatedFn(src, srcOffset, dest, destOffset) {\n const x = n === 1 ? src[srcOffset] : src[srcOffset] ** n;\n for (let j = 0; j < length; ++j) {\n dest[destOffset + j] = c0[j] + x * diff[j];\n }\n };\n }\n static constructStiched({\n xref,\n isEvalSupported,\n dict\n }) {\n const domain = toNumberArray(dict.getArray(\"Domain\"));\n if (!domain) {\n throw new _util.FormatError(\"No domain\");\n }\n const inputSize = domain.length / 2;\n if (inputSize !== 1) {\n throw new _util.FormatError(\"Bad domain for stiched function\");\n }\n const fns = [];\n for (const fn of dict.get(\"Functions\")) {\n fns.push(this.parse({\n xref,\n isEvalSupported,\n fn: xref.fetchIfRef(fn)\n }));\n }\n const bounds = toNumberArray(dict.getArray(\"Bounds\"));\n const encode = toNumberArray(dict.getArray(\"Encode\"));\n const tmpBuf = new Float32Array(1);\n return function constructStichedFn(src, srcOffset, dest, destOffset) {\n const clip = function constructStichedFromIRClip(v, min, max) {\n if (v > max) {\n v = max;\n } else if (v < min) {\n v = min;\n }\n return v;\n };\n const v = clip(src[srcOffset], domain[0], domain[1]);\n const length = bounds.length;\n let i;\n for (i = 0; i < length; ++i) {\n if (v < bounds[i]) {\n break;\n }\n }\n let dmin = domain[0];\n if (i > 0) {\n dmin = bounds[i - 1];\n }\n let dmax = domain[1];\n if (i < bounds.length) {\n dmax = bounds[i];\n }\n const rmin = encode[2 * i];\n const rmax = encode[2 * i + 1];\n tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n fns[i](tmpBuf, 0, dest, destOffset);\n };\n }\n static constructPostScript({\n xref,\n isEvalSupported,\n fn,\n dict\n }) {\n const domain = toNumberArray(dict.getArray(\"Domain\"));\n const range = toNumberArray(dict.getArray(\"Range\"));\n if (!domain) {\n throw new _util.FormatError(\"No domain.\");\n }\n if (!range) {\n throw new _util.FormatError(\"No range.\");\n }\n const lexer = new _ps_parser.PostScriptLexer(fn);\n const parser = new _ps_parser.PostScriptParser(lexer);\n const code = parser.parse();\n if (isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const compiled = new PostScriptCompiler().compile(code, domain, range);\n if (compiled) {\n return new Function(\"src\", \"srcOffset\", \"dest\", \"destOffset\", compiled);\n }\n }\n (0, _util.info)(\"Unable to compile PS function\");\n const numOutputs = range.length >> 1;\n const numInputs = domain.length >> 1;\n const evaluator = new PostScriptEvaluator(code);\n const cache = Object.create(null);\n const MAX_CACHE_SIZE = 2048 * 4;\n let cache_available = MAX_CACHE_SIZE;\n const tmpBuf = new Float32Array(numInputs);\n return function constructPostScriptFn(src, srcOffset, dest, destOffset) {\n let i, value;\n let key = \"\";\n const input = tmpBuf;\n for (i = 0; i < numInputs; i++) {\n value = src[srcOffset + i];\n input[i] = value;\n key += value + \"_\";\n }\n const cachedValue = cache[key];\n if (cachedValue !== undefined) {\n dest.set(cachedValue, destOffset);\n return;\n }\n const output = new Float32Array(numOutputs);\n const stack = evaluator.execute(input);\n const stackIndex = stack.length - numOutputs;\n for (i = 0; i < numOutputs; i++) {\n value = stack[stackIndex + i];\n let bound = range[i * 2];\n if (value < bound) {\n value = bound;\n } else {\n bound = range[i * 2 + 1];\n if (value > bound) {\n value = bound;\n }\n }\n output[i] = value;\n }\n if (cache_available > 0) {\n cache_available--;\n cache[key] = output;\n }\n dest.set(output, destOffset);\n };\n }\n}\nfunction isPDFFunction(v) {\n let fnDict;\n if (v instanceof _primitives.Dict) {\n fnDict = v;\n } else if (v instanceof _base_stream.BaseStream) {\n fnDict = v.dict;\n } else {\n return false;\n }\n return fnDict.has(\"FunctionType\");\n}\nclass PostScriptStack {\n static MAX_STACK_SIZE = 100;\n constructor(initialStack) {\n this.stack = initialStack ? Array.from(initialStack) : [];\n }\n push(value) {\n if (this.stack.length >= PostScriptStack.MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n this.stack.push(value);\n }\n pop() {\n if (this.stack.length <= 0) {\n throw new Error(\"PostScript function stack underflow.\");\n }\n return this.stack.pop();\n }\n copy(n) {\n if (this.stack.length + n >= PostScriptStack.MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n const stack = this.stack;\n for (let i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n stack.push(stack[i]);\n }\n }\n index(n) {\n this.push(this.stack[this.stack.length - n - 1]);\n }\n roll(n, p) {\n const stack = this.stack;\n const l = stack.length - n;\n const r = stack.length - 1;\n const c = l + (p - Math.floor(p / n) * n);\n for (let i = l, j = r; i < j; i++, j--) {\n const t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n for (let i = l, j = c - 1; i < j; i++, j--) {\n const t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n for (let i = c, j = r; i < j; i++, j--) {\n const t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n }\n}\nclass PostScriptEvaluator {\n constructor(operators) {\n this.operators = operators;\n }\n execute(initialStack) {\n const stack = new PostScriptStack(initialStack);\n let counter = 0;\n const operators = this.operators;\n const length = operators.length;\n let operator, a, b;\n while (counter < length) {\n operator = operators[counter++];\n if (typeof operator === \"number\") {\n stack.push(operator);\n continue;\n }\n switch (operator) {\n case \"jz\":\n b = stack.pop();\n a = stack.pop();\n if (!a) {\n counter = b;\n }\n break;\n case \"j\":\n a = stack.pop();\n counter = a;\n break;\n case \"abs\":\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n case \"add\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a + b);\n break;\n case \"and\":\n b = stack.pop();\n a = stack.pop();\n if (typeof a === \"boolean\" && typeof b === \"boolean\") {\n stack.push(a && b);\n } else {\n stack.push(a & b);\n }\n break;\n case \"atan\":\n b = stack.pop();\n a = stack.pop();\n a = Math.atan2(a, b) / Math.PI * 180;\n if (a < 0) {\n a += 360;\n }\n stack.push(a);\n break;\n case \"bitshift\":\n b = stack.pop();\n a = stack.pop();\n if (a > 0) {\n stack.push(a << b);\n } else {\n stack.push(a >> b);\n }\n break;\n case \"ceiling\":\n a = stack.pop();\n stack.push(Math.ceil(a));\n break;\n case \"copy\":\n a = stack.pop();\n stack.copy(a);\n break;\n case \"cos\":\n a = stack.pop();\n stack.push(Math.cos(a % 360 / 180 * Math.PI));\n break;\n case \"cvi\":\n a = stack.pop() | 0;\n stack.push(a);\n break;\n case \"cvr\":\n break;\n case \"div\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b);\n break;\n case \"dup\":\n stack.copy(1);\n break;\n case \"eq\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a === b);\n break;\n case \"exch\":\n stack.roll(2, 1);\n break;\n case \"exp\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a ** b);\n break;\n case \"false\":\n stack.push(false);\n break;\n case \"floor\":\n a = stack.pop();\n stack.push(Math.floor(a));\n break;\n case \"ge\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a >= b);\n break;\n case \"gt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a > b);\n break;\n case \"idiv\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b | 0);\n break;\n case \"index\":\n a = stack.pop();\n stack.index(a);\n break;\n case \"le\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a <= b);\n break;\n case \"ln\":\n a = stack.pop();\n stack.push(Math.log(a));\n break;\n case \"log\":\n a = stack.pop();\n stack.push(Math.log10(a));\n break;\n case \"lt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a < b);\n break;\n case \"mod\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a % b);\n break;\n case \"mul\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a * b);\n break;\n case \"ne\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a !== b);\n break;\n case \"neg\":\n a = stack.pop();\n stack.push(-a);\n break;\n case \"not\":\n a = stack.pop();\n if (typeof a === \"boolean\") {\n stack.push(!a);\n } else {\n stack.push(~a);\n }\n break;\n case \"or\":\n b = stack.pop();\n a = stack.pop();\n if (typeof a === \"boolean\" && typeof b === \"boolean\") {\n stack.push(a || b);\n } else {\n stack.push(a | b);\n }\n break;\n case \"pop\":\n stack.pop();\n break;\n case \"roll\":\n b = stack.pop();\n a = stack.pop();\n stack.roll(a, b);\n break;\n case \"round\":\n a = stack.pop();\n stack.push(Math.round(a));\n break;\n case \"sin\":\n a = stack.pop();\n stack.push(Math.sin(a % 360 / 180 * Math.PI));\n break;\n case \"sqrt\":\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n case \"sub\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a - b);\n break;\n case \"true\":\n stack.push(true);\n break;\n case \"truncate\":\n a = stack.pop();\n a = a < 0 ? Math.ceil(a) : Math.floor(a);\n stack.push(a);\n break;\n case \"xor\":\n b = stack.pop();\n a = stack.pop();\n if (typeof a === \"boolean\" && typeof b === \"boolean\") {\n stack.push(a !== b);\n } else {\n stack.push(a ^ b);\n }\n break;\n default:\n throw new _util.FormatError(`Unknown operator ${operator}`);\n }\n }\n return stack.stack;\n }\n}\nexports.PostScriptEvaluator = PostScriptEvaluator;\nclass AstNode {\n constructor(type) {\n this.type = type;\n }\n visit(visitor) {\n (0, _util.unreachable)(\"abstract method\");\n }\n}\nclass AstArgument extends AstNode {\n constructor(index, min, max) {\n super(\"args\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n visit(visitor) {\n visitor.visitArgument(this);\n }\n}\nclass AstLiteral extends AstNode {\n constructor(number) {\n super(\"literal\");\n this.number = number;\n this.min = number;\n this.max = number;\n }\n visit(visitor) {\n visitor.visitLiteral(this);\n }\n}\nclass AstBinaryOperation extends AstNode {\n constructor(op, arg1, arg2, min, max) {\n super(\"binary\");\n this.op = op;\n this.arg1 = arg1;\n this.arg2 = arg2;\n this.min = min;\n this.max = max;\n }\n visit(visitor) {\n visitor.visitBinaryOperation(this);\n }\n}\nclass AstMin extends AstNode {\n constructor(arg, max) {\n super(\"max\");\n this.arg = arg;\n this.min = arg.min;\n this.max = max;\n }\n visit(visitor) {\n visitor.visitMin(this);\n }\n}\nclass AstVariable extends AstNode {\n constructor(index, min, max) {\n super(\"var\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n visit(visitor) {\n visitor.visitVariable(this);\n }\n}\nclass AstVariableDefinition extends AstNode {\n constructor(variable, arg) {\n super(\"definition\");\n this.variable = variable;\n this.arg = arg;\n }\n visit(visitor) {\n visitor.visitVariableDefinition(this);\n }\n}\nclass ExpressionBuilderVisitor {\n constructor() {\n this.parts = [];\n }\n visitArgument(arg) {\n this.parts.push(\"Math.max(\", arg.min, \", Math.min(\", arg.max, \", src[srcOffset + \", arg.index, \"]))\");\n }\n visitVariable(variable) {\n this.parts.push(\"v\", variable.index);\n }\n visitLiteral(literal) {\n this.parts.push(literal.number);\n }\n visitBinaryOperation(operation) {\n this.parts.push(\"(\");\n operation.arg1.visit(this);\n this.parts.push(\" \", operation.op, \" \");\n operation.arg2.visit(this);\n this.parts.push(\")\");\n }\n visitVariableDefinition(definition) {\n this.parts.push(\"var \");\n definition.variable.visit(this);\n this.parts.push(\" = \");\n definition.arg.visit(this);\n this.parts.push(\";\");\n }\n visitMin(max) {\n this.parts.push(\"Math.min(\");\n max.arg.visit(this);\n this.parts.push(\", \", max.max, \")\");\n }\n toString() {\n return this.parts.join(\"\");\n }\n}\nfunction buildAddOperation(num1, num2) {\n if (num2.type === \"literal\" && num2.number === 0) {\n return num1;\n }\n if (num1.type === \"literal\" && num1.number === 0) {\n return num2;\n }\n if (num2.type === \"literal\" && num1.type === \"literal\") {\n return new AstLiteral(num1.number + num2.number);\n }\n return new AstBinaryOperation(\"+\", num1, num2, num1.min + num2.min, num1.max + num2.max);\n}\nfunction buildMulOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return new AstLiteral(0);\n } else if (num2.number === 1) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number * num2.number);\n }\n }\n if (num1.type === \"literal\") {\n if (num1.number === 0) {\n return new AstLiteral(0);\n } else if (num1.number === 1) {\n return num2;\n }\n }\n const min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n const max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n return new AstBinaryOperation(\"*\", num1, num2, min, max);\n}\nfunction buildSubOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number - num2.number);\n }\n }\n if (num2.type === \"binary\" && num2.op === \"-\" && num1.type === \"literal\" && num1.number === 1 && num2.arg1.type === \"literal\" && num2.arg1.number === 1) {\n return num2.arg2;\n }\n return new AstBinaryOperation(\"-\", num1, num2, num1.min - num2.max, num1.max - num2.min);\n}\nfunction buildMinOperation(num1, max) {\n if (num1.min >= max) {\n return new AstLiteral(max);\n } else if (num1.max <= max) {\n return num1;\n }\n return new AstMin(num1, max);\n}\nclass PostScriptCompiler {\n compile(code, domain, range) {\n const stack = [];\n const instructions = [];\n const inputSize = domain.length >> 1,\n outputSize = range.length >> 1;\n let lastRegister = 0;\n let n, j;\n let num1, num2, ast1, ast2, tmpVar, item;\n for (let i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n for (let i = 0, ii = code.length; i < ii; i++) {\n item = code[i];\n if (typeof item === \"number\") {\n stack.push(new AstLiteral(item));\n continue;\n }\n switch (item) {\n case \"add\":\n if (stack.length < 2) {\n return null;\n }\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildAddOperation(num1, num2));\n break;\n case \"cvr\":\n if (stack.length < 1) {\n return null;\n }\n break;\n case \"mul\":\n if (stack.length < 2) {\n return null;\n }\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildMulOperation(num1, num2));\n break;\n case \"sub\":\n if (stack.length < 2) {\n return null;\n }\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildSubOperation(num1, num2));\n break;\n case \"exch\":\n if (stack.length < 2) {\n return null;\n }\n ast1 = stack.pop();\n ast2 = stack.pop();\n stack.push(ast1, ast2);\n break;\n case \"pop\":\n if (stack.length < 1) {\n return null;\n }\n stack.pop();\n break;\n case \"index\":\n if (stack.length < 1) {\n return null;\n }\n num1 = stack.pop();\n if (num1.type !== \"literal\") {\n return null;\n }\n n = num1.number;\n if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n return null;\n }\n ast1 = stack[stack.length - n - 1];\n if (ast1.type === \"literal\" || ast1.type === \"var\") {\n stack.push(ast1);\n break;\n }\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - n - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n case \"dup\":\n if (stack.length < 1) {\n return null;\n }\n if (typeof code[i + 1] === \"number\" && code[i + 2] === \"gt\" && code[i + 3] === i + 7 && code[i + 4] === \"jz\" && code[i + 5] === \"pop\" && code[i + 6] === code[i + 1]) {\n num1 = stack.pop();\n stack.push(buildMinOperation(num1, code[i + 1]));\n i += 6;\n break;\n }\n ast1 = stack.at(-1);\n if (ast1.type === \"literal\" || ast1.type === \"var\") {\n stack.push(ast1);\n break;\n }\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n case \"roll\":\n if (stack.length < 2) {\n return null;\n }\n num2 = stack.pop();\n num1 = stack.pop();\n if (num2.type !== \"literal\" || num1.type !== \"literal\") {\n return null;\n }\n j = num2.number;\n n = num1.number;\n if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n return null;\n }\n j = (j % n + n) % n;\n if (j === 0) {\n break;\n }\n stack.push(...stack.splice(stack.length - n, n - j));\n break;\n default:\n return null;\n }\n }\n if (stack.length !== outputSize) {\n return null;\n }\n const result = [];\n for (const instruction of instructions) {\n const statementBuilder = new ExpressionBuilderVisitor();\n instruction.visit(statementBuilder);\n result.push(statementBuilder.toString());\n }\n for (let i = 0, ii = stack.length; i < ii; i++) {\n const expr = stack[i],\n statementBuilder = new ExpressionBuilderVisitor();\n expr.visit(statementBuilder);\n const min = range[i * 2],\n max = range[i * 2 + 1];\n const out = [statementBuilder.toString()];\n if (min > expr.min) {\n out.unshift(\"Math.max(\", min, \", \");\n out.push(\")\");\n }\n if (max < expr.max) {\n out.unshift(\"Math.min(\", max, \", \");\n out.push(\")\");\n }\n out.unshift(\"dest[destOffset + \", i, \"] = \");\n out.push(\";\");\n result.push(out.join(\"\"));\n }\n return result.join(\"\\n\");\n }\n}\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 58 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _core_utils = __w_pdfjs_require__(3);\nclass PostScriptParser {\n constructor(lexer) {\n this.lexer = lexer;\n this.operators = [];\n this.token = null;\n this.prev = null;\n }\n nextToken() {\n this.prev = this.token;\n this.token = this.lexer.getToken();\n }\n accept(type) {\n if (this.token.type === type) {\n this.nextToken();\n return true;\n }\n return false;\n }\n expect(type) {\n if (this.accept(type)) {\n return true;\n }\n throw new _util.FormatError(`Unexpected symbol: found ${this.token.type} expected ${type}.`);\n }\n parse() {\n this.nextToken();\n this.expect(PostScriptTokenTypes.LBRACE);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n return this.operators;\n }\n parseBlock() {\n while (true) {\n if (this.accept(PostScriptTokenTypes.NUMBER)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n this.parseCondition();\n } else {\n return;\n }\n }\n }\n parseCondition() {\n const conditionLocation = this.operators.length;\n this.operators.push(null, null);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n if (this.accept(PostScriptTokenTypes.IF)) {\n this.operators[conditionLocation] = this.operators.length;\n this.operators[conditionLocation + 1] = \"jz\";\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n const jumpLocation = this.operators.length;\n this.operators.push(null, null);\n const endOfTrue = this.operators.length;\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n this.expect(PostScriptTokenTypes.IFELSE);\n this.operators[jumpLocation] = this.operators.length;\n this.operators[jumpLocation + 1] = \"j\";\n this.operators[conditionLocation] = endOfTrue;\n this.operators[conditionLocation + 1] = \"jz\";\n } else {\n throw new _util.FormatError(\"PS Function: error parsing conditional.\");\n }\n }\n}\nexports.PostScriptParser = PostScriptParser;\nconst PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n};\nclass PostScriptToken {\n static get opCache() {\n return (0, _util.shadow)(this, \"opCache\", Object.create(null));\n }\n constructor(type, value) {\n this.type = type;\n this.value = value;\n }\n static getOperator(op) {\n return PostScriptToken.opCache[op] ||= new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n }\n static get LBRACE() {\n return (0, _util.shadow)(this, \"LBRACE\", new PostScriptToken(PostScriptTokenTypes.LBRACE, \"{\"));\n }\n static get RBRACE() {\n return (0, _util.shadow)(this, \"RBRACE\", new PostScriptToken(PostScriptTokenTypes.RBRACE, \"}\"));\n }\n static get IF() {\n return (0, _util.shadow)(this, \"IF\", new PostScriptToken(PostScriptTokenTypes.IF, \"IF\"));\n }\n static get IFELSE() {\n return (0, _util.shadow)(this, \"IFELSE\", new PostScriptToken(PostScriptTokenTypes.IFELSE, \"IFELSE\"));\n }\n}\nclass PostScriptLexer {\n constructor(stream) {\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n }\n nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n getToken() {\n let comment = false;\n let ch = this.currentChar;\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n break;\n }\n ch = this.nextChar();\n }\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2b:\n case 0x2d:\n case 0x2e:\n return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n case 0x7b:\n this.nextChar();\n return PostScriptToken.LBRACE;\n case 0x7d:\n this.nextChar();\n return PostScriptToken.RBRACE;\n }\n const strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5a || ch >= 0x61 && ch <= 0x7a)) {\n strBuf.push(String.fromCharCode(ch));\n }\n const str = strBuf.join(\"\");\n switch (str.toLowerCase()) {\n case \"if\":\n return PostScriptToken.IF;\n case \"ifelse\":\n return PostScriptToken.IFELSE;\n default:\n return PostScriptToken.getOperator(str);\n }\n }\n getNumber() {\n let ch = this.currentChar;\n const strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39 || ch === 0x2d || ch === 0x2e) {\n strBuf.push(String.fromCharCode(ch));\n } else {\n break;\n }\n }\n const value = parseFloat(strBuf.join(\"\"));\n if (isNaN(value)) {\n throw new _util.FormatError(`Invalid floating point number: ${value}`);\n }\n return value;\n }\n}\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 59 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RegionalImageCache = exports.LocalTilingPatternCache = exports.LocalImageCache = exports.LocalGStateCache = exports.LocalFunctionCache = exports.LocalColorSpaceCache = exports.GlobalImageCache = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nclass BaseLocalCache {\n constructor(options) {\n if (this.constructor === BaseLocalCache) {\n (0, _util.unreachable)(\"Cannot initialize BaseLocalCache.\");\n }\n this._onlyRefs = options?.onlyRefs === true;\n if (!this._onlyRefs) {\n this._nameRefMap = new Map();\n this._imageMap = new Map();\n }\n this._imageCache = new _primitives.RefSetCache();\n }\n getByName(name) {\n if (this._onlyRefs) {\n (0, _util.unreachable)(\"Should not call `getByName` method.\");\n }\n const ref = this._nameRefMap.get(name);\n if (ref) {\n return this.getByRef(ref);\n }\n return this._imageMap.get(name) || null;\n }\n getByRef(ref) {\n return this._imageCache.get(ref) || null;\n }\n set(name, ref, data) {\n (0, _util.unreachable)(\"Abstract method `set` called.\");\n }\n}\nclass LocalImageCache extends BaseLocalCache {\n set(name, ref = null, data) {\n if (typeof name !== \"string\") {\n throw new Error('LocalImageCache.set - expected \"name\" argument.');\n }\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n this._nameRefMap.set(name, ref);\n this._imageCache.put(ref, data);\n return;\n }\n if (this._imageMap.has(name)) {\n return;\n }\n this._imageMap.set(name, data);\n }\n}\nexports.LocalImageCache = LocalImageCache;\nclass LocalColorSpaceCache extends BaseLocalCache {\n set(name = null, ref = null, data) {\n if (typeof name !== \"string\" && !ref) {\n throw new Error('LocalColorSpaceCache.set - expected \"name\" and/or \"ref\" argument.');\n }\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n if (name !== null) {\n this._nameRefMap.set(name, ref);\n }\n this._imageCache.put(ref, data);\n return;\n }\n if (this._imageMap.has(name)) {\n return;\n }\n this._imageMap.set(name, data);\n }\n}\nexports.LocalColorSpaceCache = LocalColorSpaceCache;\nclass LocalFunctionCache extends BaseLocalCache {\n constructor(options) {\n super({\n onlyRefs: true\n });\n }\n set(name = null, ref, data) {\n if (!ref) {\n throw new Error('LocalFunctionCache.set - expected \"ref\" argument.');\n }\n if (this._imageCache.has(ref)) {\n return;\n }\n this._imageCache.put(ref, data);\n }\n}\nexports.LocalFunctionCache = LocalFunctionCache;\nclass LocalGStateCache extends BaseLocalCache {\n set(name, ref = null, data) {\n if (typeof name !== \"string\") {\n throw new Error('LocalGStateCache.set - expected \"name\" argument.');\n }\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n this._nameRefMap.set(name, ref);\n this._imageCache.put(ref, data);\n return;\n }\n if (this._imageMap.has(name)) {\n return;\n }\n this._imageMap.set(name, data);\n }\n}\nexports.LocalGStateCache = LocalGStateCache;\nclass LocalTilingPatternCache extends BaseLocalCache {\n constructor(options) {\n super({\n onlyRefs: true\n });\n }\n set(name = null, ref, data) {\n if (!ref) {\n throw new Error('LocalTilingPatternCache.set - expected \"ref\" argument.');\n }\n if (this._imageCache.has(ref)) {\n return;\n }\n this._imageCache.put(ref, data);\n }\n}\nexports.LocalTilingPatternCache = LocalTilingPatternCache;\nclass RegionalImageCache extends BaseLocalCache {\n constructor(options) {\n super({\n onlyRefs: true\n });\n }\n set(name = null, ref, data) {\n if (!ref) {\n throw new Error('RegionalImageCache.set - expected \"ref\" argument.');\n }\n if (this._imageCache.has(ref)) {\n return;\n }\n this._imageCache.put(ref, data);\n }\n}\nexports.RegionalImageCache = RegionalImageCache;\nclass GlobalImageCache {\n static NUM_PAGES_THRESHOLD = 2;\n static MIN_IMAGES_TO_CACHE = 10;\n static MAX_BYTE_SIZE = 5 * _util.MAX_IMAGE_SIZE_TO_CACHE;\n constructor() {\n this._refCache = new _primitives.RefSetCache();\n this._imageCache = new _primitives.RefSetCache();\n }\n get _byteSize() {\n let byteSize = 0;\n for (const imageData of this._imageCache) {\n byteSize += imageData.byteSize;\n }\n return byteSize;\n }\n get _cacheLimitReached() {\n if (this._imageCache.size < GlobalImageCache.MIN_IMAGES_TO_CACHE) {\n return false;\n }\n if (this._byteSize < GlobalImageCache.MAX_BYTE_SIZE) {\n return false;\n }\n return true;\n }\n shouldCache(ref, pageIndex) {\n let pageIndexSet = this._refCache.get(ref);\n if (!pageIndexSet) {\n pageIndexSet = new Set();\n this._refCache.put(ref, pageIndexSet);\n }\n pageIndexSet.add(pageIndex);\n if (pageIndexSet.size < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return false;\n }\n if (!this._imageCache.has(ref) && this._cacheLimitReached) {\n return false;\n }\n return true;\n }\n addByteSize(ref, byteSize) {\n const imageData = this._imageCache.get(ref);\n if (!imageData) {\n return;\n }\n if (imageData.byteSize) {\n return;\n }\n imageData.byteSize = byteSize;\n }\n getData(ref, pageIndex) {\n const pageIndexSet = this._refCache.get(ref);\n if (!pageIndexSet) {\n return null;\n }\n if (pageIndexSet.size < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return null;\n }\n const imageData = this._imageCache.get(ref);\n if (!imageData) {\n return null;\n }\n pageIndexSet.add(pageIndex);\n return imageData;\n }\n setData(ref, data) {\n if (!this._refCache.has(ref)) {\n throw new Error('GlobalImageCache.setData - expected \"shouldCache\" to have been called.');\n }\n if (this._imageCache.has(ref)) {\n return;\n }\n if (this._cacheLimitReached) {\n (0, _util.warn)(\"GlobalImageCache.setData - cache limit reached.\");\n return;\n }\n this._imageCache.put(ref, data);\n }\n clear(onlyData = false) {\n if (!onlyData) {\n this._refCache.clear();\n }\n this._imageCache.clear();\n }\n}\nexports.GlobalImageCache = GlobalImageCache;\n\n/***/ }),\n/* 60 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.bidi = bidi;\nvar _util = __w_pdfjs_require__(2);\nconst baseTypes = [\"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"S\", \"B\", \"S\", \"WS\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"B\", \"B\", \"S\", \"WS\", \"ON\", \"ON\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ES\", \"CS\", \"ES\", \"CS\", \"CS\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"CS\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"CS\", \"ON\", \"ET\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"ON\", \"ON\", \"BN\", \"ON\", \"ON\", \"ET\", \"ET\", \"EN\", \"EN\", \"ON\", \"L\", \"ON\", \"ON\", \"ON\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\"];\nconst arabicTypes = [\"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ON\", \"ON\", \"AL\", \"ET\", \"ET\", \"AL\", \"CS\", \"AL\", \"ON\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ET\", \"AN\", \"AN\", \"AL\", \"AL\", \"AL\", \"NSM\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\"];\nfunction isOdd(i) {\n return (i & 1) !== 0;\n}\nfunction isEven(i) {\n return (i & 1) === 0;\n}\nfunction findUnequal(arr, start, value) {\n let j, jj;\n for (j = start, jj = arr.length; j < jj; ++j) {\n if (arr[j] !== value) {\n return j;\n }\n }\n return j;\n}\nfunction setValues(arr, start, end, value) {\n for (let j = start; j < end; ++j) {\n arr[j] = value;\n }\n}\nfunction reverseValues(arr, start, end) {\n for (let i = start, j = end - 1; i < j; ++i, --j) {\n const temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n}\nfunction createBidiText(str, isLTR, vertical = false) {\n let dir = \"ltr\";\n if (vertical) {\n dir = \"ttb\";\n } else if (!isLTR) {\n dir = \"rtl\";\n }\n return {\n str,\n dir\n };\n}\nconst chars = [];\nconst types = [];\nfunction bidi(str, startLevel = -1, vertical = false) {\n let isLTR = true;\n const strLength = str.length;\n if (strLength === 0 || vertical) {\n return createBidiText(str, isLTR, vertical);\n }\n chars.length = strLength;\n types.length = strLength;\n let numBidi = 0;\n let i, ii;\n for (i = 0; i < strLength; ++i) {\n chars[i] = str.charAt(i);\n const charCode = str.charCodeAt(i);\n let charType = \"L\";\n if (charCode <= 0x00ff) {\n charType = baseTypes[charCode];\n } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n charType = \"R\";\n } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n charType = arabicTypes[charCode & 0xff];\n if (!charType) {\n (0, _util.warn)(\"Bidi: invalid Unicode character \" + charCode.toString(16));\n }\n } else if (0x0700 <= charCode && charCode <= 0x08ac || 0xfb50 <= charCode && charCode <= 0xfdff || 0xfe70 <= charCode && charCode <= 0xfeff) {\n charType = \"AL\";\n }\n if (charType === \"R\" || charType === \"AL\" || charType === \"AN\") {\n numBidi++;\n }\n types[i] = charType;\n }\n if (numBidi === 0) {\n isLTR = true;\n return createBidiText(str, isLTR);\n }\n if (startLevel === -1) {\n if (numBidi / strLength < 0.3 && strLength > 4) {\n isLTR = true;\n startLevel = 0;\n } else {\n isLTR = false;\n startLevel = 1;\n }\n }\n const levels = [];\n for (i = 0; i < strLength; ++i) {\n levels[i] = startLevel;\n }\n const e = isOdd(startLevel) ? \"R\" : \"L\";\n const sor = e;\n const eor = sor;\n let lastType = sor;\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"NSM\") {\n types[i] = lastType;\n } else {\n lastType = types[i];\n }\n }\n lastType = sor;\n let t;\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n if (t === \"EN\") {\n types[i] = lastType === \"AL\" ? \"AN\" : \"EN\";\n } else if (t === \"R\" || t === \"L\" || t === \"AL\") {\n lastType = t;\n }\n }\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n if (t === \"AL\") {\n types[i] = \"R\";\n }\n }\n for (i = 1; i < strLength - 1; ++i) {\n if (types[i] === \"ES\" && types[i - 1] === \"EN\" && types[i + 1] === \"EN\") {\n types[i] = \"EN\";\n }\n if (types[i] === \"CS\" && (types[i - 1] === \"EN\" || types[i - 1] === \"AN\") && types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"EN\") {\n for (let j = i - 1; j >= 0; --j) {\n if (types[j] !== \"ET\") {\n break;\n }\n types[j] = \"EN\";\n }\n for (let j = i + 1; j < strLength; ++j) {\n if (types[j] !== \"ET\") {\n break;\n }\n types[j] = \"EN\";\n }\n }\n }\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n if (t === \"WS\" || t === \"ES\" || t === \"ET\" || t === \"CS\") {\n types[i] = \"ON\";\n }\n }\n lastType = sor;\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n if (t === \"EN\") {\n types[i] = lastType === \"L\" ? \"L\" : \"EN\";\n } else if (t === \"R\" || t === \"L\") {\n lastType = t;\n }\n }\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n const end = findUnequal(types, i + 1, \"ON\");\n let before = sor;\n if (i > 0) {\n before = types[i - 1];\n }\n let after = eor;\n if (end + 1 < strLength) {\n after = types[end + 1];\n }\n if (before !== \"L\") {\n before = \"R\";\n }\n if (after !== \"L\") {\n after = \"R\";\n }\n if (before === after) {\n setValues(types, i, end, before);\n }\n i = end - 1;\n }\n }\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n types[i] = e;\n }\n }\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n if (isEven(levels[i])) {\n if (t === \"R\") {\n levels[i] += 1;\n } else if (t === \"AN\" || t === \"EN\") {\n levels[i] += 2;\n }\n } else if (t === \"L\" || t === \"AN\" || t === \"EN\") {\n levels[i] += 1;\n }\n }\n let highestLevel = -1;\n let lowestOddLevel = 99;\n let level;\n for (i = 0, ii = levels.length; i < ii; ++i) {\n level = levels[i];\n if (highestLevel < level) {\n highestLevel = level;\n }\n if (lowestOddLevel > level && isOdd(level)) {\n lowestOddLevel = level;\n }\n }\n for (level = highestLevel; level >= lowestOddLevel; --level) {\n let start = -1;\n for (i = 0, ii = levels.length; i < ii; ++i) {\n if (levels[i] < level) {\n if (start >= 0) {\n reverseValues(chars, start, i);\n start = -1;\n }\n } else if (start < 0) {\n start = i;\n }\n }\n if (start >= 0) {\n reverseValues(chars, start, levels.length);\n }\n }\n for (i = 0, ii = chars.length; i < ii; ++i) {\n const ch = chars[i];\n if (ch === \"<\" || ch === \">\") {\n chars[i] = \"\";\n }\n }\n return createBidiText(chars.join(\"\"), isLTR);\n}\n\n/***/ }),\n/* 61 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFontSubstitution = getFontSubstitution;\nvar _fonts_utils = __w_pdfjs_require__(38);\nvar _core_utils = __w_pdfjs_require__(3);\nconst NORMAL = {\n style: \"normal\",\n weight: \"normal\"\n};\nconst BOLD = {\n style: \"normal\",\n weight: \"bold\"\n};\nconst ITALIC = {\n style: \"italic\",\n weight: \"normal\"\n};\nconst BOLDITALIC = {\n style: \"italic\",\n weight: \"bold\"\n};\nconst substitutionMap = new Map([[\"Times-Roman\", {\n local: [\"Times New Roman\", \"Times-Roman\", \"Times\", \"Liberation Serif\", \"Nimbus Roman\", \"Nimbus Roman L\", \"Tinos\", \"Thorndale\", \"TeX Gyre Termes\", \"FreeSerif\", \"DejaVu Serif\", \"Bitstream Vera Serif\", \"Ubuntu\"],\n style: NORMAL,\n ultimate: \"serif\"\n}], [\"Times-Bold\", {\n alias: \"Times-Roman\",\n style: BOLD,\n ultimate: \"serif\"\n}], [\"Times-Italic\", {\n alias: \"Times-Roman\",\n style: ITALIC,\n ultimate: \"serif\"\n}], [\"Times-BoldItalic\", {\n alias: \"Times-Roman\",\n style: BOLDITALIC,\n ultimate: \"serif\"\n}], [\"Helvetica\", {\n local: [\"Helvetica\", \"Helvetica Neue\", \"Arial\", \"Arial Nova\", \"Liberation Sans\", \"Arimo\", \"Nimbus Sans\", \"Nimbus Sans L\", \"A030\", \"TeX Gyre Heros\", \"FreeSans\", \"DejaVu Sans\", \"Albany\", \"Bitstream Vera Sans\", \"Arial Unicode MS\", \"Microsoft Sans Serif\", \"Apple Symbols\", \"Cantarell\"],\n path: \"LiberationSans-Regular.ttf\",\n style: NORMAL,\n ultimate: \"sans-serif\"\n}], [\"Helvetica-Bold\", {\n alias: \"Helvetica\",\n path: \"LiberationSans-Bold.ttf\",\n style: BOLD,\n ultimate: \"sans-serif\"\n}], [\"Helvetica-Oblique\", {\n alias: \"Helvetica\",\n path: \"LiberationSans-Italic.ttf\",\n style: ITALIC,\n ultimate: \"sans-serif\"\n}], [\"Helvetica-BoldOblique\", {\n alias: \"Helvetica\",\n path: \"LiberationSans-BoldItalic.ttf\",\n style: BOLDITALIC,\n ultimate: \"sans-serif\"\n}], [\"Courier\", {\n local: [\"Courier\", \"Courier New\", \"Liberation Mono\", \"Nimbus Mono\", \"Nimbus Mono L\", \"Cousine\", \"Cumberland\", \"TeX Gyre Cursor\", \"FreeMono\"],\n style: NORMAL,\n ultimate: \"monospace\"\n}], [\"Courier-Bold\", {\n alias: \"Courier\",\n style: BOLD,\n ultimate: \"monospace\"\n}], [\"Courier-Oblique\", {\n alias: \"Courier\",\n style: ITALIC,\n ultimate: \"monospace\"\n}], [\"Courier-BoldOblique\", {\n alias: \"Courier\",\n style: BOLDITALIC,\n ultimate: \"monospace\"\n}], [\"ArialBlack\", {\n local: [\"Arial Black\"],\n style: {\n style: \"normal\",\n weight: \"900\"\n },\n fallback: \"Helvetica-Bold\"\n}], [\"ArialBlack-Bold\", {\n alias: \"ArialBlack\"\n}], [\"ArialBlack-Italic\", {\n alias: \"ArialBlack\",\n style: {\n style: \"italic\",\n weight: \"900\"\n },\n fallback: \"Helvetica-BoldOblique\"\n}], [\"ArialBlack-BoldItalic\", {\n alias: \"ArialBlack-Italic\"\n}], [\"ArialNarrow\", {\n local: [\"Arial Narrow\", \"Liberation Sans Narrow\", \"Helvetica Condensed\", \"Nimbus Sans Narrow\", \"TeX Gyre Heros Cn\"],\n style: NORMAL,\n fallback: \"Helvetica\"\n}], [\"ArialNarrow-Bold\", {\n alias: \"ArialNarrow\",\n style: BOLD,\n fallback: \"Helvetica-Bold\"\n}], [\"ArialNarrow-Italic\", {\n alias: \"ArialNarrow\",\n style: ITALIC,\n fallback: \"Helvetica-Oblique\"\n}], [\"ArialNarrow-BoldItalic\", {\n alias: \"ArialNarrow\",\n style: BOLDITALIC,\n fallback: \"Helvetica-BoldOblique\"\n}], [\"Calibri\", {\n local: [\"Calibri\", \"Carlito\"],\n style: NORMAL,\n fallback: \"Helvetica\"\n}], [\"Calibri-Bold\", {\n alias: \"Calibri\",\n style: BOLD,\n fallback: \"Helvetica-Bold\"\n}], [\"Calibri-Italic\", {\n alias: \"Calibri\",\n style: ITALIC,\n fallback: \"Helvetica-Oblique\"\n}], [\"Calibri-BoldItalic\", {\n alias: \"Calibri\",\n style: BOLDITALIC,\n fallback: \"Helvetica-BoldOblique\"\n}], [\"Wingdings\", {\n local: [\"Wingdings\", \"URW Dingbats\"],\n style: NORMAL\n}], [\"Wingdings-Regular\", {\n alias: \"Wingdings\"\n}], [\"Wingdings-Bold\", {\n alias: \"Wingdings\"\n}]]);\nconst fontAliases = new Map([[\"Arial-Black\", \"ArialBlack\"]]);\nfunction getStyleToAppend(style) {\n switch (style) {\n case BOLD:\n return \"Bold\";\n case ITALIC:\n return \"Italic\";\n case BOLDITALIC:\n return \"Bold Italic\";\n default:\n if (style?.weight === \"bold\") {\n return \"Bold\";\n }\n if (style?.style === \"italic\") {\n return \"Italic\";\n }\n }\n return \"\";\n}\nfunction generateFont({\n alias,\n local,\n path,\n fallback,\n style,\n ultimate\n}, src, localFontPath, useFallback = true, usePath = true, append = \"\") {\n const result = {\n style: null,\n ultimate: null\n };\n if (local) {\n const extra = append ? ` ${append}` : \"\";\n for (const name of local) {\n src.push(`local(${name}${extra})`);\n }\n }\n if (alias) {\n const substitution = substitutionMap.get(alias);\n const aliasAppend = append || getStyleToAppend(style);\n Object.assign(result, generateFont(substitution, src, localFontPath, useFallback && !fallback, usePath && !path, aliasAppend));\n }\n if (style) {\n result.style = style;\n }\n if (ultimate) {\n result.ultimate = ultimate;\n }\n if (useFallback && fallback) {\n const fallbackInfo = substitutionMap.get(fallback);\n const {\n ultimate: fallbackUltimate\n } = generateFont(fallbackInfo, src, localFontPath, useFallback, usePath && !path, append);\n result.ultimate ||= fallbackUltimate;\n }\n if (usePath && path && localFontPath) {\n src.push(`url(${localFontPath}${path})`);\n }\n return result;\n}\nfunction getFontSubstitution(systemFontCache, idFactory, localFontPath, baseFontName, standardFontName) {\n baseFontName = (0, _fonts_utils.normalizeFontName)(baseFontName);\n const key = baseFontName;\n let substitutionInfo = systemFontCache.get(key);\n if (substitutionInfo) {\n return substitutionInfo;\n }\n let substitution = substitutionMap.get(baseFontName);\n if (!substitution) {\n for (const [alias, subst] of fontAliases) {\n if (baseFontName.startsWith(alias)) {\n baseFontName = `${subst}${baseFontName.substring(alias.length)}`;\n substitution = substitutionMap.get(baseFontName);\n break;\n }\n }\n }\n let mustAddBaseFont = false;\n if (!substitution) {\n substitution = substitutionMap.get(standardFontName);\n mustAddBaseFont = true;\n }\n const loadedName = `${idFactory.getDocId()}_s${idFactory.createFontId()}`;\n if (!substitution) {\n if (!(0, _core_utils.validateFontName)(baseFontName)) {\n systemFontCache.set(key, null);\n return null;\n }\n const bold = /bold/gi.test(baseFontName);\n const italic = /oblique|italic/gi.test(baseFontName);\n const style = bold && italic && BOLDITALIC || bold && BOLD || italic && ITALIC || NORMAL;\n substitutionInfo = {\n css: loadedName,\n guessFallback: true,\n loadedName,\n baseFontName,\n src: `local(${baseFontName})`,\n style\n };\n systemFontCache.set(key, substitutionInfo);\n return substitutionInfo;\n }\n const src = [];\n if (mustAddBaseFont && (0, _core_utils.validateFontName)(baseFontName)) {\n src.push(`local(${baseFontName})`);\n }\n const {\n style,\n ultimate\n } = generateFont(substitution, src, localFontPath);\n const guessFallback = ultimate === null;\n const fallback = guessFallback ? \"\" : `,${ultimate}`;\n substitutionInfo = {\n css: `${loadedName}${fallback}`,\n guessFallback,\n loadedName,\n baseFontName,\n src: src.join(\",\"),\n style\n };\n systemFontCache.set(key, substitutionInfo);\n return substitutionInfo;\n}\n\n/***/ }),\n/* 62 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ImageResizer = void 0;\nvar _util = __w_pdfjs_require__(2);\nconst MIN_IMAGE_DIM = 2048;\nconst MAX_IMAGE_DIM = 65537;\nconst MAX_ERROR = 128;\nclass ImageResizer {\n constructor(imgData, isMask) {\n this._imgData = imgData;\n this._isMask = isMask;\n }\n static needsToBeResized(width, height) {\n if (width <= this._goodSquareLength && height <= this._goodSquareLength) {\n return false;\n }\n const {\n MAX_DIM\n } = this;\n if (width > MAX_DIM || height > MAX_DIM) {\n return true;\n }\n const area = width * height;\n if (this._hasMaxArea) {\n return area > this.MAX_AREA;\n }\n if (area < this._goodSquareLength ** 2) {\n return false;\n }\n if (this._areGoodDims(width, height)) {\n this._goodSquareLength = Math.max(this._goodSquareLength, Math.floor(Math.sqrt(width * height)));\n return false;\n }\n this._goodSquareLength = this._guessMax(this._goodSquareLength, MAX_DIM, MAX_ERROR, 0);\n const maxArea = this.MAX_AREA = this._goodSquareLength ** 2;\n return area > maxArea;\n }\n static get MAX_DIM() {\n return (0, _util.shadow)(this, \"MAX_DIM\", this._guessMax(MIN_IMAGE_DIM, MAX_IMAGE_DIM, 0, 1));\n }\n static get MAX_AREA() {\n this._hasMaxArea = true;\n return (0, _util.shadow)(this, \"MAX_AREA\", this._guessMax(ImageResizer._goodSquareLength, this.MAX_DIM, MAX_ERROR, 0) ** 2);\n }\n static set MAX_AREA(area) {\n if (area >= 0) {\n this._hasMaxArea = true;\n (0, _util.shadow)(this, \"MAX_AREA\", area);\n }\n }\n static setMaxArea(area) {\n if (!this._hasMaxArea) {\n this.MAX_AREA = area >> 2;\n }\n }\n static _areGoodDims(width, height) {\n try {\n const canvas = new OffscreenCanvas(width, height);\n const ctx = canvas.getContext(\"2d\");\n ctx.fillRect(0, 0, 1, 1);\n const opacity = ctx.getImageData(0, 0, 1, 1).data[3];\n canvas.width = canvas.height = 1;\n return opacity !== 0;\n } catch {\n return false;\n }\n }\n static _guessMax(start, end, tolerance, defaultHeight) {\n while (start + tolerance + 1 < end) {\n const middle = Math.floor((start + end) / 2);\n const height = defaultHeight || middle;\n if (this._areGoodDims(middle, height)) {\n start = middle;\n } else {\n end = middle;\n }\n }\n return start;\n }\n static async createImage(imgData, isMask = false) {\n return new ImageResizer(imgData, isMask)._createImage();\n }\n async _createImage() {\n const data = this._encodeBMP();\n const blob = new Blob([data.buffer], {\n type: \"image/bmp\"\n });\n const bitmapPromise = createImageBitmap(blob);\n const {\n MAX_AREA,\n MAX_DIM\n } = ImageResizer;\n const {\n _imgData: imgData\n } = this;\n const {\n width,\n height\n } = imgData;\n const minFactor = Math.max(width / MAX_DIM, height / MAX_DIM, Math.sqrt(width * height / MAX_AREA));\n const firstFactor = Math.max(minFactor, 2);\n const factor = Math.round(10 * (minFactor + 1.25)) / 10 / firstFactor;\n const N = Math.floor(Math.log2(factor));\n const steps = new Array(N + 2).fill(2);\n steps[0] = firstFactor;\n steps.splice(-1, 1, factor / (1 << N));\n let newWidth = width;\n let newHeight = height;\n let bitmap = await bitmapPromise;\n for (const step of steps) {\n const prevWidth = newWidth;\n const prevHeight = newHeight;\n newWidth = Math.floor(newWidth / step) - 1;\n newHeight = Math.floor(newHeight / step) - 1;\n const canvas = new OffscreenCanvas(newWidth, newHeight);\n const ctx = canvas.getContext(\"2d\");\n ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight);\n bitmap = canvas.transferToImageBitmap();\n }\n imgData.data = null;\n imgData.bitmap = bitmap;\n imgData.width = newWidth;\n imgData.height = newHeight;\n return imgData;\n }\n _encodeBMP() {\n const {\n width,\n height,\n kind\n } = this._imgData;\n let data = this._imgData.data;\n let bitPerPixel;\n let colorTable = new Uint8Array(0);\n let maskTable = colorTable;\n let compression = 0;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n {\n bitPerPixel = 1;\n colorTable = new Uint8Array(this._isMask ? [255, 255, 255, 255, 0, 0, 0, 0] : [0, 0, 0, 0, 255, 255, 255, 255]);\n const rowLen = width + 7 >> 3;\n const rowSize = rowLen + 3 & -4;\n if (rowLen !== rowSize) {\n const newData = new Uint8Array(rowSize * height);\n let k = 0;\n for (let i = 0, ii = height * rowLen; i < ii; i += rowLen, k += rowSize) {\n newData.set(data.subarray(i, i + rowLen), k);\n }\n data = newData;\n }\n break;\n }\n case _util.ImageKind.RGB_24BPP:\n {\n bitPerPixel = 24;\n if (width & 3) {\n const rowLen = 3 * width;\n const rowSize = rowLen + 3 & -4;\n const extraLen = rowSize - rowLen;\n const newData = new Uint8Array(rowSize * height);\n let k = 0;\n for (let i = 0, ii = height * rowLen; i < ii; i += rowLen) {\n const row = data.subarray(i, i + rowLen);\n for (let j = 0; j < rowLen; j += 3) {\n newData[k++] = row[j + 2];\n newData[k++] = row[j + 1];\n newData[k++] = row[j];\n }\n k += extraLen;\n }\n data = newData;\n } else {\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const tmp = data[i];\n data[i] = data[i + 2];\n data[i + 2] = tmp;\n }\n }\n break;\n }\n case _util.ImageKind.RGBA_32BPP:\n bitPerPixel = 32;\n compression = 3;\n maskTable = new Uint8Array(4 + 4 + 4 + 4 + 52);\n const view = new DataView(maskTable.buffer);\n if (_util.FeatureTest.isLittleEndian) {\n view.setUint32(0, 0x000000ff, true);\n view.setUint32(4, 0x0000ff00, true);\n view.setUint32(8, 0x00ff0000, true);\n view.setUint32(12, 0xff000000, true);\n } else {\n view.setUint32(0, 0xff000000, true);\n view.setUint32(4, 0x00ff0000, true);\n view.setUint32(8, 0x0000ff00, true);\n view.setUint32(12, 0x000000ff, true);\n }\n break;\n default:\n throw new Error(\"invalid format\");\n }\n let i = 0;\n const headerLength = 40 + maskTable.length;\n const fileLength = 14 + headerLength + colorTable.length + data.length;\n const bmpData = new Uint8Array(fileLength);\n const view = new DataView(bmpData.buffer);\n view.setUint16(i, 0x4d42, true);\n i += 2;\n view.setUint32(i, fileLength, true);\n i += 4;\n view.setUint32(i, 0, true);\n i += 4;\n view.setUint32(i, 14 + headerLength + colorTable.length, true);\n i += 4;\n view.setUint32(i, headerLength, true);\n i += 4;\n view.setInt32(i, width, true);\n i += 4;\n view.setInt32(i, -height, true);\n i += 4;\n view.setUint16(i, 1, true);\n i += 2;\n view.setUint16(i, bitPerPixel, true);\n i += 2;\n view.setUint32(i, compression, true);\n i += 4;\n view.setUint32(i, 0, true);\n i += 4;\n view.setInt32(i, 0, true);\n i += 4;\n view.setInt32(i, 0, true);\n i += 4;\n view.setUint32(i, colorTable.length / 4, true);\n i += 4;\n view.setUint32(i, 0, true);\n i += 4;\n bmpData.set(maskTable, i);\n i += maskTable.length;\n bmpData.set(colorTable, i);\n i += colorTable.length;\n bmpData.set(data, i);\n return bmpData;\n }\n}\nexports.ImageResizer = ImageResizer;\nImageResizer._goodSquareLength = MIN_IMAGE_DIM;\n\n/***/ }),\n/* 63 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\nvar _util = __w_pdfjs_require__(2);\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n update(input) {\n let data, length;\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n k1 = 0;\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n }\n this.h1 = h1;\n this.h2 = h2;\n }\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n return (h1 >>> 0).toString(16).padStart(8, \"0\") + (h2 >>> 0).toString(16).padStart(8, \"0\");\n }\n}\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 64 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OperatorList = void 0;\nvar _util = __w_pdfjs_require__(2);\nfunction addState(parentState, pattern, checkFn, iterateFn, processFn) {\n let state = parentState;\n for (let i = 0, ii = pattern.length - 1; i < ii; i++) {\n const item = pattern[i];\n state = state[item] ||= [];\n }\n state[pattern.at(-1)] = {\n checkFn,\n iterateFn,\n processFn\n };\n}\nconst InitialState = [];\naddState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n const fnArray = context.fnArray;\n const iFirstSave = context.iCurr - 3;\n const pos = (i - iFirstSave) % 4;\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n case 1:\n return fnArray[i] === _util.OPS.transform;\n case 2:\n return fnArray[i] === _util.OPS.paintInlineImageXObject;\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n throw new Error(`iterateInlineImageGroup - invalid pos: ${pos}`);\n}, function foundInlineImageGroup(context, i) {\n const MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n const MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n const MAX_WIDTH = 1000;\n const IMAGE_PADDING = 1;\n const fnArray = context.fnArray,\n argsArray = context.argsArray;\n const curr = context.iCurr;\n const iFirstSave = curr - 3;\n const iFirstTransform = curr - 2;\n const iFirstPIIXO = curr - 1;\n const count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n let maxX = 0;\n const map = [];\n let maxLineHeight = 0;\n let currentX = IMAGE_PADDING,\n currentY = IMAGE_PADDING;\n for (let q = 0; q < count; q++) {\n const transform = argsArray[iFirstTransform + (q << 2)];\n const img = argsArray[iFirstPIIXO + (q << 2)][0];\n if (currentX + img.width > MAX_WIDTH) {\n maxX = Math.max(maxX, currentX);\n currentY += maxLineHeight + 2 * IMAGE_PADDING;\n currentX = 0;\n maxLineHeight = 0;\n }\n map.push({\n transform,\n x: currentX,\n y: currentY,\n w: img.width,\n h: img.height\n });\n currentX += img.width + 2 * IMAGE_PADDING;\n maxLineHeight = Math.max(maxLineHeight, img.height);\n }\n const imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n const imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n const imgData = new Uint8Array(imgWidth * imgHeight * 4);\n const imgRowSize = imgWidth << 2;\n for (let q = 0; q < count; q++) {\n const data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n const rowSize = map[q].w << 2;\n let dataOffset = 0;\n let offset = map[q].x + map[q].y * imgWidth << 2;\n imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n for (let k = 0, kk = map[q].h; k < kk; k++) {\n imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n dataOffset += rowSize;\n offset += imgRowSize;\n }\n imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n while (offset >= 0) {\n data[offset - 4] = data[offset];\n data[offset - 3] = data[offset + 1];\n data[offset - 2] = data[offset + 2];\n data[offset - 1] = data[offset + 3];\n data[offset + rowSize] = data[offset + rowSize - 4];\n data[offset + rowSize + 1] = data[offset + rowSize - 3];\n data[offset + rowSize + 2] = data[offset + rowSize - 2];\n data[offset + rowSize + 3] = data[offset + rowSize - 1];\n offset -= imgRowSize;\n }\n }\n const img = {\n width: imgWidth,\n height: imgHeight\n };\n if (context.isOffscreenCanvasSupported) {\n const canvas = new OffscreenCanvas(imgWidth, imgHeight);\n const ctx = canvas.getContext(\"2d\");\n ctx.putImageData(new ImageData(new Uint8ClampedArray(imgData.buffer), imgWidth, imgHeight), 0, 0);\n img.bitmap = canvas.transferToImageBitmap();\n img.data = null;\n } else {\n img.kind = _util.ImageKind.RGBA_32BPP;\n img.data = imgData;\n }\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [img, map]);\n return iFirstSave + 1;\n});\naddState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n const fnArray = context.fnArray;\n const iFirstSave = context.iCurr - 3;\n const pos = (i - iFirstSave) % 4;\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n case 1:\n return fnArray[i] === _util.OPS.transform;\n case 2:\n return fnArray[i] === _util.OPS.paintImageMaskXObject;\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n throw new Error(`iterateImageMaskGroup - invalid pos: ${pos}`);\n}, function foundImageMaskGroup(context, i) {\n const MIN_IMAGES_IN_MASKS_BLOCK = 10;\n const MAX_IMAGES_IN_MASKS_BLOCK = 100;\n const MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n const fnArray = context.fnArray,\n argsArray = context.argsArray;\n const curr = context.iCurr;\n const iFirstSave = curr - 3;\n const iFirstTransform = curr - 2;\n const iFirstPIMXO = curr - 1;\n let count = Math.floor((i - iFirstSave) / 4);\n if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n let isSameImage = false;\n let iTransform, transformArgs;\n const firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n const firstTransformArg0 = argsArray[iFirstTransform][0],\n firstTransformArg1 = argsArray[iFirstTransform][1],\n firstTransformArg2 = argsArray[iFirstTransform][2],\n firstTransformArg3 = argsArray[iFirstTransform][3];\n if (firstTransformArg1 === firstTransformArg2) {\n isSameImage = true;\n iTransform = iFirstTransform + 4;\n let iPIMXO = iFirstPIMXO + 4;\n for (let q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n transformArgs = argsArray[iTransform];\n if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== firstTransformArg1 || transformArgs[2] !== firstTransformArg2 || transformArgs[3] !== firstTransformArg3) {\n if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n isSameImage = false;\n } else {\n count = q;\n }\n break;\n }\n }\n }\n if (isSameImage) {\n count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n const positions = new Float32Array(count * 2);\n iTransform = iFirstTransform;\n for (let q = 0; q < count; q++, iTransform += 4) {\n transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg1, firstTransformArg2, firstTransformArg3, positions]);\n } else {\n count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n const images = [];\n for (let q = 0; q < count; q++) {\n transformArgs = argsArray[iFirstTransform + (q << 2)];\n const maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n images.push({\n data: maskParams.data,\n width: maskParams.width,\n height: maskParams.height,\n interpolate: maskParams.interpolate,\n count: maskParams.count,\n transform: transformArgs\n });\n }\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [images]);\n }\n return iFirstSave + 1;\n});\naddState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n const argsArray = context.argsArray;\n const iFirstTransform = context.iCurr - 2;\n return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n}, function iterateImageGroup(context, i) {\n const fnArray = context.fnArray,\n argsArray = context.argsArray;\n const iFirstSave = context.iCurr - 3;\n const pos = (i - iFirstSave) % 4;\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n case 1:\n if (fnArray[i] !== _util.OPS.transform) {\n return false;\n }\n const iFirstTransform = context.iCurr - 2;\n const firstTransformArg0 = argsArray[iFirstTransform][0];\n const firstTransformArg3 = argsArray[iFirstTransform][3];\n if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n return false;\n }\n return true;\n case 2:\n if (fnArray[i] !== _util.OPS.paintImageXObject) {\n return false;\n }\n const iFirstPIXO = context.iCurr - 1;\n const firstPIXOArg0 = argsArray[iFirstPIXO][0];\n if (argsArray[i][0] !== firstPIXOArg0) {\n return false;\n }\n return true;\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n throw new Error(`iterateImageGroup - invalid pos: ${pos}`);\n}, function (context, i) {\n const MIN_IMAGES_IN_BLOCK = 3;\n const MAX_IMAGES_IN_BLOCK = 1000;\n const fnArray = context.fnArray,\n argsArray = context.argsArray;\n const curr = context.iCurr;\n const iFirstSave = curr - 3;\n const iFirstTransform = curr - 2;\n const iFirstPIXO = curr - 1;\n const firstPIXOArg0 = argsArray[iFirstPIXO][0];\n const firstTransformArg0 = argsArray[iFirstTransform][0];\n const firstTransformArg3 = argsArray[iFirstTransform][3];\n const count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n if (count < MIN_IMAGES_IN_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n const positions = new Float32Array(count * 2);\n let iTransform = iFirstTransform;\n for (let q = 0; q < count; q++, iTransform += 4) {\n const transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n const args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, args);\n return iFirstSave + 1;\n});\naddState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {\n const fnArray = context.fnArray,\n argsArray = context.argsArray;\n const iFirstSave = context.iCurr - 4;\n const pos = (i - iFirstSave) % 5;\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.beginText;\n case 1:\n return fnArray[i] === _util.OPS.setFont;\n case 2:\n return fnArray[i] === _util.OPS.setTextMatrix;\n case 3:\n if (fnArray[i] !== _util.OPS.showText) {\n return false;\n }\n const iFirstSetFont = context.iCurr - 3;\n const firstSetFontArg0 = argsArray[iFirstSetFont][0];\n const firstSetFontArg1 = argsArray[iFirstSetFont][1];\n if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n return false;\n }\n return true;\n case 4:\n return fnArray[i] === _util.OPS.endText;\n }\n throw new Error(`iterateShowTextGroup - invalid pos: ${pos}`);\n}, function (context, i) {\n const MIN_CHARS_IN_BLOCK = 3;\n const MAX_CHARS_IN_BLOCK = 1000;\n const fnArray = context.fnArray,\n argsArray = context.argsArray;\n const curr = context.iCurr;\n const iFirstBeginText = curr - 4;\n const iFirstSetFont = curr - 3;\n const iFirstSetTextMatrix = curr - 2;\n const iFirstShowText = curr - 1;\n const iFirstEndText = curr;\n const firstSetFontArg0 = argsArray[iFirstSetFont][0];\n const firstSetFontArg1 = argsArray[iFirstSetFont][1];\n let count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n if (count < MIN_CHARS_IN_BLOCK) {\n return i - (i - iFirstBeginText) % 5;\n }\n let iFirst = iFirstBeginText;\n if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n count++;\n iFirst -= 5;\n }\n let iEndText = iFirst + 4;\n for (let q = 1; q < count; q++) {\n fnArray.splice(iEndText, 3);\n argsArray.splice(iEndText, 3);\n iEndText += 2;\n }\n return iEndText + 1;\n});\nclass NullOptimizer {\n constructor(queue) {\n this.queue = queue;\n }\n _optimize() {}\n push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n this._optimize();\n }\n flush() {}\n reset() {}\n}\nclass QueueOptimizer extends NullOptimizer {\n constructor(queue) {\n super(queue);\n this.state = null;\n this.context = {\n iCurr: 0,\n fnArray: queue.fnArray,\n argsArray: queue.argsArray,\n isOffscreenCanvasSupported: false\n };\n this.match = null;\n this.lastProcessed = 0;\n }\n set isOffscreenCanvasSupported(value) {\n this.context.isOffscreenCanvasSupported = value;\n }\n _optimize() {\n const fnArray = this.queue.fnArray;\n let i = this.lastProcessed,\n ii = fnArray.length;\n let state = this.state;\n let match = this.match;\n if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n this.lastProcessed = ii;\n return;\n }\n const context = this.context;\n while (i < ii) {\n if (match) {\n const iterate = (0, match.iterateFn)(context, i);\n if (iterate) {\n i++;\n continue;\n }\n i = (0, match.processFn)(context, i + 1);\n ii = fnArray.length;\n match = null;\n state = null;\n if (i >= ii) {\n break;\n }\n }\n state = (state || InitialState)[fnArray[i]];\n if (!state || Array.isArray(state)) {\n i++;\n continue;\n }\n context.iCurr = i;\n i++;\n if (state.checkFn && !(0, state.checkFn)(context)) {\n state = null;\n continue;\n }\n match = state;\n state = null;\n }\n this.state = state;\n this.match = match;\n this.lastProcessed = i;\n }\n flush() {\n while (this.match) {\n const length = this.queue.fnArray.length;\n this.lastProcessed = (0, this.match.processFn)(this.context, length);\n this.match = null;\n this.state = null;\n this._optimize();\n }\n }\n reset() {\n this.state = null;\n this.match = null;\n this.lastProcessed = 0;\n }\n}\nclass OperatorList {\n static CHUNK_SIZE = 1000;\n static CHUNK_SIZE_ABOUT = this.CHUNK_SIZE - 5;\n constructor(intent = 0, streamSink) {\n this._streamSink = streamSink;\n this.fnArray = [];\n this.argsArray = [];\n this.optimizer = streamSink && !(intent & _util.RenderingIntentFlag.OPLIST) ? new QueueOptimizer(this) : new NullOptimizer(this);\n this.dependencies = new Set();\n this._totalLength = 0;\n this.weight = 0;\n this._resolved = streamSink ? null : Promise.resolve();\n }\n set isOffscreenCanvasSupported(value) {\n this.optimizer.isOffscreenCanvasSupported = value;\n }\n get length() {\n return this.argsArray.length;\n }\n get ready() {\n return this._resolved || this._streamSink.ready;\n }\n get totalLength() {\n return this._totalLength + this.length;\n }\n addOp(fn, args) {\n this.optimizer.push(fn, args);\n this.weight++;\n if (this._streamSink) {\n if (this.weight >= OperatorList.CHUNK_SIZE) {\n this.flush();\n } else if (this.weight >= OperatorList.CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n this.flush();\n }\n }\n }\n addImageOps(fn, args, optionalContent) {\n if (optionalContent !== undefined) {\n this.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", optionalContent]);\n }\n this.addOp(fn, args);\n if (optionalContent !== undefined) {\n this.addOp(_util.OPS.endMarkedContent, []);\n }\n }\n addDependency(dependency) {\n if (this.dependencies.has(dependency)) {\n return;\n }\n this.dependencies.add(dependency);\n this.addOp(_util.OPS.dependency, [dependency]);\n }\n addDependencies(dependencies) {\n for (const dependency of dependencies) {\n this.addDependency(dependency);\n }\n }\n addOpList(opList) {\n if (!(opList instanceof OperatorList)) {\n (0, _util.warn)('addOpList - ignoring invalid \"opList\" parameter.');\n return;\n }\n for (const dependency of opList.dependencies) {\n this.dependencies.add(dependency);\n }\n for (let i = 0, ii = opList.length; i < ii; i++) {\n this.addOp(opList.fnArray[i], opList.argsArray[i]);\n }\n }\n getIR() {\n return {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n length: this.length\n };\n }\n get _transfers() {\n const transfers = [];\n const {\n fnArray,\n argsArray,\n length\n } = this;\n for (let i = 0; i < length; i++) {\n switch (fnArray[i]) {\n case _util.OPS.paintInlineImageXObject:\n case _util.OPS.paintInlineImageXObjectGroup:\n case _util.OPS.paintImageMaskXObject:\n const arg = argsArray[i][0];\n if (!arg.cached && arg.data?.buffer instanceof ArrayBuffer) {\n transfers.push(arg.data.buffer);\n }\n break;\n }\n }\n return transfers;\n }\n flush(lastChunk = false, separateAnnots = null) {\n this.optimizer.flush();\n const length = this.length;\n this._totalLength += length;\n this._streamSink.enqueue({\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n lastChunk,\n separateAnnots,\n length\n }, 1, this._transfers);\n this.dependencies.clear();\n this.fnArray.length = 0;\n this.argsArray.length = 0;\n this.weight = 0;\n this.optimizer.reset();\n }\n}\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 65 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFImage = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _image_utils = __w_pdfjs_require__(28);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _colorspace = __w_pdfjs_require__(12);\nvar _decode_stream = __w_pdfjs_require__(18);\nvar _image_resizer = __w_pdfjs_require__(62);\nvar _jpeg_stream = __w_pdfjs_require__(26);\nvar _jpx = __w_pdfjs_require__(30);\nvar _primitives = __w_pdfjs_require__(4);\nfunction decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n return value;\n}\nfunction resizeImageMask(src, bpc, w1, h1, w2, h2) {\n const length = w2 * h2;\n let dest;\n if (bpc <= 8) {\n dest = new Uint8Array(length);\n } else if (bpc <= 16) {\n dest = new Uint16Array(length);\n } else {\n dest = new Uint32Array(length);\n }\n const xRatio = w1 / w2;\n const yRatio = h1 / h2;\n let i,\n j,\n py,\n newIndex = 0,\n oldIndex;\n const xScaled = new Uint16Array(w2);\n const w1Scanline = w1;\n for (i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio);\n }\n for (i = 0; i < h2; i++) {\n py = Math.floor(i * yRatio) * w1Scanline;\n for (j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex];\n }\n }\n return dest;\n}\nclass PDFImage {\n constructor({\n xref,\n res,\n image,\n isInline = false,\n smask = null,\n mask = null,\n isMask = false,\n pdfFunctionFactory,\n localColorSpaceCache\n }) {\n this.image = image;\n const dict = image.dict;\n const filter = dict.get(\"F\", \"Filter\");\n let filterName;\n if (filter instanceof _primitives.Name) {\n filterName = filter.name;\n } else if (Array.isArray(filter)) {\n const filterZero = xref.fetchIfRef(filter[0]);\n if (filterZero instanceof _primitives.Name) {\n filterName = filterZero.name;\n }\n }\n switch (filterName) {\n case \"JPXDecode\":\n const jpxImage = new _jpx.JpxImage();\n jpxImage.parseImageProperties(image.stream);\n image.stream.reset();\n image.width = jpxImage.width;\n image.height = jpxImage.height;\n image.bitsPerComponent = jpxImage.bitsPerComponent;\n image.numComps = jpxImage.componentsCount;\n break;\n case \"JBIG2Decode\":\n image.bitsPerComponent = 1;\n image.numComps = 1;\n break;\n }\n let width = dict.get(\"W\", \"Width\");\n let height = dict.get(\"H\", \"Height\");\n if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n (0, _util.warn)(\"PDFImage - using the Width/Height of the image data, \" + \"rather than the image dictionary.\");\n width = image.width;\n height = image.height;\n }\n if (width < 1 || height < 1) {\n throw new _util.FormatError(`Invalid image width: ${width} or height: ${height}`);\n }\n this.width = width;\n this.height = height;\n this.interpolate = dict.get(\"I\", \"Interpolate\");\n this.imageMask = dict.get(\"IM\", \"ImageMask\") || false;\n this.matte = dict.get(\"Matte\") || false;\n let bitsPerComponent = image.bitsPerComponent;\n if (!bitsPerComponent) {\n bitsPerComponent = dict.get(\"BPC\", \"BitsPerComponent\");\n if (!bitsPerComponent) {\n if (this.imageMask) {\n bitsPerComponent = 1;\n } else {\n throw new _util.FormatError(`Bits per component missing in image: ${this.imageMask}`);\n }\n }\n }\n this.bpc = bitsPerComponent;\n if (!this.imageMask) {\n let colorSpace = dict.getRaw(\"CS\") || dict.getRaw(\"ColorSpace\");\n if (!colorSpace) {\n (0, _util.info)(\"JPX images (which do not require color spaces)\");\n switch (image.numComps) {\n case 1:\n colorSpace = _primitives.Name.get(\"DeviceGray\");\n break;\n case 3:\n colorSpace = _primitives.Name.get(\"DeviceRGB\");\n break;\n case 4:\n colorSpace = _primitives.Name.get(\"DeviceCMYK\");\n break;\n default:\n throw new Error(`JPX images with ${image.numComps} color components not supported.`);\n }\n }\n this.colorSpace = _colorspace.ColorSpace.parse({\n cs: colorSpace,\n xref,\n resources: isInline ? res : null,\n pdfFunctionFactory,\n localColorSpaceCache\n });\n this.numComps = this.colorSpace.numComps;\n }\n this.decode = dict.getArray(\"D\", \"Decode\");\n this.needsDecode = false;\n if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n this.needsDecode = true;\n const max = (1 << bitsPerComponent) - 1;\n this.decodeCoefficients = [];\n this.decodeAddends = [];\n const isIndexed = this.colorSpace?.name === \"Indexed\";\n for (let i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n const dmin = this.decode[i];\n const dmax = this.decode[i + 1];\n this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n }\n }\n if (smask) {\n this.smask = new PDFImage({\n xref,\n res,\n image: smask,\n isInline,\n pdfFunctionFactory,\n localColorSpaceCache\n });\n } else if (mask) {\n if (mask instanceof _base_stream.BaseStream) {\n const maskDict = mask.dict,\n imageMask = maskDict.get(\"IM\", \"ImageMask\");\n if (!imageMask) {\n (0, _util.warn)(\"Ignoring /Mask in image without /ImageMask.\");\n } else {\n this.mask = new PDFImage({\n xref,\n res,\n image: mask,\n isInline,\n isMask: true,\n pdfFunctionFactory,\n localColorSpaceCache\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n static async buildImage({\n xref,\n res,\n image,\n isInline = false,\n pdfFunctionFactory,\n localColorSpaceCache\n }) {\n const imageData = image;\n let smaskData = null;\n let maskData = null;\n const smask = image.dict.get(\"SMask\");\n const mask = image.dict.get(\"Mask\");\n if (smask) {\n if (smask instanceof _base_stream.BaseStream) {\n smaskData = smask;\n } else {\n (0, _util.warn)(\"Unsupported /SMask format.\");\n }\n } else if (mask) {\n if (mask instanceof _base_stream.BaseStream || Array.isArray(mask)) {\n maskData = mask;\n } else {\n (0, _util.warn)(\"Unsupported /Mask format.\");\n }\n }\n return new PDFImage({\n xref,\n res,\n image: imageData,\n isInline,\n smask: smaskData,\n mask: maskData,\n pdfFunctionFactory,\n localColorSpaceCache\n });\n }\n static createRawMask({\n imgArray,\n width,\n height,\n imageIsFromDecodeStream,\n inverseDecode,\n interpolate\n }) {\n const computedLength = (width + 7 >> 3) * height;\n const actualLength = imgArray.byteLength;\n const haveFullData = computedLength === actualLength;\n let data, i;\n if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n data = imgArray;\n } else if (!inverseDecode) {\n data = new Uint8Array(imgArray);\n } else {\n data = new Uint8Array(computedLength);\n data.set(imgArray);\n data.fill(0xff, actualLength);\n }\n if (inverseDecode) {\n for (i = 0; i < actualLength; i++) {\n data[i] ^= 0xff;\n }\n }\n return {\n data,\n width,\n height,\n interpolate\n };\n }\n static async createMask({\n imgArray,\n width,\n height,\n imageIsFromDecodeStream,\n inverseDecode,\n interpolate,\n isOffscreenCanvasSupported = false\n }) {\n const isSingleOpaquePixel = width === 1 && height === 1 && inverseDecode === (imgArray.length === 0 || !!(imgArray[0] & 128));\n if (isSingleOpaquePixel) {\n return {\n isSingleOpaquePixel\n };\n }\n if (isOffscreenCanvasSupported) {\n if (_image_resizer.ImageResizer.needsToBeResized(width, height)) {\n const data = new Uint8ClampedArray(width * height * 4);\n (0, _image_utils.convertBlackAndWhiteToRGBA)({\n src: imgArray,\n dest: data,\n width,\n height,\n nonBlackColor: 0,\n inverseDecode\n });\n return _image_resizer.ImageResizer.createImage({\n kind: _util.ImageKind.RGBA_32BPP,\n data,\n width,\n height,\n interpolate\n });\n }\n const canvas = new OffscreenCanvas(width, height);\n const ctx = canvas.getContext(\"2d\");\n const imgData = ctx.createImageData(width, height);\n (0, _image_utils.convertBlackAndWhiteToRGBA)({\n src: imgArray,\n dest: imgData.data,\n width,\n height,\n nonBlackColor: 0,\n inverseDecode\n });\n ctx.putImageData(imgData, 0, 0);\n const bitmap = canvas.transferToImageBitmap();\n return {\n data: null,\n width,\n height,\n interpolate,\n bitmap\n };\n }\n return this.createRawMask({\n imgArray,\n width,\n height,\n inverseDecode,\n imageIsFromDecodeStream,\n interpolate\n });\n }\n get drawWidth() {\n return Math.max(this.width, this.smask?.width || 0, this.mask?.width || 0);\n }\n get drawHeight() {\n return Math.max(this.height, this.smask?.height || 0, this.mask?.height || 0);\n }\n decodeBuffer(buffer) {\n const bpc = this.bpc;\n const numComps = this.numComps;\n const decodeAddends = this.decodeAddends;\n const decodeCoefficients = this.decodeCoefficients;\n const max = (1 << bpc) - 1;\n let i, ii;\n if (bpc === 1) {\n for (i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = +!buffer[i];\n }\n return;\n }\n let index = 0;\n for (i = 0, ii = this.width * this.height; i < ii; i++) {\n for (let j = 0; j < numComps; j++) {\n buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n index++;\n }\n }\n }\n getComponents(buffer) {\n const bpc = this.bpc;\n if (bpc === 8) {\n return buffer;\n }\n const width = this.width;\n const height = this.height;\n const numComps = this.numComps;\n const length = width * height * numComps;\n let bufferPos = 0;\n let output;\n if (bpc <= 8) {\n output = new Uint8Array(length);\n } else if (bpc <= 16) {\n output = new Uint16Array(length);\n } else {\n output = new Uint32Array(length);\n }\n const rowComps = width * numComps;\n const max = (1 << bpc) - 1;\n let i = 0,\n ii,\n buf;\n if (bpc === 1) {\n let mask, loop1End, loop2End;\n for (let j = 0; j < height; j++) {\n loop1End = i + (rowComps & ~7);\n loop2End = i + rowComps;\n while (i < loop1End) {\n buf = buffer[bufferPos++];\n output[i] = buf >> 7 & 1;\n output[i + 1] = buf >> 6 & 1;\n output[i + 2] = buf >> 5 & 1;\n output[i + 3] = buf >> 4 & 1;\n output[i + 4] = buf >> 3 & 1;\n output[i + 5] = buf >> 2 & 1;\n output[i + 6] = buf >> 1 & 1;\n output[i + 7] = buf & 1;\n i += 8;\n }\n if (i < loop2End) {\n buf = buffer[bufferPos++];\n mask = 128;\n while (i < loop2End) {\n output[i++] = +!!(buf & mask);\n mask >>= 1;\n }\n }\n }\n } else {\n let bits = 0;\n buf = 0;\n for (i = 0, ii = length; i < ii; ++i) {\n if (i % rowComps === 0) {\n buf = 0;\n bits = 0;\n }\n while (bits < bpc) {\n buf = buf << 8 | buffer[bufferPos++];\n bits += 8;\n }\n const remainingBits = bits - bpc;\n let value = buf >> remainingBits;\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n output[i] = value;\n buf &= (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n return output;\n }\n fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n const smask = this.smask;\n const mask = this.mask;\n let alphaBuf, sw, sh, i, ii, j;\n if (smask) {\n sw = smask.width;\n sh = smask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n smask.fillGrayBuffer(alphaBuf);\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n }\n } else if (mask) {\n if (mask instanceof PDFImage) {\n sw = mask.width;\n sh = mask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n mask.numComps = 1;\n mask.fillGrayBuffer(alphaBuf);\n for (i = 0, ii = sw * sh; i < ii; ++i) {\n alphaBuf[i] = 255 - alphaBuf[i];\n }\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n }\n } else if (Array.isArray(mask)) {\n alphaBuf = new Uint8ClampedArray(width * height);\n const numComps = this.numComps;\n for (i = 0, ii = width * height; i < ii; ++i) {\n let opacity = 0;\n const imageOffset = i * numComps;\n for (j = 0; j < numComps; ++j) {\n const color = image[imageOffset + j];\n const maskOffset = j * 2;\n if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n opacity = 255;\n break;\n }\n }\n alphaBuf[i] = opacity;\n }\n } else {\n throw new _util.FormatError(\"Unknown mask format.\");\n }\n }\n if (alphaBuf) {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = alphaBuf[i];\n }\n } else {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = 255;\n }\n }\n }\n undoPreblend(buffer, width, height) {\n const matte = this.smask?.matte;\n if (!matte) {\n return;\n }\n const matteRgb = this.colorSpace.getRgb(matte, 0);\n const matteR = matteRgb[0];\n const matteG = matteRgb[1];\n const matteB = matteRgb[2];\n const length = width * height * 4;\n for (let i = 0; i < length; i += 4) {\n const alpha = buffer[i + 3];\n if (alpha === 0) {\n buffer[i] = 255;\n buffer[i + 1] = 255;\n buffer[i + 2] = 255;\n continue;\n }\n const k = 255 / alpha;\n buffer[i] = (buffer[i] - matteR) * k + matteR;\n buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n }\n }\n async createImageData(forceRGBA = false, isOffscreenCanvasSupported = false) {\n const drawWidth = this.drawWidth;\n const drawHeight = this.drawHeight;\n const imgData = {\n width: drawWidth,\n height: drawHeight,\n interpolate: this.interpolate,\n kind: 0,\n data: null\n };\n const numComps = this.numComps;\n const originalWidth = this.width;\n const originalHeight = this.height;\n const bpc = this.bpc;\n const rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n const mustBeResized = isOffscreenCanvasSupported && _image_resizer.ImageResizer.needsToBeResized(drawWidth, drawHeight);\n if (!forceRGBA) {\n let kind;\n if (this.colorSpace.name === \"DeviceGray\" && bpc === 1) {\n kind = _util.ImageKind.GRAYSCALE_1BPP;\n } else if (this.colorSpace.name === \"DeviceRGB\" && bpc === 8 && !this.needsDecode) {\n kind = _util.ImageKind.RGB_24BPP;\n }\n if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n const data = this.getImageBytes(originalHeight * rowBytes, {});\n if (isOffscreenCanvasSupported) {\n if (mustBeResized) {\n return _image_resizer.ImageResizer.createImage({\n data,\n kind,\n width: drawWidth,\n height: drawHeight,\n interpolate: this.interpolate\n }, this.needsDecode);\n }\n return this.createBitmap(kind, originalWidth, originalHeight, data);\n }\n imgData.kind = kind;\n imgData.data = data;\n if (this.needsDecode) {\n (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, \"PDFImage.createImageData: The image must be grayscale.\");\n const buffer = imgData.data;\n for (let i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] ^= 0xff;\n }\n }\n return imgData;\n }\n if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask && !this.needsDecode) {\n let imageLength = originalHeight * rowBytes;\n if (isOffscreenCanvasSupported && !mustBeResized) {\n let isHandled = false;\n switch (this.colorSpace.name) {\n case \"DeviceGray\":\n imageLength *= 4;\n isHandled = true;\n break;\n case \"DeviceRGB\":\n imageLength = imageLength / 3 * 4;\n isHandled = true;\n break;\n case \"DeviceCMYK\":\n isHandled = true;\n break;\n }\n if (isHandled) {\n const rgba = this.getImageBytes(imageLength, {\n drawWidth,\n drawHeight,\n forceRGBA: true\n });\n return this.createBitmap(_util.ImageKind.RGBA_32BPP, drawWidth, drawHeight, rgba);\n }\n } else {\n switch (this.colorSpace.name) {\n case \"DeviceGray\":\n imageLength *= 3;\n case \"DeviceRGB\":\n case \"DeviceCMYK\":\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = this.getImageBytes(imageLength, {\n drawWidth,\n drawHeight,\n forceRGB: true\n });\n if (mustBeResized) {\n return _image_resizer.ImageResizer.createImage(imgData);\n }\n return imgData;\n }\n }\n }\n }\n const imgArray = this.getImageBytes(originalHeight * rowBytes, {\n internal: true\n });\n const actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n const comps = this.getComponents(imgArray);\n let alpha01, maybeUndoPreblend;\n let canvas, ctx, canvasImgData, data;\n if (isOffscreenCanvasSupported && !mustBeResized) {\n canvas = new OffscreenCanvas(drawWidth, drawHeight);\n ctx = canvas.getContext(\"2d\");\n canvasImgData = ctx.createImageData(drawWidth, drawHeight);\n data = canvasImgData.data;\n }\n imgData.kind = _util.ImageKind.RGBA_32BPP;\n if (!forceRGBA && !this.smask && !this.mask) {\n if (!isOffscreenCanvasSupported || mustBeResized) {\n imgData.kind = _util.ImageKind.RGB_24BPP;\n data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n alpha01 = 0;\n } else {\n const arr = new Uint32Array(data.buffer);\n arr.fill(_util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff);\n alpha01 = 1;\n }\n maybeUndoPreblend = false;\n } else {\n if (!isOffscreenCanvasSupported || mustBeResized) {\n data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n }\n alpha01 = 1;\n maybeUndoPreblend = true;\n this.fillOpacity(data, drawWidth, drawHeight, actualHeight, comps);\n }\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n this.colorSpace.fillRgb(data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n if (maybeUndoPreblend) {\n this.undoPreblend(data, drawWidth, actualHeight);\n }\n if (isOffscreenCanvasSupported && !mustBeResized) {\n ctx.putImageData(canvasImgData, 0, 0);\n const bitmap = canvas.transferToImageBitmap();\n return {\n data: null,\n width: drawWidth,\n height: drawHeight,\n bitmap,\n interpolate: this.interpolate\n };\n }\n imgData.data = data;\n if (mustBeResized) {\n return _image_resizer.ImageResizer.createImage(imgData);\n }\n return imgData;\n }\n fillGrayBuffer(buffer) {\n const numComps = this.numComps;\n if (numComps !== 1) {\n throw new _util.FormatError(`Reading gray scale from a color image: ${numComps}`);\n }\n const width = this.width;\n const height = this.height;\n const bpc = this.bpc;\n const rowBytes = width * numComps * bpc + 7 >> 3;\n const imgArray = this.getImageBytes(height * rowBytes, {\n internal: true\n });\n const comps = this.getComponents(imgArray);\n let i, length;\n if (bpc === 1) {\n length = width * height;\n if (this.needsDecode) {\n for (i = 0; i < length; ++i) {\n buffer[i] = comps[i] - 1 & 255;\n }\n } else {\n for (i = 0; i < length; ++i) {\n buffer[i] = -comps[i] & 255;\n }\n }\n return;\n }\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n length = width * height;\n const scale = 255 / ((1 << bpc) - 1);\n for (i = 0; i < length; ++i) {\n buffer[i] = scale * comps[i];\n }\n }\n createBitmap(kind, width, height, src) {\n const canvas = new OffscreenCanvas(width, height);\n const ctx = canvas.getContext(\"2d\");\n let imgData;\n if (kind === _util.ImageKind.RGBA_32BPP) {\n imgData = new ImageData(src, width, height);\n } else {\n imgData = ctx.createImageData(width, height);\n (0, _image_utils.convertToRGBA)({\n kind,\n src,\n dest: new Uint32Array(imgData.data.buffer),\n width,\n height,\n inverseDecode: this.needsDecode\n });\n }\n ctx.putImageData(imgData, 0, 0);\n const bitmap = canvas.transferToImageBitmap();\n return {\n data: null,\n width,\n height,\n bitmap,\n interpolate: this.interpolate\n };\n }\n getImageBytes(length, {\n drawWidth,\n drawHeight,\n forceRGBA = false,\n forceRGB = false,\n internal = false\n }) {\n this.image.reset();\n this.image.drawWidth = drawWidth || this.width;\n this.image.drawHeight = drawHeight || this.height;\n this.image.forceRGBA = !!forceRGBA;\n this.image.forceRGB = !!forceRGB;\n const imageBytes = this.image.getBytes(length);\n if (internal || this.image instanceof _decode_stream.DecodeStream) {\n return imageBytes;\n }\n (0, _util.assert)(imageBytes instanceof Uint8Array, 'PDFImage.getImageBytes: Unsupported \"imageBytes\" type.');\n return new Uint8Array(imageBytes);\n }\n}\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 66 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Catalog = void 0;\nvar _core_utils = __w_pdfjs_require__(3);\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _name_number_tree = __w_pdfjs_require__(67);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _cleanup_helper = __w_pdfjs_require__(68);\nvar _colorspace = __w_pdfjs_require__(12);\nvar _file_spec = __w_pdfjs_require__(69);\nvar _image_utils = __w_pdfjs_require__(59);\nvar _metadata_parser = __w_pdfjs_require__(70);\nvar _struct_tree = __w_pdfjs_require__(72);\nfunction fetchDestination(dest) {\n if (dest instanceof _primitives.Dict) {\n dest = dest.get(\"D\");\n }\n return Array.isArray(dest) ? dest : null;\n}\nclass Catalog {\n constructor(pdfManager, xref) {\n this.pdfManager = pdfManager;\n this.xref = xref;\n this._catDict = xref.getCatalogObj();\n if (!(this._catDict instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"Catalog object is not a dictionary.\");\n }\n this.toplevelPagesDict;\n this._actualNumPages = null;\n this.fontCache = new _primitives.RefSetCache();\n this.builtInCMapCache = new Map();\n this.standardFontDataCache = new Map();\n this.globalImageCache = new _image_utils.GlobalImageCache();\n this.pageKidsCountCache = new _primitives.RefSetCache();\n this.pageIndexCache = new _primitives.RefSetCache();\n this.nonBlendModesSet = new _primitives.RefSet();\n this.systemFontCache = new Map();\n }\n cloneDict() {\n return this._catDict.clone();\n }\n get version() {\n const version = this._catDict.get(\"Version\");\n if (version instanceof _primitives.Name) {\n if (_core_utils.PDF_VERSION_REGEXP.test(version.name)) {\n return (0, _util.shadow)(this, \"version\", version.name);\n }\n (0, _util.warn)(`Invalid PDF catalog version: ${version.name}`);\n }\n return (0, _util.shadow)(this, \"version\", null);\n }\n get lang() {\n const lang = this._catDict.get(\"Lang\");\n return (0, _util.shadow)(this, \"lang\", typeof lang === \"string\" ? (0, _util.stringToPDFString)(lang) : null);\n }\n get needsRendering() {\n const needsRendering = this._catDict.get(\"NeedsRendering\");\n return (0, _util.shadow)(this, \"needsRendering\", typeof needsRendering === \"boolean\" ? needsRendering : false);\n }\n get collection() {\n let collection = null;\n try {\n const obj = this._catDict.get(\"Collection\");\n if (obj instanceof _primitives.Dict && obj.size > 0) {\n collection = obj;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.info)(\"Cannot fetch Collection entry; assuming no collection is present.\");\n }\n return (0, _util.shadow)(this, \"collection\", collection);\n }\n get acroForm() {\n let acroForm = null;\n try {\n const obj = this._catDict.get(\"AcroForm\");\n if (obj instanceof _primitives.Dict && obj.size > 0) {\n acroForm = obj;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.info)(\"Cannot fetch AcroForm entry; assuming no forms are present.\");\n }\n return (0, _util.shadow)(this, \"acroForm\", acroForm);\n }\n get acroFormRef() {\n const value = this._catDict.getRaw(\"AcroForm\");\n return (0, _util.shadow)(this, \"acroFormRef\", value instanceof _primitives.Ref ? value : null);\n }\n get metadata() {\n const streamRef = this._catDict.getRaw(\"Metadata\");\n if (!(streamRef instanceof _primitives.Ref)) {\n return (0, _util.shadow)(this, \"metadata\", null);\n }\n let metadata = null;\n try {\n const stream = this.xref.fetch(streamRef, !this.xref.encrypt?.encryptMetadata);\n if (stream instanceof _base_stream.BaseStream && stream.dict instanceof _primitives.Dict) {\n const type = stream.dict.get(\"Type\");\n const subtype = stream.dict.get(\"Subtype\");\n if ((0, _primitives.isName)(type, \"Metadata\") && (0, _primitives.isName)(subtype, \"XML\")) {\n const data = (0, _util.stringToUTF8String)(stream.getString());\n if (data) {\n metadata = new _metadata_parser.MetadataParser(data).serializable;\n }\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.info)(`Skipping invalid Metadata: \"${ex}\".`);\n }\n return (0, _util.shadow)(this, \"metadata\", metadata);\n }\n get markInfo() {\n let markInfo = null;\n try {\n markInfo = this._readMarkInfo();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(\"Unable to read mark info.\");\n }\n return (0, _util.shadow)(this, \"markInfo\", markInfo);\n }\n _readMarkInfo() {\n const obj = this._catDict.get(\"MarkInfo\");\n if (!(obj instanceof _primitives.Dict)) {\n return null;\n }\n const markInfo = {\n Marked: false,\n UserProperties: false,\n Suspects: false\n };\n for (const key in markInfo) {\n const value = obj.get(key);\n if (typeof value === \"boolean\") {\n markInfo[key] = value;\n }\n }\n return markInfo;\n }\n get structTreeRoot() {\n let structTree = null;\n try {\n structTree = this._readStructTreeRoot();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(\"Unable read to structTreeRoot info.\");\n }\n return (0, _util.shadow)(this, \"structTreeRoot\", structTree);\n }\n _readStructTreeRoot() {\n const rawObj = this._catDict.getRaw(\"StructTreeRoot\");\n const obj = this.xref.fetchIfRef(rawObj);\n if (!(obj instanceof _primitives.Dict)) {\n return null;\n }\n const root = new _struct_tree.StructTreeRoot(obj, rawObj);\n root.init();\n return root;\n }\n get toplevelPagesDict() {\n const pagesObj = this._catDict.get(\"Pages\");\n if (!(pagesObj instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"Invalid top-level pages dictionary.\");\n }\n return (0, _util.shadow)(this, \"toplevelPagesDict\", pagesObj);\n }\n get documentOutline() {\n let obj = null;\n try {\n obj = this._readDocumentOutline();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(\"Unable to read document outline.\");\n }\n return (0, _util.shadow)(this, \"documentOutline\", obj);\n }\n _readDocumentOutline() {\n let obj = this._catDict.get(\"Outlines\");\n if (!(obj instanceof _primitives.Dict)) {\n return null;\n }\n obj = obj.getRaw(\"First\");\n if (!(obj instanceof _primitives.Ref)) {\n return null;\n }\n const root = {\n items: []\n };\n const queue = [{\n obj,\n parent: root\n }];\n const processed = new _primitives.RefSet();\n processed.put(obj);\n const xref = this.xref,\n blackColor = new Uint8ClampedArray(3);\n while (queue.length > 0) {\n const i = queue.shift();\n const outlineDict = xref.fetchIfRef(i.obj);\n if (outlineDict === null) {\n continue;\n }\n if (!outlineDict.has(\"Title\")) {\n throw new _util.FormatError(\"Invalid outline item encountered.\");\n }\n const data = {\n url: null,\n dest: null,\n action: null\n };\n Catalog.parseDestDictionary({\n destDict: outlineDict,\n resultObj: data,\n docBaseUrl: this.baseUrl,\n docAttachments: this.attachments\n });\n const title = outlineDict.get(\"Title\");\n const flags = outlineDict.get(\"F\") || 0;\n const color = outlineDict.getArray(\"C\");\n const count = outlineDict.get(\"Count\");\n let rgbColor = blackColor;\n if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n }\n const outlineItem = {\n action: data.action,\n attachment: data.attachment,\n dest: data.dest,\n url: data.url,\n unsafeUrl: data.unsafeUrl,\n newWindow: data.newWindow,\n setOCGState: data.setOCGState,\n title: (0, _util.stringToPDFString)(title),\n color: rgbColor,\n count: Number.isInteger(count) ? count : undefined,\n bold: !!(flags & 2),\n italic: !!(flags & 1),\n items: []\n };\n i.parent.items.push(outlineItem);\n obj = outlineDict.getRaw(\"First\");\n if (obj instanceof _primitives.Ref && !processed.has(obj)) {\n queue.push({\n obj,\n parent: outlineItem\n });\n processed.put(obj);\n }\n obj = outlineDict.getRaw(\"Next\");\n if (obj instanceof _primitives.Ref && !processed.has(obj)) {\n queue.push({\n obj,\n parent: i.parent\n });\n processed.put(obj);\n }\n }\n return root.items.length > 0 ? root.items : null;\n }\n get permissions() {\n let permissions = null;\n try {\n permissions = this._readPermissions();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(\"Unable to read permissions.\");\n }\n return (0, _util.shadow)(this, \"permissions\", permissions);\n }\n _readPermissions() {\n const encrypt = this.xref.trailer.get(\"Encrypt\");\n if (!(encrypt instanceof _primitives.Dict)) {\n return null;\n }\n let flags = encrypt.get(\"P\");\n if (typeof flags !== \"number\") {\n return null;\n }\n flags += 2 ** 32;\n const permissions = [];\n for (const key in _util.PermissionFlag) {\n const value = _util.PermissionFlag[key];\n if (flags & value) {\n permissions.push(value);\n }\n }\n return permissions;\n }\n get optionalContentConfig() {\n let config = null;\n try {\n const properties = this._catDict.get(\"OCProperties\");\n if (!properties) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n const defaultConfig = properties.get(\"D\");\n if (!defaultConfig) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n const groupsData = properties.get(\"OCGs\");\n if (!Array.isArray(groupsData)) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n const groups = [];\n const groupRefs = [];\n for (const groupRef of groupsData) {\n if (!(groupRef instanceof _primitives.Ref)) {\n continue;\n }\n groupRefs.push(groupRef);\n const group = this.xref.fetchIfRef(groupRef);\n groups.push({\n id: groupRef.toString(),\n name: typeof group.get(\"Name\") === \"string\" ? (0, _util.stringToPDFString)(group.get(\"Name\")) : null,\n intent: typeof group.get(\"Intent\") === \"string\" ? (0, _util.stringToPDFString)(group.get(\"Intent\")) : null\n });\n }\n config = this._readOptionalContentConfig(defaultConfig, groupRefs);\n config.groups = groups;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(`Unable to read optional content config: ${ex}`);\n }\n return (0, _util.shadow)(this, \"optionalContentConfig\", config);\n }\n _readOptionalContentConfig(config, contentGroupRefs) {\n function parseOnOff(refs) {\n const onParsed = [];\n if (Array.isArray(refs)) {\n for (const value of refs) {\n if (!(value instanceof _primitives.Ref)) {\n continue;\n }\n if (contentGroupRefs.includes(value)) {\n onParsed.push(value.toString());\n }\n }\n }\n return onParsed;\n }\n function parseOrder(refs, nestedLevels = 0) {\n if (!Array.isArray(refs)) {\n return null;\n }\n const order = [];\n for (const value of refs) {\n if (value instanceof _primitives.Ref && contentGroupRefs.includes(value)) {\n parsedOrderRefs.put(value);\n order.push(value.toString());\n continue;\n }\n const nestedOrder = parseNestedOrder(value, nestedLevels);\n if (nestedOrder) {\n order.push(nestedOrder);\n }\n }\n if (nestedLevels > 0) {\n return order;\n }\n const hiddenGroups = [];\n for (const groupRef of contentGroupRefs) {\n if (parsedOrderRefs.has(groupRef)) {\n continue;\n }\n hiddenGroups.push(groupRef.toString());\n }\n if (hiddenGroups.length) {\n order.push({\n name: null,\n order: hiddenGroups\n });\n }\n return order;\n }\n function parseNestedOrder(ref, nestedLevels) {\n if (++nestedLevels > MAX_NESTED_LEVELS) {\n (0, _util.warn)(\"parseNestedOrder - reached MAX_NESTED_LEVELS.\");\n return null;\n }\n const value = xref.fetchIfRef(ref);\n if (!Array.isArray(value)) {\n return null;\n }\n const nestedName = xref.fetchIfRef(value[0]);\n if (typeof nestedName !== \"string\") {\n return null;\n }\n const nestedOrder = parseOrder(value.slice(1), nestedLevels);\n if (!nestedOrder || !nestedOrder.length) {\n return null;\n }\n return {\n name: (0, _util.stringToPDFString)(nestedName),\n order: nestedOrder\n };\n }\n const xref = this.xref,\n parsedOrderRefs = new _primitives.RefSet(),\n MAX_NESTED_LEVELS = 10;\n return {\n name: typeof config.get(\"Name\") === \"string\" ? (0, _util.stringToPDFString)(config.get(\"Name\")) : null,\n creator: typeof config.get(\"Creator\") === \"string\" ? (0, _util.stringToPDFString)(config.get(\"Creator\")) : null,\n baseState: config.get(\"BaseState\") instanceof _primitives.Name ? config.get(\"BaseState\").name : null,\n on: parseOnOff(config.get(\"ON\")),\n off: parseOnOff(config.get(\"OFF\")),\n order: parseOrder(config.get(\"Order\")),\n groups: null\n };\n }\n setActualNumPages(num = null) {\n this._actualNumPages = num;\n }\n get hasActualNumPages() {\n return this._actualNumPages !== null;\n }\n get _pagesCount() {\n const obj = this.toplevelPagesDict.get(\"Count\");\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Page count in top-level pages dictionary is not an integer.\");\n }\n return (0, _util.shadow)(this, \"_pagesCount\", obj);\n }\n get numPages() {\n return this.hasActualNumPages ? this._actualNumPages : this._pagesCount;\n }\n get destinations() {\n const obj = this._readDests(),\n dests = Object.create(null);\n if (obj instanceof _name_number_tree.NameTree) {\n for (const [key, value] of obj.getAll()) {\n const dest = fetchDestination(value);\n if (dest) {\n dests[(0, _util.stringToPDFString)(key)] = dest;\n }\n }\n } else if (obj instanceof _primitives.Dict) {\n obj.forEach(function (key, value) {\n const dest = fetchDestination(value);\n if (dest) {\n dests[key] = dest;\n }\n });\n }\n return (0, _util.shadow)(this, \"destinations\", dests);\n }\n getDestination(id) {\n const obj = this._readDests();\n if (obj instanceof _name_number_tree.NameTree) {\n const dest = fetchDestination(obj.get(id));\n if (dest) {\n return dest;\n }\n const allDest = this.destinations[id];\n if (allDest) {\n (0, _util.warn)(`Found \"${id}\" at an incorrect position in the NameTree.`);\n return allDest;\n }\n } else if (obj instanceof _primitives.Dict) {\n const dest = fetchDestination(obj.get(id));\n if (dest) {\n return dest;\n }\n }\n return null;\n }\n _readDests() {\n const obj = this._catDict.get(\"Names\");\n if (obj?.has(\"Dests\")) {\n return new _name_number_tree.NameTree(obj.getRaw(\"Dests\"), this.xref);\n } else if (this._catDict.has(\"Dests\")) {\n return this._catDict.get(\"Dests\");\n }\n return undefined;\n }\n get pageLabels() {\n let obj = null;\n try {\n obj = this._readPageLabels();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(\"Unable to read page labels.\");\n }\n return (0, _util.shadow)(this, \"pageLabels\", obj);\n }\n _readPageLabels() {\n const obj = this._catDict.getRaw(\"PageLabels\");\n if (!obj) {\n return null;\n }\n const pageLabels = new Array(this.numPages);\n let style = null,\n prefix = \"\";\n const numberTree = new _name_number_tree.NumberTree(obj, this.xref);\n const nums = numberTree.getAll();\n let currentLabel = \"\",\n currentIndex = 1;\n for (let i = 0, ii = this.numPages; i < ii; i++) {\n const labelDict = nums.get(i);\n if (labelDict !== undefined) {\n if (!(labelDict instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"PageLabel is not a dictionary.\");\n }\n if (labelDict.has(\"Type\") && !(0, _primitives.isName)(labelDict.get(\"Type\"), \"PageLabel\")) {\n throw new _util.FormatError(\"Invalid type in PageLabel dictionary.\");\n }\n if (labelDict.has(\"S\")) {\n const s = labelDict.get(\"S\");\n if (!(s instanceof _primitives.Name)) {\n throw new _util.FormatError(\"Invalid style in PageLabel dictionary.\");\n }\n style = s.name;\n } else {\n style = null;\n }\n if (labelDict.has(\"P\")) {\n const p = labelDict.get(\"P\");\n if (typeof p !== \"string\") {\n throw new _util.FormatError(\"Invalid prefix in PageLabel dictionary.\");\n }\n prefix = (0, _util.stringToPDFString)(p);\n } else {\n prefix = \"\";\n }\n if (labelDict.has(\"St\")) {\n const st = labelDict.get(\"St\");\n if (!(Number.isInteger(st) && st >= 1)) {\n throw new _util.FormatError(\"Invalid start in PageLabel dictionary.\");\n }\n currentIndex = st;\n } else {\n currentIndex = 1;\n }\n }\n switch (style) {\n case \"D\":\n currentLabel = currentIndex;\n break;\n case \"R\":\n case \"r\":\n currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === \"r\");\n break;\n case \"A\":\n case \"a\":\n const LIMIT = 26;\n const A_UPPER_CASE = 0x41,\n A_LOWER_CASE = 0x61;\n const baseCharCode = style === \"a\" ? A_LOWER_CASE : A_UPPER_CASE;\n const letterIndex = currentIndex - 1;\n const character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n currentLabel = character.repeat(Math.floor(letterIndex / LIMIT) + 1);\n break;\n default:\n if (style) {\n throw new _util.FormatError(`Invalid style \"${style}\" in PageLabel dictionary.`);\n }\n currentLabel = \"\";\n }\n pageLabels[i] = prefix + currentLabel;\n currentIndex++;\n }\n return pageLabels;\n }\n get pageLayout() {\n const obj = this._catDict.get(\"PageLayout\");\n let pageLayout = \"\";\n if (obj instanceof _primitives.Name) {\n switch (obj.name) {\n case \"SinglePage\":\n case \"OneColumn\":\n case \"TwoColumnLeft\":\n case \"TwoColumnRight\":\n case \"TwoPageLeft\":\n case \"TwoPageRight\":\n pageLayout = obj.name;\n }\n }\n return (0, _util.shadow)(this, \"pageLayout\", pageLayout);\n }\n get pageMode() {\n const obj = this._catDict.get(\"PageMode\");\n let pageMode = \"UseNone\";\n if (obj instanceof _primitives.Name) {\n switch (obj.name) {\n case \"UseNone\":\n case \"UseOutlines\":\n case \"UseThumbs\":\n case \"FullScreen\":\n case \"UseOC\":\n case \"UseAttachments\":\n pageMode = obj.name;\n }\n }\n return (0, _util.shadow)(this, \"pageMode\", pageMode);\n }\n get viewerPreferences() {\n const obj = this._catDict.get(\"ViewerPreferences\");\n if (!(obj instanceof _primitives.Dict)) {\n return (0, _util.shadow)(this, \"viewerPreferences\", null);\n }\n let prefs = null;\n for (const key of obj.getKeys()) {\n const value = obj.get(key);\n let prefValue;\n switch (key) {\n case \"HideToolbar\":\n case \"HideMenubar\":\n case \"HideWindowUI\":\n case \"FitWindow\":\n case \"CenterWindow\":\n case \"DisplayDocTitle\":\n case \"PickTrayByPDFSize\":\n if (typeof value === \"boolean\") {\n prefValue = value;\n }\n break;\n case \"NonFullScreenPageMode\":\n if (value instanceof _primitives.Name) {\n switch (value.name) {\n case \"UseNone\":\n case \"UseOutlines\":\n case \"UseThumbs\":\n case \"UseOC\":\n prefValue = value.name;\n break;\n default:\n prefValue = \"UseNone\";\n }\n }\n break;\n case \"Direction\":\n if (value instanceof _primitives.Name) {\n switch (value.name) {\n case \"L2R\":\n case \"R2L\":\n prefValue = value.name;\n break;\n default:\n prefValue = \"L2R\";\n }\n }\n break;\n case \"ViewArea\":\n case \"ViewClip\":\n case \"PrintArea\":\n case \"PrintClip\":\n if (value instanceof _primitives.Name) {\n switch (value.name) {\n case \"MediaBox\":\n case \"CropBox\":\n case \"BleedBox\":\n case \"TrimBox\":\n case \"ArtBox\":\n prefValue = value.name;\n break;\n default:\n prefValue = \"CropBox\";\n }\n }\n break;\n case \"PrintScaling\":\n if (value instanceof _primitives.Name) {\n switch (value.name) {\n case \"None\":\n case \"AppDefault\":\n prefValue = value.name;\n break;\n default:\n prefValue = \"AppDefault\";\n }\n }\n break;\n case \"Duplex\":\n if (value instanceof _primitives.Name) {\n switch (value.name) {\n case \"Simplex\":\n case \"DuplexFlipShortEdge\":\n case \"DuplexFlipLongEdge\":\n prefValue = value.name;\n break;\n default:\n prefValue = \"None\";\n }\n }\n break;\n case \"PrintPageRange\":\n if (Array.isArray(value) && value.length % 2 === 0) {\n const isValid = value.every((page, i, arr) => {\n return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= this.numPages;\n });\n if (isValid) {\n prefValue = value;\n }\n }\n break;\n case \"NumCopies\":\n if (Number.isInteger(value) && value > 0) {\n prefValue = value;\n }\n break;\n default:\n (0, _util.warn)(`Ignoring non-standard key in ViewerPreferences: ${key}.`);\n continue;\n }\n if (prefValue === undefined) {\n (0, _util.warn)(`Bad value, for key \"${key}\", in ViewerPreferences: ${value}.`);\n continue;\n }\n if (!prefs) {\n prefs = Object.create(null);\n }\n prefs[key] = prefValue;\n }\n return (0, _util.shadow)(this, \"viewerPreferences\", prefs);\n }\n get openAction() {\n const obj = this._catDict.get(\"OpenAction\");\n const openAction = Object.create(null);\n if (obj instanceof _primitives.Dict) {\n const destDict = new _primitives.Dict(this.xref);\n destDict.set(\"A\", obj);\n const resultObj = {\n url: null,\n dest: null,\n action: null\n };\n Catalog.parseDestDictionary({\n destDict,\n resultObj\n });\n if (Array.isArray(resultObj.dest)) {\n openAction.dest = resultObj.dest;\n } else if (resultObj.action) {\n openAction.action = resultObj.action;\n }\n } else if (Array.isArray(obj)) {\n openAction.dest = obj;\n }\n return (0, _util.shadow)(this, \"openAction\", (0, _util.objectSize)(openAction) > 0 ? openAction : null);\n }\n get attachments() {\n const obj = this._catDict.get(\"Names\");\n let attachments = null;\n if (obj instanceof _primitives.Dict && obj.has(\"EmbeddedFiles\")) {\n const nameTree = new _name_number_tree.NameTree(obj.getRaw(\"EmbeddedFiles\"), this.xref);\n for (const [key, value] of nameTree.getAll()) {\n const fs = new _file_spec.FileSpec(value, this.xref);\n if (!attachments) {\n attachments = Object.create(null);\n }\n attachments[(0, _util.stringToPDFString)(key)] = fs.serializable;\n }\n }\n return (0, _util.shadow)(this, \"attachments\", attachments);\n }\n get xfaImages() {\n const obj = this._catDict.get(\"Names\");\n let xfaImages = null;\n if (obj instanceof _primitives.Dict && obj.has(\"XFAImages\")) {\n const nameTree = new _name_number_tree.NameTree(obj.getRaw(\"XFAImages\"), this.xref);\n for (const [key, value] of nameTree.getAll()) {\n if (!xfaImages) {\n xfaImages = new _primitives.Dict(this.xref);\n }\n xfaImages.set((0, _util.stringToPDFString)(key), value);\n }\n }\n return (0, _util.shadow)(this, \"xfaImages\", xfaImages);\n }\n _collectJavaScript() {\n const obj = this._catDict.get(\"Names\");\n let javaScript = null;\n function appendIfJavaScriptDict(name, jsDict) {\n if (!(jsDict instanceof _primitives.Dict)) {\n return;\n }\n if (!(0, _primitives.isName)(jsDict.get(\"S\"), \"JavaScript\")) {\n return;\n }\n let js = jsDict.get(\"JS\");\n if (js instanceof _base_stream.BaseStream) {\n js = js.getString();\n } else if (typeof js !== \"string\") {\n return;\n }\n js = (0, _util.stringToPDFString)(js).replaceAll(\"\\x00\", \"\");\n if (js) {\n (javaScript ||= new Map()).set(name, js);\n }\n }\n if (obj instanceof _primitives.Dict && obj.has(\"JavaScript\")) {\n const nameTree = new _name_number_tree.NameTree(obj.getRaw(\"JavaScript\"), this.xref);\n for (const [key, value] of nameTree.getAll()) {\n appendIfJavaScriptDict((0, _util.stringToPDFString)(key), value);\n }\n }\n const openAction = this._catDict.get(\"OpenAction\");\n if (openAction) {\n appendIfJavaScriptDict(\"OpenAction\", openAction);\n }\n return javaScript;\n }\n get jsActions() {\n const javaScript = this._collectJavaScript();\n let actions = (0, _core_utils.collectActions)(this.xref, this._catDict, _util.DocumentActionEventType);\n if (javaScript) {\n actions ||= Object.create(null);\n for (const [key, val] of javaScript) {\n if (key in actions) {\n actions[key].push(val);\n } else {\n actions[key] = [val];\n }\n }\n }\n return (0, _util.shadow)(this, \"jsActions\", actions);\n }\n async fontFallback(id, handler) {\n const translatedFonts = await Promise.all(this.fontCache);\n for (const translatedFont of translatedFonts) {\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\n }\n }\n }\n async cleanup(manuallyTriggered = false) {\n (0, _cleanup_helper.clearGlobalCaches)();\n this.globalImageCache.clear(manuallyTriggered);\n this.pageKidsCountCache.clear();\n this.pageIndexCache.clear();\n this.nonBlendModesSet.clear();\n const translatedFonts = await Promise.all(this.fontCache);\n for (const {\n dict\n } of translatedFonts) {\n delete dict.cacheKey;\n }\n this.fontCache.clear();\n this.builtInCMapCache.clear();\n this.standardFontDataCache.clear();\n this.systemFontCache.clear();\n }\n async getPageDict(pageIndex) {\n const nodesToVisit = [this.toplevelPagesDict];\n const visitedNodes = new _primitives.RefSet();\n const pagesRef = this._catDict.getRaw(\"Pages\");\n if (pagesRef instanceof _primitives.Ref) {\n visitedNodes.put(pagesRef);\n }\n const xref = this.xref,\n pageKidsCountCache = this.pageKidsCountCache,\n pageIndexCache = this.pageIndexCache;\n let currentPageIndex = 0;\n while (nodesToVisit.length) {\n const currentNode = nodesToVisit.pop();\n if (currentNode instanceof _primitives.Ref) {\n const count = pageKidsCountCache.get(currentNode);\n if (count >= 0 && currentPageIndex + count <= pageIndex) {\n currentPageIndex += count;\n continue;\n }\n if (visitedNodes.has(currentNode)) {\n throw new _util.FormatError(\"Pages tree contains circular reference.\");\n }\n visitedNodes.put(currentNode);\n const obj = await xref.fetchAsync(currentNode);\n if (obj instanceof _primitives.Dict) {\n let type = obj.getRaw(\"Type\");\n if (type instanceof _primitives.Ref) {\n type = await xref.fetchAsync(type);\n }\n if ((0, _primitives.isName)(type, \"Page\") || !obj.has(\"Kids\")) {\n if (!pageKidsCountCache.has(currentNode)) {\n pageKidsCountCache.put(currentNode, 1);\n }\n if (!pageIndexCache.has(currentNode)) {\n pageIndexCache.put(currentNode, currentPageIndex);\n }\n if (currentPageIndex === pageIndex) {\n return [obj, currentNode];\n }\n currentPageIndex++;\n continue;\n }\n }\n nodesToVisit.push(obj);\n continue;\n }\n if (!(currentNode instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"Page dictionary kid reference points to wrong type of object.\");\n }\n const {\n objId\n } = currentNode;\n let count = currentNode.getRaw(\"Count\");\n if (count instanceof _primitives.Ref) {\n count = await xref.fetchAsync(count);\n }\n if (Number.isInteger(count) && count >= 0) {\n if (objId && !pageKidsCountCache.has(objId)) {\n pageKidsCountCache.put(objId, count);\n }\n if (currentPageIndex + count <= pageIndex) {\n currentPageIndex += count;\n continue;\n }\n }\n let kids = currentNode.getRaw(\"Kids\");\n if (kids instanceof _primitives.Ref) {\n kids = await xref.fetchAsync(kids);\n }\n if (!Array.isArray(kids)) {\n let type = currentNode.getRaw(\"Type\");\n if (type instanceof _primitives.Ref) {\n type = await xref.fetchAsync(type);\n }\n if ((0, _primitives.isName)(type, \"Page\") || !currentNode.has(\"Kids\")) {\n if (currentPageIndex === pageIndex) {\n return [currentNode, null];\n }\n currentPageIndex++;\n continue;\n }\n throw new _util.FormatError(\"Page dictionary kids object is not an array.\");\n }\n for (let last = kids.length - 1; last >= 0; last--) {\n nodesToVisit.push(kids[last]);\n }\n }\n throw new Error(`Page index ${pageIndex} not found.`);\n }\n async getAllPageDicts(recoveryMode = false) {\n const {\n ignoreErrors\n } = this.pdfManager.evaluatorOptions;\n const queue = [{\n currentNode: this.toplevelPagesDict,\n posInKids: 0\n }];\n const visitedNodes = new _primitives.RefSet();\n const pagesRef = this._catDict.getRaw(\"Pages\");\n if (pagesRef instanceof _primitives.Ref) {\n visitedNodes.put(pagesRef);\n }\n const map = new Map(),\n xref = this.xref,\n pageIndexCache = this.pageIndexCache;\n let pageIndex = 0;\n function addPageDict(pageDict, pageRef) {\n if (pageRef && !pageIndexCache.has(pageRef)) {\n pageIndexCache.put(pageRef, pageIndex);\n }\n map.set(pageIndex++, [pageDict, pageRef]);\n }\n function addPageError(error) {\n if (error instanceof _core_utils.XRefEntryException && !recoveryMode) {\n throw error;\n }\n if (recoveryMode && ignoreErrors && pageIndex === 0) {\n (0, _util.warn)(`getAllPageDicts - Skipping invalid first page: \"${error}\".`);\n error = _primitives.Dict.empty;\n }\n map.set(pageIndex++, [error, null]);\n }\n while (queue.length > 0) {\n const queueItem = queue.at(-1);\n const {\n currentNode,\n posInKids\n } = queueItem;\n let kids = currentNode.getRaw(\"Kids\");\n if (kids instanceof _primitives.Ref) {\n try {\n kids = await xref.fetchAsync(kids);\n } catch (ex) {\n addPageError(ex);\n break;\n }\n }\n if (!Array.isArray(kids)) {\n addPageError(new _util.FormatError(\"Page dictionary kids object is not an array.\"));\n break;\n }\n if (posInKids >= kids.length) {\n queue.pop();\n continue;\n }\n const kidObj = kids[posInKids];\n let obj;\n if (kidObj instanceof _primitives.Ref) {\n if (visitedNodes.has(kidObj)) {\n addPageError(new _util.FormatError(\"Pages tree contains circular reference.\"));\n break;\n }\n visitedNodes.put(kidObj);\n try {\n obj = await xref.fetchAsync(kidObj);\n } catch (ex) {\n addPageError(ex);\n break;\n }\n } else {\n obj = kidObj;\n }\n if (!(obj instanceof _primitives.Dict)) {\n addPageError(new _util.FormatError(\"Page dictionary kid reference points to wrong type of object.\"));\n break;\n }\n let type = obj.getRaw(\"Type\");\n if (type instanceof _primitives.Ref) {\n try {\n type = await xref.fetchAsync(type);\n } catch (ex) {\n addPageError(ex);\n break;\n }\n }\n if ((0, _primitives.isName)(type, \"Page\") || !obj.has(\"Kids\")) {\n addPageDict(obj, kidObj instanceof _primitives.Ref ? kidObj : null);\n } else {\n queue.push({\n currentNode: obj,\n posInKids: 0\n });\n }\n queueItem.posInKids++;\n }\n return map;\n }\n getPageIndex(pageRef) {\n const cachedPageIndex = this.pageIndexCache.get(pageRef);\n if (cachedPageIndex !== undefined) {\n return Promise.resolve(cachedPageIndex);\n }\n const xref = this.xref;\n function pagesBeforeRef(kidRef) {\n let total = 0,\n parentRef;\n return xref.fetchAsync(kidRef).then(function (node) {\n if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, \"Page\") && !(node instanceof _primitives.Dict && !node.has(\"Type\") && node.has(\"Contents\"))) {\n throw new _util.FormatError(\"The reference does not point to a /Page dictionary.\");\n }\n if (!node) {\n return null;\n }\n if (!(node instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"Node must be a dictionary.\");\n }\n parentRef = node.getRaw(\"Parent\");\n return node.getAsync(\"Parent\");\n }).then(function (parent) {\n if (!parent) {\n return null;\n }\n if (!(parent instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"Parent must be a dictionary.\");\n }\n return parent.getAsync(\"Kids\");\n }).then(function (kids) {\n if (!kids) {\n return null;\n }\n const kidPromises = [];\n let found = false;\n for (const kid of kids) {\n if (!(kid instanceof _primitives.Ref)) {\n throw new _util.FormatError(\"Kid must be a reference.\");\n }\n if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n found = true;\n break;\n }\n kidPromises.push(xref.fetchAsync(kid).then(function (obj) {\n if (!(obj instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"Kid node must be a dictionary.\");\n }\n if (obj.has(\"Count\")) {\n total += obj.get(\"Count\");\n } else {\n total++;\n }\n }));\n }\n if (!found) {\n throw new _util.FormatError(\"Kid reference not found in parent's kids.\");\n }\n return Promise.all(kidPromises).then(function () {\n return [total, parentRef];\n });\n });\n }\n let total = 0;\n const next = ref => pagesBeforeRef(ref).then(args => {\n if (!args) {\n this.pageIndexCache.put(pageRef, total);\n return total;\n }\n const [count, parentRef] = args;\n total += count;\n return next(parentRef);\n });\n return next(pageRef);\n }\n get baseUrl() {\n const uri = this._catDict.get(\"URI\");\n if (uri instanceof _primitives.Dict) {\n const base = uri.get(\"Base\");\n if (typeof base === \"string\") {\n const absoluteUrl = (0, _util.createValidAbsoluteUrl)(base, null, {\n tryConvertEncoding: true\n });\n if (absoluteUrl) {\n return (0, _util.shadow)(this, \"baseUrl\", absoluteUrl.href);\n }\n }\n }\n return (0, _util.shadow)(this, \"baseUrl\", this.pdfManager.docBaseUrl);\n }\n static parseDestDictionary({\n destDict,\n resultObj,\n docBaseUrl = null,\n docAttachments = null\n }) {\n if (!(destDict instanceof _primitives.Dict)) {\n (0, _util.warn)(\"parseDestDictionary: `destDict` must be a dictionary.\");\n return;\n }\n let action = destDict.get(\"A\"),\n url,\n dest;\n if (!(action instanceof _primitives.Dict)) {\n if (destDict.has(\"Dest\")) {\n action = destDict.get(\"Dest\");\n } else {\n action = destDict.get(\"AA\");\n if (action instanceof _primitives.Dict) {\n if (action.has(\"D\")) {\n action = action.get(\"D\");\n } else if (action.has(\"U\")) {\n action = action.get(\"U\");\n }\n }\n }\n }\n if (action instanceof _primitives.Dict) {\n const actionType = action.get(\"S\");\n if (!(actionType instanceof _primitives.Name)) {\n (0, _util.warn)(\"parseDestDictionary: Invalid type in Action dictionary.\");\n return;\n }\n const actionName = actionType.name;\n switch (actionName) {\n case \"ResetForm\":\n const flags = action.get(\"Flags\");\n const include = ((typeof flags === \"number\" ? flags : 0) & 1) === 0;\n const fields = [];\n const refs = [];\n for (const obj of action.get(\"Fields\") || []) {\n if (obj instanceof _primitives.Ref) {\n refs.push(obj.toString());\n } else if (typeof obj === \"string\") {\n fields.push((0, _util.stringToPDFString)(obj));\n }\n }\n resultObj.resetForm = {\n fields,\n refs,\n include\n };\n break;\n case \"URI\":\n url = action.get(\"URI\");\n if (url instanceof _primitives.Name) {\n url = \"/\" + url.name;\n }\n break;\n case \"GoTo\":\n dest = action.get(\"D\");\n break;\n case \"Launch\":\n case \"GoToR\":\n const urlDict = action.get(\"F\");\n if (urlDict instanceof _primitives.Dict) {\n url = urlDict.get(\"F\") || null;\n } else if (typeof urlDict === \"string\") {\n url = urlDict;\n }\n let remoteDest = action.get(\"D\");\n if (remoteDest) {\n if (remoteDest instanceof _primitives.Name) {\n remoteDest = remoteDest.name;\n }\n if (typeof url === \"string\") {\n const baseUrl = url.split(\"#\")[0];\n if (typeof remoteDest === \"string\") {\n url = baseUrl + \"#\" + remoteDest;\n } else if (Array.isArray(remoteDest)) {\n url = baseUrl + \"#\" + JSON.stringify(remoteDest);\n }\n }\n }\n const newWindow = action.get(\"NewWindow\");\n if (typeof newWindow === \"boolean\") {\n resultObj.newWindow = newWindow;\n }\n break;\n case \"GoToE\":\n const target = action.get(\"T\");\n let attachment;\n if (docAttachments && target instanceof _primitives.Dict) {\n const relationship = target.get(\"R\");\n const name = target.get(\"N\");\n if ((0, _primitives.isName)(relationship, \"C\") && typeof name === \"string\") {\n attachment = docAttachments[(0, _util.stringToPDFString)(name)];\n }\n }\n if (attachment) {\n resultObj.attachment = attachment;\n } else {\n (0, _util.warn)(`parseDestDictionary - unimplemented \"GoToE\" action.`);\n }\n break;\n case \"Named\":\n const namedAction = action.get(\"N\");\n if (namedAction instanceof _primitives.Name) {\n resultObj.action = namedAction.name;\n }\n break;\n case \"SetOCGState\":\n const state = action.get(\"State\");\n const preserveRB = action.get(\"PreserveRB\");\n if (!Array.isArray(state) || state.length === 0) {\n break;\n }\n const stateArr = [];\n for (const elem of state) {\n if (elem instanceof _primitives.Name) {\n switch (elem.name) {\n case \"ON\":\n case \"OFF\":\n case \"Toggle\":\n stateArr.push(elem.name);\n break;\n }\n } else if (elem instanceof _primitives.Ref) {\n stateArr.push(elem.toString());\n }\n }\n if (stateArr.length !== state.length) {\n break;\n }\n resultObj.setOCGState = {\n state: stateArr,\n preserveRB: typeof preserveRB === \"boolean\" ? preserveRB : true\n };\n break;\n case \"JavaScript\":\n const jsAction = action.get(\"JS\");\n let js;\n if (jsAction instanceof _base_stream.BaseStream) {\n js = jsAction.getString();\n } else if (typeof jsAction === \"string\") {\n js = jsAction;\n }\n const jsURL = js && (0, _core_utils.recoverJsURL)((0, _util.stringToPDFString)(js));\n if (jsURL) {\n url = jsURL.url;\n resultObj.newWindow = jsURL.newWindow;\n break;\n }\n default:\n if (actionName === \"JavaScript\" || actionName === \"SubmitForm\") {\n break;\n }\n (0, _util.warn)(`parseDestDictionary - unsupported action: \"${actionName}\".`);\n break;\n }\n } else if (destDict.has(\"Dest\")) {\n dest = destDict.get(\"Dest\");\n }\n if (typeof url === \"string\") {\n const absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl, {\n addDefaultProtocol: true,\n tryConvertEncoding: true\n });\n if (absoluteUrl) {\n resultObj.url = absoluteUrl.href;\n }\n resultObj.unsafeUrl = url;\n }\n if (dest) {\n if (dest instanceof _primitives.Name) {\n dest = dest.name;\n }\n if (typeof dest === \"string\") {\n resultObj.dest = (0, _util.stringToPDFString)(dest);\n } else if (Array.isArray(dest)) {\n resultObj.dest = dest;\n }\n }\n }\n}\nexports.Catalog = Catalog;\n\n/***/ }),\n/* 67 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NumberTree = exports.NameTree = void 0;\nvar _primitives = __w_pdfjs_require__(4);\nvar _util = __w_pdfjs_require__(2);\nclass NameOrNumberTree {\n constructor(root, xref, type) {\n if (this.constructor === NameOrNumberTree) {\n (0, _util.unreachable)(\"Cannot initialize NameOrNumberTree.\");\n }\n this.root = root;\n this.xref = xref;\n this._type = type;\n }\n getAll() {\n const map = new Map();\n if (!this.root) {\n return map;\n }\n const xref = this.xref;\n const processed = new _primitives.RefSet();\n processed.put(this.root);\n const queue = [this.root];\n while (queue.length > 0) {\n const obj = xref.fetchIfRef(queue.shift());\n if (!(obj instanceof _primitives.Dict)) {\n continue;\n }\n if (obj.has(\"Kids\")) {\n const kids = obj.get(\"Kids\");\n if (!Array.isArray(kids)) {\n continue;\n }\n for (const kid of kids) {\n if (processed.has(kid)) {\n throw new _util.FormatError(`Duplicate entry in \"${this._type}\" tree.`);\n }\n queue.push(kid);\n processed.put(kid);\n }\n continue;\n }\n const entries = obj.get(this._type);\n if (!Array.isArray(entries)) {\n continue;\n }\n for (let i = 0, ii = entries.length; i < ii; i += 2) {\n map.set(xref.fetchIfRef(entries[i]), xref.fetchIfRef(entries[i + 1]));\n }\n }\n return map;\n }\n get(key) {\n if (!this.root) {\n return null;\n }\n const xref = this.xref;\n let kidsOrEntries = xref.fetchIfRef(this.root);\n let loopCount = 0;\n const MAX_LEVELS = 10;\n while (kidsOrEntries.has(\"Kids\")) {\n if (++loopCount > MAX_LEVELS) {\n (0, _util.warn)(`Search depth limit reached for \"${this._type}\" tree.`);\n return null;\n }\n const kids = kidsOrEntries.get(\"Kids\");\n if (!Array.isArray(kids)) {\n return null;\n }\n let l = 0,\n r = kids.length - 1;\n while (l <= r) {\n const m = l + r >> 1;\n const kid = xref.fetchIfRef(kids[m]);\n const limits = kid.get(\"Limits\");\n if (key < xref.fetchIfRef(limits[0])) {\n r = m - 1;\n } else if (key > xref.fetchIfRef(limits[1])) {\n l = m + 1;\n } else {\n kidsOrEntries = kid;\n break;\n }\n }\n if (l > r) {\n return null;\n }\n }\n const entries = kidsOrEntries.get(this._type);\n if (Array.isArray(entries)) {\n let l = 0,\n r = entries.length - 2;\n while (l <= r) {\n const tmp = l + r >> 1,\n m = tmp + (tmp & 1);\n const currentKey = xref.fetchIfRef(entries[m]);\n if (key < currentKey) {\n r = m - 2;\n } else if (key > currentKey) {\n l = m + 2;\n } else {\n return xref.fetchIfRef(entries[m + 1]);\n }\n }\n }\n return null;\n }\n}\nclass NameTree extends NameOrNumberTree {\n constructor(root, xref) {\n super(root, xref, \"Names\");\n }\n}\nexports.NameTree = NameTree;\nclass NumberTree extends NameOrNumberTree {\n constructor(root, xref) {\n super(root, xref, \"Nums\");\n }\n}\nexports.NumberTree = NumberTree;\n\n/***/ }),\n/* 68 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.clearGlobalCaches = clearGlobalCaches;\nvar _pattern = __w_pdfjs_require__(50);\nvar _primitives = __w_pdfjs_require__(4);\nvar _unicode = __w_pdfjs_require__(40);\nfunction clearGlobalCaches() {\n (0, _pattern.clearPatternCaches)();\n (0, _primitives.clearPrimitiveCaches)();\n (0, _unicode.clearUnicodeCaches)();\n}\n\n/***/ }),\n/* 69 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FileSpec = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _primitives = __w_pdfjs_require__(4);\nfunction pickPlatformItem(dict) {\n if (dict.has(\"UF\")) {\n return dict.get(\"UF\");\n } else if (dict.has(\"F\")) {\n return dict.get(\"F\");\n } else if (dict.has(\"Unix\")) {\n return dict.get(\"Unix\");\n } else if (dict.has(\"Mac\")) {\n return dict.get(\"Mac\");\n } else if (dict.has(\"DOS\")) {\n return dict.get(\"DOS\");\n }\n return null;\n}\nclass FileSpec {\n constructor(root, xref) {\n if (!(root instanceof _primitives.Dict)) {\n return;\n }\n this.xref = xref;\n this.root = root;\n if (root.has(\"FS\")) {\n this.fs = root.get(\"FS\");\n }\n this.description = root.has(\"Desc\") ? (0, _util.stringToPDFString)(root.get(\"Desc\")) : \"\";\n if (root.has(\"RF\")) {\n (0, _util.warn)(\"Related file specifications are not supported\");\n }\n this.contentAvailable = true;\n if (!root.has(\"EF\")) {\n this.contentAvailable = false;\n (0, _util.warn)(\"Non-embedded file specifications are not supported\");\n }\n }\n get filename() {\n if (!this._filename && this.root) {\n const filename = pickPlatformItem(this.root) || \"unnamed\";\n this._filename = (0, _util.stringToPDFString)(filename).replaceAll(\"\\\\\\\\\", \"\\\\\").replaceAll(\"\\\\/\", \"/\").replaceAll(\"\\\\\", \"/\");\n }\n return this._filename;\n }\n get content() {\n if (!this.contentAvailable) {\n return null;\n }\n if (!this.contentRef && this.root) {\n this.contentRef = pickPlatformItem(this.root.get(\"EF\"));\n }\n let content = null;\n if (this.contentRef) {\n const fileObj = this.xref.fetchIfRef(this.contentRef);\n if (fileObj instanceof _base_stream.BaseStream) {\n content = fileObj.getBytes();\n } else {\n (0, _util.warn)(\"Embedded file specification points to non-existing/invalid content\");\n }\n } else {\n (0, _util.warn)(\"Embedded file specification does not have a content\");\n }\n return content;\n }\n get serializable() {\n return {\n filename: this.filename,\n content: this.content\n };\n }\n}\nexports.FileSpec = FileSpec;\n\n/***/ }),\n/* 70 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MetadataParser = void 0;\nvar _xml_parser = __w_pdfjs_require__(71);\nclass MetadataParser {\n constructor(data) {\n data = this._repair(data);\n const parser = new _xml_parser.SimpleXMLParser({\n lowerCaseName: true\n });\n const xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n this._data = data;\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n _repair(data) {\n return data.replace(/^[^<]+/, \"\").replaceAll(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n const bytes = codes.replaceAll(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replaceAll(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n case \"apos\":\n return \"'\";\n case \"gt\":\n return \">\";\n case \"lt\":\n return \"<\";\n case \"quot\":\n return '\"';\n }\n throw new Error(`_repair: ${name} isn't defined.`);\n });\n const charBuf = [\">\"];\n for (let i = 0, ii = bytes.length; i < ii; i += 2) {\n const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n charBuf.push(String.fromCharCode(code));\n } else {\n charBuf.push(\"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\");\n }\n }\n return charBuf.join(\"\");\n });\n }\n _getSequence(entry) {\n const name = entry.nodeName;\n if (name !== \"rdf:bag\" && name !== \"rdf:seq\" && name !== \"rdf:alt\") {\n return null;\n }\n return entry.childNodes.filter(node => node.nodeName === \"rdf:li\");\n }\n _parseArray(entry) {\n if (!entry.hasChildNodes()) {\n return;\n }\n const [seqNode] = entry.childNodes;\n const sequence = this._getSequence(seqNode) || [];\n this._metadataMap.set(entry.nodeName, sequence.map(node => node.textContent.trim()));\n }\n _parse(xmlDocument) {\n let rdf = xmlDocument.documentElement;\n if (rdf.nodeName !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n if (!rdf || rdf.nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n for (const desc of rdf.childNodes) {\n if (desc.nodeName !== \"rdf:description\") {\n continue;\n }\n for (const entry of desc.childNodes) {\n const name = entry.nodeName;\n switch (name) {\n case \"#text\":\n continue;\n case \"dc:creator\":\n case \"dc:subject\":\n this._parseArray(entry);\n continue;\n }\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n get serializable() {\n return {\n parsedData: this._metadataMap,\n rawData: this._data\n };\n }\n}\nexports.MetadataParser = MetadataParser;\n\n/***/ }),\n/* 71 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XMLParserErrorCode = exports.XMLParserBase = exports.SimpleXMLParser = exports.SimpleDOMNode = void 0;\nvar _core_utils = __w_pdfjs_require__(3);\nconst XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\nexports.XMLParserErrorCode = XMLParserErrorCode;\nfunction isWhitespace(s, index) {\n const ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\nfunction isWhitespaceString(s) {\n for (let i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n return true;\n}\nclass XMLParserBase {\n _resolveEntities(s) {\n return s.replaceAll(/&([^;]+);/g, (all, entity) => {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCodePoint(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCodePoint(parseInt(entity.substring(1), 10));\n }\n switch (entity) {\n case \"lt\":\n return \"<\";\n case \"gt\":\n return \">\";\n case \"amp\":\n return \"&\";\n case \"quot\":\n return '\"';\n case \"apos\":\n return \"'\";\n }\n return this.onResolveEntity(entity);\n });\n }\n _parseContent(s, start) {\n const attributes = [];\n let pos = start;\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n const name = s.substring(start, pos);\n skipWs();\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n let attrName = \"\",\n attrValue = \"\";\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n skipWs();\n if (s[pos] !== \"=\") {\n return null;\n }\n ++pos;\n skipWs();\n const attrEndChar = s[pos];\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n const attrEndIndex = s.indexOf(attrEndChar, ++pos);\n if (attrEndIndex < 0) {\n return null;\n }\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n return {\n name,\n attributes,\n parsed: pos - start\n };\n }\n _parseProcessingInstruction(s, start) {\n let pos = start;\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"?\" && s[pos] !== \"/\") {\n ++pos;\n }\n const name = s.substring(start, pos);\n skipWs();\n const attrStart = pos;\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n const value = s.substring(attrStart, pos);\n return {\n name,\n value,\n parsed: pos - start\n };\n }\n parseXml(s) {\n let i = 0;\n while (i < s.length) {\n const ch = s[i];\n let j = i;\n if (ch === \"<\") {\n ++j;\n const ch2 = s[j];\n let q;\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n case \"?\":\n ++j;\n const pi = this._parseProcessingInstruction(s, j);\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n const q2 = s.indexOf(\"[\", j + 8);\n let complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n complexDoctype = true;\n }\n const doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n break;\n default:\n const content = this._parseContent(s, j);\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n let isClosed = false;\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n const text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n i = j;\n }\n }\n onResolveEntity(name) {\n return `&${name};`;\n }\n onPi(name, value) {}\n onComment(text) {}\n onCdata(text) {}\n onDoctype(doctypeContent) {}\n onText(text) {}\n onBeginElement(name, attributes, isEmpty) {}\n onEndElement(name) {}\n onError(code) {}\n}\nexports.XMLParserBase = XMLParserBase;\nclass SimpleDOMNode {\n constructor(nodeName, nodeValue) {\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n get firstChild() {\n return this.childNodes?.[0];\n }\n get nextSibling() {\n const childNodes = this.parentNode.childNodes;\n if (!childNodes) {\n return undefined;\n }\n const index = childNodes.indexOf(this);\n if (index === -1) {\n return undefined;\n }\n return childNodes[index + 1];\n }\n get textContent() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n get children() {\n return this.childNodes || [];\n }\n hasChildNodes() {\n return this.childNodes?.length > 0;\n }\n searchNode(paths, pos) {\n if (pos >= paths.length) {\n return this;\n }\n const component = paths[pos];\n if (component.name.startsWith(\"#\") && pos < paths.length - 1) {\n return this.searchNode(paths, pos + 1);\n }\n const stack = [];\n let node = this;\n while (true) {\n if (component.name === node.nodeName) {\n if (component.pos === 0) {\n const res = node.searchNode(paths, pos + 1);\n if (res !== null) {\n return res;\n }\n } else if (stack.length === 0) {\n return null;\n } else {\n const [parent] = stack.pop();\n let siblingPos = 0;\n for (const child of parent.childNodes) {\n if (component.name === child.nodeName) {\n if (siblingPos === component.pos) {\n return child.searchNode(paths, pos + 1);\n }\n siblingPos++;\n }\n }\n return node.searchNode(paths, pos + 1);\n }\n }\n if (node.childNodes?.length > 0) {\n stack.push([node, 0]);\n node = node.childNodes[0];\n } else if (stack.length === 0) {\n return null;\n } else {\n while (stack.length !== 0) {\n const [parent, currentPos] = stack.pop();\n const newPos = currentPos + 1;\n if (newPos < parent.childNodes.length) {\n stack.push([parent, newPos]);\n node = parent.childNodes[newPos];\n break;\n }\n }\n if (stack.length === 0) {\n return null;\n }\n }\n }\n }\n dump(buffer) {\n if (this.nodeName === \"#text\") {\n buffer.push((0, _core_utils.encodeToXmlString)(this.nodeValue));\n return;\n }\n buffer.push(`<${this.nodeName}`);\n if (this.attributes) {\n for (const attribute of this.attributes) {\n buffer.push(` ${attribute.name}=\"${(0, _core_utils.encodeToXmlString)(attribute.value)}\"`);\n }\n }\n if (this.hasChildNodes()) {\n buffer.push(\">\");\n for (const child of this.childNodes) {\n child.dump(buffer);\n }\n buffer.push(``);\n } else if (this.nodeValue) {\n buffer.push(`>${(0, _core_utils.encodeToXmlString)(this.nodeValue)}`);\n } else {\n buffer.push(\"/>\");\n }\n }\n}\nexports.SimpleDOMNode = SimpleDOMNode;\nclass SimpleXMLParser extends XMLParserBase {\n constructor({\n hasAttributes = false,\n lowerCaseName = false\n }) {\n super();\n this._currentFragment = null;\n this._stack = null;\n this._errorCode = XMLParserErrorCode.NoError;\n this._hasAttributes = hasAttributes;\n this._lowerCaseName = lowerCaseName;\n }\n parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n const [documentElement] = this._currentFragment;\n if (!documentElement) {\n return undefined;\n }\n return {\n documentElement\n };\n }\n onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n const node = new SimpleDOMNode(\"#text\", text);\n this._currentFragment.push(node);\n }\n onCdata(text) {\n const node = new SimpleDOMNode(\"#text\", text);\n this._currentFragment.push(node);\n }\n onBeginElement(name, attributes, isEmpty) {\n if (this._lowerCaseName) {\n name = name.toLowerCase();\n }\n const node = new SimpleDOMNode(name);\n node.childNodes = [];\n if (this._hasAttributes) {\n node.attributes = attributes;\n }\n this._currentFragment.push(node);\n if (isEmpty) {\n return;\n }\n this._stack.push(this._currentFragment);\n this._currentFragment = node.childNodes;\n }\n onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n const lastElement = this._currentFragment.at(-1);\n if (!lastElement) {\n return null;\n }\n for (const childNode of lastElement.childNodes) {\n childNode.parentNode = lastElement;\n }\n return lastElement;\n }\n onError(code) {\n this._errorCode = code;\n }\n}\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 72 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StructTreeRoot = exports.StructTreePage = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _name_number_tree = __w_pdfjs_require__(67);\nvar _writer = __w_pdfjs_require__(73);\nconst MAX_DEPTH = 40;\nconst StructElementType = {\n PAGE_CONTENT: 1,\n STREAM_CONTENT: 2,\n OBJECT: 3,\n ANNOTATION: 4,\n ELEMENT: 5\n};\nclass StructTreeRoot {\n constructor(rootDict, rootRef) {\n this.dict = rootDict;\n this.ref = rootRef instanceof _primitives.Ref ? rootRef : null;\n this.roleMap = new Map();\n this.structParentIds = null;\n }\n init() {\n this.readRoleMap();\n }\n #addIdToPage(pageRef, id, type) {\n if (!(pageRef instanceof _primitives.Ref) || id < 0) {\n return;\n }\n this.structParentIds ||= new _primitives.RefSetCache();\n let ids = this.structParentIds.get(pageRef);\n if (!ids) {\n ids = [];\n this.structParentIds.put(pageRef, ids);\n }\n ids.push([id, type]);\n }\n addAnnotationIdToPage(pageRef, id) {\n this.#addIdToPage(pageRef, id, StructElementType.ANNOTATION);\n }\n readRoleMap() {\n const roleMapDict = this.dict.get(\"RoleMap\");\n if (!(roleMapDict instanceof _primitives.Dict)) {\n return;\n }\n roleMapDict.forEach((key, value) => {\n if (!(value instanceof _primitives.Name)) {\n return;\n }\n this.roleMap.set(key, value.name);\n });\n }\n static async canCreateStructureTree({\n catalogRef,\n pdfManager,\n newAnnotationsByPage\n }) {\n if (!(catalogRef instanceof _primitives.Ref)) {\n (0, _util.warn)(\"Cannot save the struct tree: no catalog reference.\");\n return false;\n }\n let nextKey = 0;\n let hasNothingToUpdate = true;\n for (const [pageIndex, elements] of newAnnotationsByPage) {\n const {\n ref: pageRef\n } = await pdfManager.getPage(pageIndex);\n if (!(pageRef instanceof _primitives.Ref)) {\n (0, _util.warn)(`Cannot save the struct tree: page ${pageIndex} has no ref.`);\n hasNothingToUpdate = true;\n break;\n }\n for (const element of elements) {\n if (element.accessibilityData?.type) {\n element.parentTreeId = nextKey++;\n hasNothingToUpdate = false;\n }\n }\n }\n if (hasNothingToUpdate) {\n for (const elements of newAnnotationsByPage.values()) {\n for (const element of elements) {\n delete element.parentTreeId;\n }\n }\n return false;\n }\n return true;\n }\n static async createStructureTree({\n newAnnotationsByPage,\n xref,\n catalogRef,\n pdfManager,\n newRefs\n }) {\n const root = pdfManager.catalog.cloneDict();\n const structTreeRootRef = xref.getNewTemporaryRef();\n root.set(\"StructTreeRoot\", structTreeRootRef);\n const buffer = [];\n await (0, _writer.writeObject)(catalogRef, root, buffer, xref);\n newRefs.push({\n ref: catalogRef,\n data: buffer.join(\"\")\n });\n const structTreeRoot = new _primitives.Dict(xref);\n structTreeRoot.set(\"Type\", _primitives.Name.get(\"StructTreeRoot\"));\n const parentTreeRef = xref.getNewTemporaryRef();\n structTreeRoot.set(\"ParentTree\", parentTreeRef);\n const kids = [];\n structTreeRoot.set(\"K\", kids);\n const parentTree = new _primitives.Dict(xref);\n const nums = [];\n parentTree.set(\"Nums\", nums);\n const nextKey = await this.#writeKids({\n newAnnotationsByPage,\n structTreeRootRef,\n kids,\n nums,\n xref,\n pdfManager,\n newRefs,\n buffer\n });\n structTreeRoot.set(\"ParentTreeNextKey\", nextKey);\n buffer.length = 0;\n await (0, _writer.writeObject)(parentTreeRef, parentTree, buffer, xref);\n newRefs.push({\n ref: parentTreeRef,\n data: buffer.join(\"\")\n });\n buffer.length = 0;\n await (0, _writer.writeObject)(structTreeRootRef, structTreeRoot, buffer, xref);\n newRefs.push({\n ref: structTreeRootRef,\n data: buffer.join(\"\")\n });\n }\n async canUpdateStructTree({\n pdfManager,\n newAnnotationsByPage\n }) {\n if (!this.ref) {\n (0, _util.warn)(\"Cannot update the struct tree: no root reference.\");\n return false;\n }\n let nextKey = this.dict.get(\"ParentTreeNextKey\");\n if (!Number.isInteger(nextKey) || nextKey < 0) {\n (0, _util.warn)(\"Cannot update the struct tree: invalid next key.\");\n return false;\n }\n const parentTree = this.dict.get(\"ParentTree\");\n if (!(parentTree instanceof _primitives.Dict)) {\n (0, _util.warn)(\"Cannot update the struct tree: ParentTree isn't a dict.\");\n return false;\n }\n const nums = parentTree.get(\"Nums\");\n if (!Array.isArray(nums)) {\n (0, _util.warn)(\"Cannot update the struct tree: nums isn't an array.\");\n return false;\n }\n const {\n numPages\n } = pdfManager.catalog;\n for (const pageIndex of newAnnotationsByPage.keys()) {\n const {\n pageDict,\n ref: pageRef\n } = await pdfManager.getPage(pageIndex);\n if (!(pageRef instanceof _primitives.Ref)) {\n (0, _util.warn)(`Cannot save the struct tree: page ${pageIndex} has no ref.`);\n return false;\n }\n const id = pageDict.get(\"StructParents\");\n if (!Number.isInteger(id) || id < 0 || id >= numPages) {\n (0, _util.warn)(`Cannot save the struct tree: page ${pageIndex} has no id.`);\n return false;\n }\n }\n let hasNothingToUpdate = true;\n for (const [pageIndex, elements] of newAnnotationsByPage) {\n const {\n pageDict\n } = await pdfManager.getPage(pageIndex);\n StructTreeRoot.#collectParents({\n elements,\n xref: this.dict.xref,\n pageDict,\n parentTree\n });\n for (const element of elements) {\n if (element.accessibilityData?.type) {\n element.parentTreeId = nextKey++;\n hasNothingToUpdate = false;\n }\n }\n }\n if (hasNothingToUpdate) {\n for (const elements of newAnnotationsByPage.values()) {\n for (const element of elements) {\n delete element.parentTreeId;\n delete element.structTreeParent;\n }\n }\n return false;\n }\n return true;\n }\n async updateStructureTree({\n newAnnotationsByPage,\n pdfManager,\n newRefs\n }) {\n const xref = this.dict.xref;\n const structTreeRoot = this.dict.clone();\n const structTreeRootRef = this.ref;\n let parentTreeRef = structTreeRoot.getRaw(\"ParentTree\");\n let parentTree;\n if (parentTreeRef instanceof _primitives.Ref) {\n parentTree = xref.fetch(parentTreeRef);\n } else {\n parentTree = parentTreeRef;\n parentTreeRef = xref.getNewTemporaryRef();\n structTreeRoot.set(\"ParentTree\", parentTreeRef);\n }\n parentTree = parentTree.clone();\n let nums = parentTree.getRaw(\"Nums\");\n let numsRef = null;\n if (nums instanceof _primitives.Ref) {\n numsRef = nums;\n nums = xref.fetch(numsRef);\n }\n nums = nums.slice();\n if (!numsRef) {\n parentTree.set(\"Nums\", nums);\n }\n let kids = structTreeRoot.getRaw(\"K\");\n let kidsRef = null;\n if (kids instanceof _primitives.Ref) {\n kidsRef = kids;\n kids = xref.fetch(kidsRef);\n } else {\n kidsRef = xref.getNewTemporaryRef();\n structTreeRoot.set(\"K\", kidsRef);\n }\n kids = Array.isArray(kids) ? kids.slice() : [kids];\n const buffer = [];\n const newNextkey = await StructTreeRoot.#writeKids({\n newAnnotationsByPage,\n structTreeRootRef,\n kids,\n nums,\n xref,\n pdfManager,\n newRefs,\n buffer\n });\n structTreeRoot.set(\"ParentTreeNextKey\", newNextkey);\n buffer.length = 0;\n await (0, _writer.writeObject)(kidsRef, kids, buffer, xref);\n newRefs.push({\n ref: kidsRef,\n data: buffer.join(\"\")\n });\n if (numsRef) {\n buffer.length = 0;\n await (0, _writer.writeObject)(numsRef, nums, buffer, xref);\n newRefs.push({\n ref: numsRef,\n data: buffer.join(\"\")\n });\n }\n buffer.length = 0;\n await (0, _writer.writeObject)(parentTreeRef, parentTree, buffer, xref);\n newRefs.push({\n ref: parentTreeRef,\n data: buffer.join(\"\")\n });\n buffer.length = 0;\n await (0, _writer.writeObject)(structTreeRootRef, structTreeRoot, buffer, xref);\n newRefs.push({\n ref: structTreeRootRef,\n data: buffer.join(\"\")\n });\n }\n static async #writeKids({\n newAnnotationsByPage,\n structTreeRootRef,\n kids,\n nums,\n xref,\n pdfManager,\n newRefs,\n buffer\n }) {\n const objr = _primitives.Name.get(\"OBJR\");\n let nextKey = -Infinity;\n for (const [pageIndex, elements] of newAnnotationsByPage) {\n const {\n ref: pageRef\n } = await pdfManager.getPage(pageIndex);\n for (const {\n accessibilityData: {\n type,\n title,\n lang,\n alt,\n expanded,\n actualText\n },\n ref,\n parentTreeId,\n structTreeParent\n } of elements) {\n nextKey = Math.max(nextKey, parentTreeId);\n const tagRef = xref.getNewTemporaryRef();\n const tagDict = new _primitives.Dict(xref);\n tagDict.set(\"S\", _primitives.Name.get(type));\n if (title) {\n tagDict.set(\"T\", title);\n }\n if (lang) {\n tagDict.set(\"Lang\", lang);\n }\n if (alt) {\n tagDict.set(\"Alt\", alt);\n }\n if (expanded) {\n tagDict.set(\"E\", expanded);\n }\n if (actualText) {\n tagDict.set(\"ActualText\", actualText);\n }\n if (structTreeParent) {\n await this.#updateParentTag({\n structTreeParent,\n tagDict,\n newTagRef: tagRef,\n fallbackRef: structTreeRootRef,\n xref,\n newRefs,\n buffer\n });\n } else {\n tagDict.set(\"P\", structTreeRootRef);\n }\n const objDict = new _primitives.Dict(xref);\n tagDict.set(\"K\", objDict);\n objDict.set(\"Type\", objr);\n objDict.set(\"Pg\", pageRef);\n objDict.set(\"Obj\", ref);\n buffer.length = 0;\n await (0, _writer.writeObject)(tagRef, tagDict, buffer, xref);\n newRefs.push({\n ref: tagRef,\n data: buffer.join(\"\")\n });\n nums.push(parentTreeId, tagRef);\n kids.push(tagRef);\n }\n }\n return nextKey + 1;\n }\n static #collectParents({\n elements,\n xref,\n pageDict,\n parentTree\n }) {\n const idToElement = new Map();\n for (const element of elements) {\n if (element.structTreeParentId) {\n const id = parseInt(element.structTreeParentId.split(\"_mc\")[1], 10);\n idToElement.set(id, element);\n }\n }\n const id = pageDict.get(\"StructParents\");\n const numberTree = new _name_number_tree.NumberTree(parentTree, xref);\n const parentArray = numberTree.get(id);\n if (!Array.isArray(parentArray)) {\n return;\n }\n const updateElement = (kid, pageKid, kidRef) => {\n const element = idToElement.get(kid);\n if (element) {\n const parentRef = pageKid.getRaw(\"P\");\n const parentDict = xref.fetchIfRef(parentRef);\n if (parentRef instanceof _primitives.Ref && parentDict instanceof _primitives.Dict) {\n element.structTreeParent = {\n ref: kidRef,\n dict: pageKid\n };\n }\n return true;\n }\n return false;\n };\n for (const kidRef of parentArray) {\n if (!(kidRef instanceof _primitives.Ref)) {\n continue;\n }\n const pageKid = xref.fetch(kidRef);\n const k = pageKid.get(\"K\");\n if (Number.isInteger(k)) {\n updateElement(k, pageKid, kidRef);\n continue;\n }\n if (!Array.isArray(k)) {\n continue;\n }\n for (let kid of k) {\n kid = xref.fetchIfRef(kid);\n if (Number.isInteger(kid) && updateElement(kid, pageKid, kidRef)) {\n break;\n }\n }\n }\n }\n static async #updateParentTag({\n structTreeParent: {\n ref,\n dict\n },\n tagDict,\n newTagRef,\n fallbackRef,\n xref,\n newRefs,\n buffer\n }) {\n const parentRef = dict.getRaw(\"P\");\n let parentDict = xref.fetchIfRef(parentRef);\n tagDict.set(\"P\", parentRef);\n let saveParentDict = false;\n let parentKids;\n let parentKidsRef = parentDict.getRaw(\"K\");\n if (!(parentKidsRef instanceof _primitives.Ref)) {\n parentKids = parentKidsRef;\n parentKidsRef = xref.getNewTemporaryRef();\n parentDict = parentDict.clone();\n parentDict.set(\"K\", parentKidsRef);\n saveParentDict = true;\n } else {\n parentKids = xref.fetch(parentKidsRef);\n }\n if (Array.isArray(parentKids)) {\n const index = parentKids.indexOf(ref);\n if (index >= 0) {\n parentKids = parentKids.slice();\n parentKids.splice(index + 1, 0, newTagRef);\n } else {\n (0, _util.warn)(\"Cannot update the struct tree: parent kid not found.\");\n tagDict.set(\"P\", fallbackRef);\n return;\n }\n } else if (parentKids instanceof _primitives.Dict) {\n parentKids = [parentKidsRef, newTagRef];\n parentKidsRef = xref.getNewTemporaryRef();\n parentDict.set(\"K\", parentKidsRef);\n saveParentDict = true;\n }\n buffer.length = 0;\n await (0, _writer.writeObject)(parentKidsRef, parentKids, buffer, xref);\n newRefs.push({\n ref: parentKidsRef,\n data: buffer.join(\"\")\n });\n if (!saveParentDict) {\n return;\n }\n buffer.length = 0;\n await (0, _writer.writeObject)(parentRef, parentDict, buffer, xref);\n newRefs.push({\n ref: parentRef,\n data: buffer.join(\"\")\n });\n }\n}\nexports.StructTreeRoot = StructTreeRoot;\nclass StructElementNode {\n constructor(tree, dict) {\n this.tree = tree;\n this.dict = dict;\n this.kids = [];\n this.parseKids();\n }\n get role() {\n const nameObj = this.dict.get(\"S\");\n const name = nameObj instanceof _primitives.Name ? nameObj.name : \"\";\n const {\n root\n } = this.tree;\n if (root.roleMap.has(name)) {\n return root.roleMap.get(name);\n }\n return name;\n }\n parseKids() {\n let pageObjId = null;\n const objRef = this.dict.getRaw(\"Pg\");\n if (objRef instanceof _primitives.Ref) {\n pageObjId = objRef.toString();\n }\n const kids = this.dict.get(\"K\");\n if (Array.isArray(kids)) {\n for (const kid of kids) {\n const element = this.parseKid(pageObjId, kid);\n if (element) {\n this.kids.push(element);\n }\n }\n } else {\n const element = this.parseKid(pageObjId, kids);\n if (element) {\n this.kids.push(element);\n }\n }\n }\n parseKid(pageObjId, kid) {\n if (Number.isInteger(kid)) {\n if (this.tree.pageDict.objId !== pageObjId) {\n return null;\n }\n return new StructElement({\n type: StructElementType.PAGE_CONTENT,\n mcid: kid,\n pageObjId\n });\n }\n let kidDict = null;\n if (kid instanceof _primitives.Ref) {\n kidDict = this.dict.xref.fetch(kid);\n } else if (kid instanceof _primitives.Dict) {\n kidDict = kid;\n }\n if (!kidDict) {\n return null;\n }\n const pageRef = kidDict.getRaw(\"Pg\");\n if (pageRef instanceof _primitives.Ref) {\n pageObjId = pageRef.toString();\n }\n const type = kidDict.get(\"Type\") instanceof _primitives.Name ? kidDict.get(\"Type\").name : null;\n if (type === \"MCR\") {\n if (this.tree.pageDict.objId !== pageObjId) {\n return null;\n }\n const kidRef = kidDict.getRaw(\"Stm\");\n return new StructElement({\n type: StructElementType.STREAM_CONTENT,\n refObjId: kidRef instanceof _primitives.Ref ? kidRef.toString() : null,\n pageObjId,\n mcid: kidDict.get(\"MCID\")\n });\n }\n if (type === \"OBJR\") {\n if (this.tree.pageDict.objId !== pageObjId) {\n return null;\n }\n const kidRef = kidDict.getRaw(\"Obj\");\n return new StructElement({\n type: StructElementType.OBJECT,\n refObjId: kidRef instanceof _primitives.Ref ? kidRef.toString() : null,\n pageObjId\n });\n }\n return new StructElement({\n type: StructElementType.ELEMENT,\n dict: kidDict\n });\n }\n}\nclass StructElement {\n constructor({\n type,\n dict = null,\n mcid = null,\n pageObjId = null,\n refObjId = null\n }) {\n this.type = type;\n this.dict = dict;\n this.mcid = mcid;\n this.pageObjId = pageObjId;\n this.refObjId = refObjId;\n this.parentNode = null;\n }\n}\nclass StructTreePage {\n constructor(structTreeRoot, pageDict) {\n this.root = structTreeRoot;\n this.rootDict = structTreeRoot ? structTreeRoot.dict : null;\n this.pageDict = pageDict;\n this.nodes = [];\n }\n parse(pageRef) {\n if (!this.root || !this.rootDict) {\n return;\n }\n const parentTree = this.rootDict.get(\"ParentTree\");\n if (!parentTree) {\n return;\n }\n const id = this.pageDict.get(\"StructParents\");\n const ids = pageRef instanceof _primitives.Ref && this.root.structParentIds?.get(pageRef);\n if (!Number.isInteger(id) && !ids) {\n return;\n }\n const map = new Map();\n const numberTree = new _name_number_tree.NumberTree(parentTree, this.rootDict.xref);\n if (Number.isInteger(id)) {\n const parentArray = numberTree.get(id);\n if (Array.isArray(parentArray)) {\n for (const ref of parentArray) {\n if (ref instanceof _primitives.Ref) {\n this.addNode(this.rootDict.xref.fetch(ref), map);\n }\n }\n }\n }\n if (!ids) {\n return;\n }\n for (const [elemId, type] of ids) {\n const obj = numberTree.get(elemId);\n if (obj) {\n const elem = this.addNode(this.rootDict.xref.fetchIfRef(obj), map);\n if (elem?.kids?.length === 1 && elem.kids[0].type === StructElementType.OBJECT) {\n elem.kids[0].type = type;\n }\n }\n }\n }\n addNode(dict, map, level = 0) {\n if (level > MAX_DEPTH) {\n (0, _util.warn)(\"StructTree MAX_DEPTH reached.\");\n return null;\n }\n if (map.has(dict)) {\n return map.get(dict);\n }\n const element = new StructElementNode(this, dict);\n map.set(dict, element);\n const parent = dict.get(\"P\");\n if (!parent || (0, _primitives.isName)(parent.get(\"Type\"), \"StructTreeRoot\")) {\n if (!this.addTopLevelNode(dict, element)) {\n map.delete(dict);\n }\n return element;\n }\n const parentNode = this.addNode(parent, map, level + 1);\n if (!parentNode) {\n return element;\n }\n let save = false;\n for (const kid of parentNode.kids) {\n if (kid.type === StructElementType.ELEMENT && kid.dict === dict) {\n kid.parentNode = element;\n save = true;\n }\n }\n if (!save) {\n map.delete(dict);\n }\n return element;\n }\n addTopLevelNode(dict, element) {\n const obj = this.rootDict.get(\"K\");\n if (!obj) {\n return false;\n }\n if (obj instanceof _primitives.Dict) {\n if (obj.objId !== dict.objId) {\n return false;\n }\n this.nodes[0] = element;\n return true;\n }\n if (!Array.isArray(obj)) {\n return true;\n }\n let save = false;\n for (let i = 0; i < obj.length; i++) {\n const kidRef = obj[i];\n if (kidRef?.toString() === dict.objId) {\n this.nodes[i] = element;\n save = true;\n }\n }\n return save;\n }\n get serializable() {\n function nodeToSerializable(node, parent, level = 0) {\n if (level > MAX_DEPTH) {\n (0, _util.warn)(\"StructTree too deep to be fully serialized.\");\n return;\n }\n const obj = Object.create(null);\n obj.role = node.role;\n obj.children = [];\n parent.children.push(obj);\n const alt = node.dict.get(\"Alt\");\n if (typeof alt === \"string\") {\n obj.alt = (0, _util.stringToPDFString)(alt);\n }\n const lang = node.dict.get(\"Lang\");\n if (typeof lang === \"string\") {\n obj.lang = (0, _util.stringToPDFString)(lang);\n }\n for (const kid of node.kids) {\n const kidElement = kid.type === StructElementType.ELEMENT ? kid.parentNode : null;\n if (kidElement) {\n nodeToSerializable(kidElement, obj, level + 1);\n continue;\n } else if (kid.type === StructElementType.PAGE_CONTENT || kid.type === StructElementType.STREAM_CONTENT) {\n obj.children.push({\n type: \"content\",\n id: `p${kid.pageObjId}_mc${kid.mcid}`\n });\n } else if (kid.type === StructElementType.OBJECT) {\n obj.children.push({\n type: \"object\",\n id: kid.refObjId\n });\n } else if (kid.type === StructElementType.ANNOTATION) {\n obj.children.push({\n type: \"annotation\",\n id: `${_util.AnnotationPrefix}${kid.refObjId}`\n });\n }\n }\n }\n const root = Object.create(null);\n root.children = [];\n root.role = \"Root\";\n for (const child of this.nodes) {\n if (!child) {\n continue;\n }\n nodeToSerializable(child, root);\n }\n return root;\n }\n}\nexports.StructTreePage = StructTreePage;\n\n/***/ }),\n/* 73 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.incrementalUpdate = incrementalUpdate;\nexports.writeDict = writeDict;\nexports.writeObject = writeObject;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _xml_parser = __w_pdfjs_require__(71);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _crypto = __w_pdfjs_require__(74);\nasync function writeObject(ref, obj, buffer, {\n encrypt = null\n}) {\n const transform = encrypt?.createCipherTransform(ref.num, ref.gen);\n buffer.push(`${ref.num} ${ref.gen} obj\\n`);\n if (obj instanceof _primitives.Dict) {\n await writeDict(obj, buffer, transform);\n } else if (obj instanceof _base_stream.BaseStream) {\n await writeStream(obj, buffer, transform);\n } else if (Array.isArray(obj)) {\n await writeArray(obj, buffer, transform);\n }\n buffer.push(\"\\nendobj\\n\");\n}\nasync function writeDict(dict, buffer, transform) {\n buffer.push(\"<<\");\n for (const key of dict.getKeys()) {\n buffer.push(` /${(0, _core_utils.escapePDFName)(key)} `);\n await writeValue(dict.getRaw(key), buffer, transform);\n }\n buffer.push(\">>\");\n}\nasync function writeStream(stream, buffer, transform) {\n let string = stream.getString();\n const {\n dict\n } = stream;\n const [filter, params] = await Promise.all([dict.getAsync(\"Filter\"), dict.getAsync(\"DecodeParms\")]);\n const filterZero = Array.isArray(filter) ? await dict.xref.fetchIfRefAsync(filter[0]) : filter;\n const isFilterZeroFlateDecode = (0, _primitives.isName)(filterZero, \"FlateDecode\");\n const MIN_LENGTH_FOR_COMPRESSING = 256;\n if (typeof CompressionStream !== \"undefined\" && (string.length >= MIN_LENGTH_FOR_COMPRESSING || isFilterZeroFlateDecode)) {\n try {\n const byteArray = (0, _util.stringToBytes)(string);\n const cs = new CompressionStream(\"deflate\");\n const writer = cs.writable.getWriter();\n writer.write(byteArray);\n writer.close();\n const buf = await new Response(cs.readable).arrayBuffer();\n string = (0, _util.bytesToString)(new Uint8Array(buf));\n let newFilter, newParams;\n if (!filter) {\n newFilter = _primitives.Name.get(\"FlateDecode\");\n } else if (!isFilterZeroFlateDecode) {\n newFilter = Array.isArray(filter) ? [_primitives.Name.get(\"FlateDecode\"), ...filter] : [_primitives.Name.get(\"FlateDecode\"), filter];\n if (params) {\n newParams = Array.isArray(params) ? [null, ...params] : [null, params];\n }\n }\n if (newFilter) {\n dict.set(\"Filter\", newFilter);\n }\n if (newParams) {\n dict.set(\"DecodeParms\", newParams);\n }\n } catch (ex) {\n (0, _util.info)(`writeStream - cannot compress data: \"${ex}\".`);\n }\n }\n if (transform) {\n string = transform.encryptString(string);\n }\n dict.set(\"Length\", string.length);\n await writeDict(dict, buffer, transform);\n buffer.push(\" stream\\n\", string, \"\\nendstream\");\n}\nasync function writeArray(array, buffer, transform) {\n buffer.push(\"[\");\n let first = true;\n for (const val of array) {\n if (!first) {\n buffer.push(\" \");\n } else {\n first = false;\n }\n await writeValue(val, buffer, transform);\n }\n buffer.push(\"]\");\n}\nasync function writeValue(value, buffer, transform) {\n if (value instanceof _primitives.Name) {\n buffer.push(`/${(0, _core_utils.escapePDFName)(value.name)}`);\n } else if (value instanceof _primitives.Ref) {\n buffer.push(`${value.num} ${value.gen} R`);\n } else if (Array.isArray(value)) {\n await writeArray(value, buffer, transform);\n } else if (typeof value === \"string\") {\n if (transform) {\n value = transform.encryptString(value);\n }\n buffer.push(`(${(0, _core_utils.escapeString)(value)})`);\n } else if (typeof value === \"number\") {\n buffer.push((0, _core_utils.numberToString)(value));\n } else if (typeof value === \"boolean\") {\n buffer.push(value.toString());\n } else if (value instanceof _primitives.Dict) {\n await writeDict(value, buffer, transform);\n } else if (value instanceof _base_stream.BaseStream) {\n await writeStream(value, buffer, transform);\n } else if (value === null) {\n buffer.push(\"null\");\n } else {\n (0, _util.warn)(`Unhandled value in writer: ${typeof value}, please file a bug.`);\n }\n}\nfunction writeInt(number, size, offset, buffer) {\n for (let i = size + offset - 1; i > offset - 1; i--) {\n buffer[i] = number & 0xff;\n number >>= 8;\n }\n return offset + size;\n}\nfunction writeString(string, offset, buffer) {\n for (let i = 0, len = string.length; i < len; i++) {\n buffer[offset + i] = string.charCodeAt(i) & 0xff;\n }\n}\nfunction computeMD5(filesize, xrefInfo) {\n const time = Math.floor(Date.now() / 1000);\n const filename = xrefInfo.filename || \"\";\n const md5Buffer = [time.toString(), filename, filesize.toString()];\n let md5BufferLen = md5Buffer.reduce((a, str) => a + str.length, 0);\n for (const value of Object.values(xrefInfo.info)) {\n md5Buffer.push(value);\n md5BufferLen += value.length;\n }\n const array = new Uint8Array(md5BufferLen);\n let offset = 0;\n for (const str of md5Buffer) {\n writeString(str, offset, array);\n offset += str.length;\n }\n return (0, _util.bytesToString)((0, _crypto.calculateMD5)(array));\n}\nfunction writeXFADataForAcroform(str, newRefs) {\n const xml = new _xml_parser.SimpleXMLParser({\n hasAttributes: true\n }).parseFromString(str);\n for (const {\n xfa\n } of newRefs) {\n if (!xfa) {\n continue;\n }\n const {\n path,\n value\n } = xfa;\n if (!path) {\n continue;\n }\n const nodePath = (0, _core_utils.parseXFAPath)(path);\n let node = xml.documentElement.searchNode(nodePath, 0);\n if (!node && nodePath.length > 1) {\n node = xml.documentElement.searchNode([nodePath.at(-1)], 0);\n }\n if (node) {\n node.childNodes = Array.isArray(value) ? value.map(val => new _xml_parser.SimpleDOMNode(\"value\", val)) : [new _xml_parser.SimpleDOMNode(\"#text\", value)];\n } else {\n (0, _util.warn)(`Node not found for path: ${path}`);\n }\n }\n const buffer = [];\n xml.documentElement.dump(buffer);\n return buffer.join(\"\");\n}\nasync function updateAcroform({\n xref,\n acroForm,\n acroFormRef,\n hasXfa,\n hasXfaDatasetsEntry,\n xfaDatasetsRef,\n needAppearances,\n newRefs\n}) {\n if (hasXfa && !hasXfaDatasetsEntry && !xfaDatasetsRef) {\n (0, _util.warn)(\"XFA - Cannot save it\");\n }\n if (!needAppearances && (!hasXfa || !xfaDatasetsRef || hasXfaDatasetsEntry)) {\n return;\n }\n const dict = acroForm.clone();\n if (hasXfa && !hasXfaDatasetsEntry) {\n const newXfa = acroForm.get(\"XFA\").slice();\n newXfa.splice(2, 0, \"datasets\");\n newXfa.splice(3, 0, xfaDatasetsRef);\n dict.set(\"XFA\", newXfa);\n }\n if (needAppearances) {\n dict.set(\"NeedAppearances\", true);\n }\n const buffer = [];\n await writeObject(acroFormRef, dict, buffer, xref);\n newRefs.push({\n ref: acroFormRef,\n data: buffer.join(\"\")\n });\n}\nfunction updateXFA({\n xfaData,\n xfaDatasetsRef,\n newRefs,\n xref\n}) {\n if (xfaData === null) {\n const datasets = xref.fetchIfRef(xfaDatasetsRef);\n xfaData = writeXFADataForAcroform(datasets.getString(), newRefs);\n }\n const encrypt = xref.encrypt;\n if (encrypt) {\n const transform = encrypt.createCipherTransform(xfaDatasetsRef.num, xfaDatasetsRef.gen);\n xfaData = transform.encryptString(xfaData);\n }\n const data = `${xfaDatasetsRef.num} ${xfaDatasetsRef.gen} obj\\n` + `<< /Type /EmbeddedFile /Length ${xfaData.length}>>\\nstream\\n` + xfaData + \"\\nendstream\\nendobj\\n\";\n newRefs.push({\n ref: xfaDatasetsRef,\n data\n });\n}\nasync function incrementalUpdate({\n originalData,\n xrefInfo,\n newRefs,\n xref = null,\n hasXfa = false,\n xfaDatasetsRef = null,\n hasXfaDatasetsEntry = false,\n needAppearances,\n acroFormRef = null,\n acroForm = null,\n xfaData = null\n}) {\n await updateAcroform({\n xref,\n acroForm,\n acroFormRef,\n hasXfa,\n hasXfaDatasetsEntry,\n xfaDatasetsRef,\n needAppearances,\n newRefs\n });\n if (hasXfa) {\n updateXFA({\n xfaData,\n xfaDatasetsRef,\n newRefs,\n xref\n });\n }\n const newXref = new _primitives.Dict(null);\n const refForXrefTable = xrefInfo.newRef;\n let buffer, baseOffset;\n const lastByte = originalData.at(-1);\n if (lastByte === 0x0a || lastByte === 0x0d) {\n buffer = [];\n baseOffset = originalData.length;\n } else {\n buffer = [\"\\n\"];\n baseOffset = originalData.length + 1;\n }\n newXref.set(\"Size\", refForXrefTable.num + 1);\n newXref.set(\"Prev\", xrefInfo.startXRef);\n newXref.set(\"Type\", _primitives.Name.get(\"XRef\"));\n if (xrefInfo.rootRef !== null) {\n newXref.set(\"Root\", xrefInfo.rootRef);\n }\n if (xrefInfo.infoRef !== null) {\n newXref.set(\"Info\", xrefInfo.infoRef);\n }\n if (xrefInfo.encryptRef !== null) {\n newXref.set(\"Encrypt\", xrefInfo.encryptRef);\n }\n newRefs.push({\n ref: refForXrefTable,\n data: \"\"\n });\n newRefs = newRefs.sort((a, b) => {\n return a.ref.num - b.ref.num;\n });\n const xrefTableData = [[0, 1, 0xffff]];\n const indexes = [0, 1];\n let maxOffset = 0;\n for (const {\n ref,\n data\n } of newRefs) {\n maxOffset = Math.max(maxOffset, baseOffset);\n xrefTableData.push([1, baseOffset, Math.min(ref.gen, 0xffff)]);\n baseOffset += data.length;\n indexes.push(ref.num, 1);\n buffer.push(data);\n }\n newXref.set(\"Index\", indexes);\n if (Array.isArray(xrefInfo.fileIds) && xrefInfo.fileIds.length > 0) {\n const md5 = computeMD5(baseOffset, xrefInfo);\n newXref.set(\"ID\", [xrefInfo.fileIds[0], md5]);\n }\n const offsetSize = Math.ceil(Math.log2(maxOffset) / 8);\n const sizes = [1, offsetSize, 2];\n const structSize = sizes[0] + sizes[1] + sizes[2];\n const tableLength = structSize * xrefTableData.length;\n newXref.set(\"W\", sizes);\n newXref.set(\"Length\", tableLength);\n buffer.push(`${refForXrefTable.num} ${refForXrefTable.gen} obj\\n`);\n await writeDict(newXref, buffer, null);\n buffer.push(\" stream\\n\");\n const bufferLen = buffer.reduce((a, str) => a + str.length, 0);\n const footer = `\\nendstream\\nendobj\\nstartxref\\n${baseOffset}\\n%%EOF\\n`;\n const array = new Uint8Array(originalData.length + bufferLen + tableLength + footer.length);\n array.set(originalData);\n let offset = originalData.length;\n for (const str of buffer) {\n writeString(str, offset, array);\n offset += str.length;\n }\n for (const [type, objOffset, gen] of xrefTableData) {\n offset = writeInt(type, sizes[0], offset, array);\n offset = writeInt(objOffset, sizes[1], offset, array);\n offset = writeInt(gen, sizes[2], offset, array);\n }\n writeString(footer, offset, array);\n return array;\n}\n\n/***/ }),\n/* 74 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\nexports.calculateSHA384 = calculateSHA384;\nexports.calculateSHA512 = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _decrypt_stream = __w_pdfjs_require__(75);\nclass ARCFourCipher {\n constructor(key) {\n this.a = 0;\n this.b = 0;\n const s = new Uint8Array(256);\n const keyLength = key.length;\n for (let i = 0; i < 256; ++i) {\n s[i] = i;\n }\n for (let i = 0, j = 0; i < 256; ++i) {\n const tmp = s[i];\n j = j + tmp + key[i % keyLength] & 0xff;\n s[i] = s[j];\n s[j] = tmp;\n }\n this.s = s;\n }\n encryptBlock(data) {\n let a = this.a,\n b = this.b;\n const s = this.s;\n const n = data.length;\n const output = new Uint8Array(n);\n for (let i = 0; i < n; ++i) {\n a = a + 1 & 0xff;\n const tmp = s[a];\n b = b + tmp & 0xff;\n const tmp2 = s[b];\n s[a] = tmp2;\n s[b] = tmp;\n output[i] = data[i] ^ s[tmp + tmp2 & 0xff];\n }\n this.a = a;\n this.b = b;\n return output;\n }\n decryptBlock(data) {\n return this.encryptBlock(data);\n }\n encrypt(data) {\n return this.encryptBlock(data);\n }\n}\nexports.ARCFourCipher = ARCFourCipher;\nconst calculateMD5 = function calculateMD5Closure() {\n const r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n const k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n function hash(data, offset, length) {\n let h0 = 1732584193,\n h1 = -271733879,\n h2 = -1732584194,\n h3 = 271733878;\n const paddedLength = length + 72 & ~63;\n const padded = new Uint8Array(paddedLength);\n let i, j;\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n padded[i++] = 0x80;\n const n = paddedLength - 8;\n while (i < n) {\n padded[i++] = 0;\n }\n padded[i++] = length << 3 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n const w = new Int32Array(16);\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j, i += 4) {\n w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n }\n let a = h0,\n b = h1,\n c = h2,\n d = h3,\n f,\n g;\n for (j = 0; j < 64; ++j) {\n if (j < 16) {\n f = b & c | ~b & d;\n g = j;\n } else if (j < 32) {\n f = d & b | ~d & c;\n g = 5 * j + 1 & 15;\n } else if (j < 48) {\n f = b ^ c ^ d;\n g = 3 * j + 5 & 15;\n } else {\n f = c ^ (b | ~d);\n g = 7 * j & 15;\n }\n const tmp = d,\n rotateArg = a + f + k[j] + w[g] | 0,\n rotate = r[j];\n d = c;\n c = b;\n b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n a = tmp;\n }\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n }\n return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n }\n return hash;\n}();\nexports.calculateMD5 = calculateMD5;\nclass Word64 {\n constructor(highInteger, lowInteger) {\n this.high = highInteger | 0;\n this.low = lowInteger | 0;\n }\n and(word) {\n this.high &= word.high;\n this.low &= word.low;\n }\n xor(word) {\n this.high ^= word.high;\n this.low ^= word.low;\n }\n or(word) {\n this.high |= word.high;\n this.low |= word.low;\n }\n shiftRight(places) {\n if (places >= 32) {\n this.low = this.high >>> places - 32 | 0;\n this.high = 0;\n } else {\n this.low = this.low >>> places | this.high << 32 - places;\n this.high = this.high >>> places | 0;\n }\n }\n shiftLeft(places) {\n if (places >= 32) {\n this.high = this.low << places - 32;\n this.low = 0;\n } else {\n this.high = this.high << places | this.low >>> 32 - places;\n this.low <<= places;\n }\n }\n rotateRight(places) {\n let low, high;\n if (places & 32) {\n high = this.low;\n low = this.high;\n } else {\n low = this.low;\n high = this.high;\n }\n places &= 31;\n this.low = low >>> places | high << 32 - places;\n this.high = high >>> places | low << 32 - places;\n }\n not() {\n this.high = ~this.high;\n this.low = ~this.low;\n }\n add(word) {\n const lowAdd = (this.low >>> 0) + (word.low >>> 0);\n let highAdd = (this.high >>> 0) + (word.high >>> 0);\n if (lowAdd > 0xffffffff) {\n highAdd += 1;\n }\n this.low = lowAdd | 0;\n this.high = highAdd | 0;\n }\n copyTo(bytes, offset) {\n bytes[offset] = this.high >>> 24 & 0xff;\n bytes[offset + 1] = this.high >> 16 & 0xff;\n bytes[offset + 2] = this.high >> 8 & 0xff;\n bytes[offset + 3] = this.high & 0xff;\n bytes[offset + 4] = this.low >>> 24 & 0xff;\n bytes[offset + 5] = this.low >> 16 & 0xff;\n bytes[offset + 6] = this.low >> 8 & 0xff;\n bytes[offset + 7] = this.low & 0xff;\n }\n assign(word) {\n this.high = word.high;\n this.low = word.low;\n }\n}\nconst calculateSHA256 = function calculateSHA256Closure() {\n function rotr(x, n) {\n return x >>> n | x << 32 - n;\n }\n function ch(x, y, z) {\n return x & y ^ ~x & z;\n }\n function maj(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n function sigma(x) {\n return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n }\n function sigmaPrime(x) {\n return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n }\n function littleSigma(x) {\n return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n }\n function littleSigmaPrime(x) {\n return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n }\n const k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n function hash(data, offset, length) {\n let h0 = 0x6a09e667,\n h1 = 0xbb67ae85,\n h2 = 0x3c6ef372,\n h3 = 0xa54ff53a,\n h4 = 0x510e527f,\n h5 = 0x9b05688c,\n h6 = 0x1f83d9ab,\n h7 = 0x5be0cd19;\n const paddedLength = Math.ceil((length + 9) / 64) * 64;\n const padded = new Uint8Array(paddedLength);\n let i, j;\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n padded[i++] = 0x80;\n const n = paddedLength - 8;\n while (i < n) {\n padded[i++] = 0;\n }\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n const w = new Uint32Array(64);\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n i += 4;\n }\n for (j = 16; j < 64; ++j) {\n w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n }\n let a = h0,\n b = h1,\n c = h2,\n d = h3,\n e = h4,\n f = h5,\n g = h6,\n h = h7,\n t1,\n t2;\n for (j = 0; j < 64; ++j) {\n t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n t2 = sigma(a) + maj(a, b, c);\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n }\n return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n }\n return hash;\n}();\nexports.calculateSHA256 = calculateSHA256;\nconst calculateSHA512 = function calculateSHA512Closure() {\n function ch(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.not();\n tmp.and(z);\n result.xor(tmp);\n }\n function maj(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.and(z);\n result.xor(tmp);\n tmp.assign(y);\n tmp.and(z);\n result.xor(tmp);\n }\n function sigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(28);\n tmp.assign(x);\n tmp.rotateRight(34);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(39);\n result.xor(tmp);\n }\n function sigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(14);\n tmp.assign(x);\n tmp.rotateRight(18);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(41);\n result.xor(tmp);\n }\n function littleSigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(1);\n tmp.assign(x);\n tmp.rotateRight(8);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(7);\n result.xor(tmp);\n }\n function littleSigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(19);\n tmp.assign(x);\n tmp.rotateRight(61);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(6);\n result.xor(tmp);\n }\n const k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n function hash(data, offset, length, mode384 = false) {\n let h0, h1, h2, h3, h4, h5, h6, h7;\n if (!mode384) {\n h0 = new Word64(0x6a09e667, 0xf3bcc908);\n h1 = new Word64(0xbb67ae85, 0x84caa73b);\n h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n h4 = new Word64(0x510e527f, 0xade682d1);\n h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n h7 = new Word64(0x5be0cd19, 0x137e2179);\n } else {\n h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n h1 = new Word64(0x629a292a, 0x367cd507);\n h2 = new Word64(0x9159015a, 0x3070dd17);\n h3 = new Word64(0x152fecd8, 0xf70e5939);\n h4 = new Word64(0x67332667, 0xffc00b31);\n h5 = new Word64(0x8eb44a87, 0x68581511);\n h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n }\n const paddedLength = Math.ceil((length + 17) / 128) * 128;\n const padded = new Uint8Array(paddedLength);\n let i, j;\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n padded[i++] = 0x80;\n const n = paddedLength - 16;\n while (i < n) {\n padded[i++] = 0;\n }\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n const w = new Array(80);\n for (i = 0; i < 80; i++) {\n w[i] = new Word64(0, 0);\n }\n let a = new Word64(0, 0),\n b = new Word64(0, 0),\n c = new Word64(0, 0);\n let d = new Word64(0, 0),\n e = new Word64(0, 0),\n f = new Word64(0, 0);\n let g = new Word64(0, 0),\n h = new Word64(0, 0);\n const t1 = new Word64(0, 0),\n t2 = new Word64(0, 0);\n const tmp1 = new Word64(0, 0),\n tmp2 = new Word64(0, 0);\n let tmp3;\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n i += 8;\n }\n for (j = 16; j < 80; ++j) {\n tmp3 = w[j];\n littleSigmaPrime(tmp3, w[j - 2], tmp2);\n tmp3.add(w[j - 7]);\n littleSigma(tmp1, w[j - 15], tmp2);\n tmp3.add(tmp1);\n tmp3.add(w[j - 16]);\n }\n a.assign(h0);\n b.assign(h1);\n c.assign(h2);\n d.assign(h3);\n e.assign(h4);\n f.assign(h5);\n g.assign(h6);\n h.assign(h7);\n for (j = 0; j < 80; ++j) {\n t1.assign(h);\n sigmaPrime(tmp1, e, tmp2);\n t1.add(tmp1);\n ch(tmp1, e, f, g, tmp2);\n t1.add(tmp1);\n t1.add(k[j]);\n t1.add(w[j]);\n sigma(t2, a, tmp2);\n maj(tmp1, a, b, c, tmp2);\n t2.add(tmp1);\n tmp3 = h;\n h = g;\n g = f;\n f = e;\n d.add(t1);\n e = d;\n d = c;\n c = b;\n b = a;\n tmp3.assign(t1);\n tmp3.add(t2);\n a = tmp3;\n }\n h0.add(a);\n h1.add(b);\n h2.add(c);\n h3.add(d);\n h4.add(e);\n h5.add(f);\n h6.add(g);\n h7.add(h);\n }\n let result;\n if (!mode384) {\n result = new Uint8Array(64);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n h6.copyTo(result, 48);\n h7.copyTo(result, 56);\n } else {\n result = new Uint8Array(48);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n }\n return result;\n }\n return hash;\n}();\nexports.calculateSHA512 = calculateSHA512;\nfunction calculateSHA384(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n}\nclass NullCipher {\n decryptBlock(data) {\n return data;\n }\n encrypt(data) {\n return data;\n }\n}\nclass AESBaseCipher {\n constructor() {\n if (this.constructor === AESBaseCipher) {\n (0, _util.unreachable)(\"Cannot initialize AESBaseCipher.\");\n }\n this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n this._mixCol = new Uint8Array(256);\n for (let i = 0; i < 256; i++) {\n this._mixCol[i] = i < 128 ? i << 1 : i << 1 ^ 0x1b;\n }\n this.buffer = new Uint8Array(16);\n this.bufferPosition = 0;\n }\n _expandKey(cipherKey) {\n (0, _util.unreachable)(\"Cannot call `_expandKey` on the base class\");\n }\n _decrypt(input, key) {\n let t, u, v;\n const state = new Uint8Array(16);\n state.set(input);\n for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n for (let i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n for (let j = 0; j < 16; ++j) {\n state[j] = this._inv_s[state[j]];\n }\n for (let j = 0, k = i * 16; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n for (let j = 0; j < 16; j += 4) {\n const s0 = this._mix[state[j]];\n const s1 = this._mix[state[j + 1]];\n const s2 = this._mix[state[j + 2]];\n const s3 = this._mix[state[j + 3]];\n t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n state[j] = t >>> 24 & 0xff;\n state[j + 1] = t >> 16 & 0xff;\n state[j + 2] = t >> 8 & 0xff;\n state[j + 3] = t & 0xff;\n }\n }\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n for (let j = 0; j < 16; ++j) {\n state[j] = this._inv_s[state[j]];\n state[j] ^= key[j];\n }\n return state;\n }\n _encrypt(input, key) {\n const s = this._s;\n let t, u, v;\n const state = new Uint8Array(16);\n state.set(input);\n for (let j = 0; j < 16; ++j) {\n state[j] ^= key[j];\n }\n for (let i = 1; i < this._cyclesOfRepetition; i++) {\n for (let j = 0; j < 16; ++j) {\n state[j] = s[state[j]];\n }\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n for (let j = 0; j < 16; j += 4) {\n const s0 = state[j + 0];\n const s1 = state[j + 1];\n const s2 = state[j + 2];\n const s3 = state[j + 3];\n t = s0 ^ s1 ^ s2 ^ s3;\n state[j + 0] ^= t ^ this._mixCol[s0 ^ s1];\n state[j + 1] ^= t ^ this._mixCol[s1 ^ s2];\n state[j + 2] ^= t ^ this._mixCol[s2 ^ s3];\n state[j + 3] ^= t ^ this._mixCol[s3 ^ s0];\n }\n for (let j = 0, k = i * 16; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n }\n for (let j = 0; j < 16; ++j) {\n state[j] = s[state[j]];\n }\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n return state;\n }\n _decryptBlock2(data, finalize) {\n const sourceLength = data.length;\n let buffer = this.buffer,\n bufferLength = this.bufferPosition;\n const result = [];\n let iv = this.iv;\n for (let i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n if (bufferLength < 16) {\n continue;\n }\n const plain = this._decrypt(buffer, this._key);\n for (let j = 0; j < 16; ++j) {\n plain[j] ^= iv[j];\n }\n iv = buffer;\n result.push(plain);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n let outputLength = 16 * result.length;\n if (finalize) {\n const lastBlock = result.at(-1);\n let psLen = lastBlock[15];\n if (psLen <= 16) {\n for (let i = 15, ii = 16 - psLen; i >= ii; --i) {\n if (lastBlock[i] !== psLen) {\n psLen = 0;\n break;\n }\n }\n outputLength -= psLen;\n result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n }\n }\n const output = new Uint8Array(outputLength);\n for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n output.set(result[i], j);\n }\n return output;\n }\n decryptBlock(data, finalize, iv = null) {\n const sourceLength = data.length;\n const buffer = this.buffer;\n let bufferLength = this.bufferPosition;\n if (iv) {\n this.iv = iv;\n } else {\n for (let i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n buffer[bufferLength] = data[i];\n }\n if (bufferLength < 16) {\n this.bufferLength = bufferLength;\n return new Uint8Array(0);\n }\n this.iv = buffer;\n data = data.subarray(16);\n }\n this.buffer = new Uint8Array(16);\n this.bufferLength = 0;\n this.decryptBlock = this._decryptBlock2;\n return this.decryptBlock(data, finalize);\n }\n encrypt(data, iv) {\n const sourceLength = data.length;\n let buffer = this.buffer,\n bufferLength = this.bufferPosition;\n const result = [];\n if (!iv) {\n iv = new Uint8Array(16);\n }\n for (let i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n if (bufferLength < 16) {\n continue;\n }\n for (let j = 0; j < 16; ++j) {\n buffer[j] ^= iv[j];\n }\n const cipher = this._encrypt(buffer, this._key);\n iv = cipher;\n result.push(cipher);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n const outputLength = 16 * result.length;\n const output = new Uint8Array(outputLength);\n for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n output.set(result[i], j);\n }\n return output;\n }\n}\nclass AES128Cipher extends AESBaseCipher {\n constructor(key) {\n super();\n this._cyclesOfRepetition = 10;\n this._keySize = 160;\n this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n this._key = this._expandKey(key);\n }\n _expandKey(cipherKey) {\n const b = 176;\n const s = this._s;\n const rcon = this._rcon;\n const result = new Uint8Array(b);\n result.set(cipherKey);\n for (let j = 16, i = 1; j < b; ++i) {\n let t1 = result[j - 3];\n let t2 = result[j - 2];\n let t3 = result[j - 1];\n let t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 ^= rcon[i];\n for (let n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 16];\n j++;\n result[j] = t2 ^= result[j - 16];\n j++;\n result[j] = t3 ^= result[j - 16];\n j++;\n result[j] = t4 ^= result[j - 16];\n j++;\n }\n }\n return result;\n }\n}\nexports.AES128Cipher = AES128Cipher;\nclass AES256Cipher extends AESBaseCipher {\n constructor(key) {\n super();\n this._cyclesOfRepetition = 14;\n this._keySize = 224;\n this._key = this._expandKey(key);\n }\n _expandKey(cipherKey) {\n const b = 240;\n const s = this._s;\n const result = new Uint8Array(b);\n result.set(cipherKey);\n let r = 1;\n let t1, t2, t3, t4;\n for (let j = 32, i = 1; j < b; ++i) {\n if (j % 32 === 16) {\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n } else if (j % 32 === 0) {\n t1 = result[j - 3];\n t2 = result[j - 2];\n t3 = result[j - 1];\n t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 ^= r;\n if ((r <<= 1) >= 256) {\n r = (r ^ 0x1b) & 0xff;\n }\n }\n for (let n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 32];\n j++;\n result[j] = t2 ^= result[j - 32];\n j++;\n result[j] = t3 ^= result[j - 32];\n j++;\n result[j] = t4 ^= result[j - 32];\n j++;\n }\n }\n return result;\n }\n}\nexports.AES256Cipher = AES256Cipher;\nclass PDF17 {\n checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n const hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n const result = calculateSHA256(hashData, 0, hashData.length);\n return (0, _util.isArrayEqual)(result, ownerPassword);\n }\n checkUserPassword(password, userValidationSalt, userPassword) {\n const hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n const result = calculateSHA256(hashData, 0, hashData.length);\n return (0, _util.isArrayEqual)(result, userPassword);\n }\n getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n const hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n const key = calculateSHA256(hashData, 0, hashData.length);\n const cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n }\n getUserKey(password, userKeySalt, userEncryption) {\n const hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n const key = calculateSHA256(hashData, 0, hashData.length);\n const cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n}\nexports.PDF17 = PDF17;\nclass PDF20 {\n _hash(password, input, userBytes) {\n let k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n let e = [0];\n let i = 0;\n while (i < 64 || e.at(-1) > i - 32) {\n const combinedLength = password.length + k.length + userBytes.length,\n combinedArray = new Uint8Array(combinedLength);\n let writeOffset = 0;\n combinedArray.set(password, writeOffset);\n writeOffset += password.length;\n combinedArray.set(k, writeOffset);\n writeOffset += k.length;\n combinedArray.set(userBytes, writeOffset);\n const k1 = new Uint8Array(combinedLength * 64);\n for (let j = 0, pos = 0; j < 64; j++, pos += combinedLength) {\n k1.set(combinedArray, pos);\n }\n const cipher = new AES128Cipher(k.subarray(0, 16));\n e = cipher.encrypt(k1, k.subarray(16, 32));\n const remainder = e.slice(0, 16).reduce((a, b) => a + b, 0) % 3;\n if (remainder === 0) {\n k = calculateSHA256(e, 0, e.length);\n } else if (remainder === 1) {\n k = calculateSHA384(e, 0, e.length);\n } else if (remainder === 2) {\n k = calculateSHA512(e, 0, e.length);\n }\n i++;\n }\n return k.subarray(0, 32);\n }\n checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n const hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n const result = this._hash(password, hashData, userBytes);\n return (0, _util.isArrayEqual)(result, ownerPassword);\n }\n checkUserPassword(password, userValidationSalt, userPassword) {\n const hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n const result = this._hash(password, hashData, []);\n return (0, _util.isArrayEqual)(result, userPassword);\n }\n getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n const hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n const key = this._hash(password, hashData, userBytes);\n const cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n }\n getUserKey(password, userKeySalt, userEncryption) {\n const hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n const key = this._hash(password, hashData, []);\n const cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n}\nexports.PDF20 = PDF20;\nclass CipherTransform {\n constructor(stringCipherConstructor, streamCipherConstructor) {\n this.StringCipherConstructor = stringCipherConstructor;\n this.StreamCipherConstructor = streamCipherConstructor;\n }\n createStream(stream, length) {\n const cipher = new this.StreamCipherConstructor();\n return new _decrypt_stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n return cipher.decryptBlock(data, finalize);\n });\n }\n decryptString(s) {\n const cipher = new this.StringCipherConstructor();\n let data = (0, _util.stringToBytes)(s);\n data = cipher.decryptBlock(data, true);\n return (0, _util.bytesToString)(data);\n }\n encryptString(s) {\n const cipher = new this.StringCipherConstructor();\n if (cipher instanceof AESBaseCipher) {\n const strLen = s.length;\n const pad = 16 - strLen % 16;\n s += String.fromCharCode(pad).repeat(pad);\n const iv = new Uint8Array(16);\n if (typeof crypto !== \"undefined\") {\n crypto.getRandomValues(iv);\n } else {\n for (let i = 0; i < 16; i++) {\n iv[i] = Math.floor(256 * Math.random());\n }\n }\n let data = (0, _util.stringToBytes)(s);\n data = cipher.encrypt(data, iv);\n const buf = new Uint8Array(16 + data.length);\n buf.set(iv);\n buf.set(data, 16);\n return (0, _util.bytesToString)(buf);\n }\n let data = (0, _util.stringToBytes)(s);\n data = cipher.encrypt(data);\n return (0, _util.bytesToString)(data);\n }\n}\nclass CipherTransformFactory {\n static #defaultPasswordBytes = new Uint8Array([0x28, 0xbf, 0x4e, 0x5e, 0x4e, 0x75, 0x8a, 0x41, 0x64, 0x00, 0x4e, 0x56, 0xff, 0xfa, 0x01, 0x08, 0x2e, 0x2e, 0x00, 0xb6, 0xd0, 0x68, 0x3e, 0x80, 0x2f, 0x0c, 0xa9, 0xfe, 0x64, 0x53, 0x69, 0x7a]);\n #createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n if (password) {\n const passwordLength = Math.min(127, password.length);\n password = password.subarray(0, passwordLength);\n } else {\n password = [];\n }\n const pdfAlgorithm = revision === 6 ? new PDF20() : new PDF17();\n if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n }\n return null;\n }\n #prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n const hashDataSize = 40 + ownerPassword.length + fileId.length;\n const hashData = new Uint8Array(hashDataSize);\n let i = 0,\n j,\n n;\n if (password) {\n n = Math.min(32, password.length);\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n }\n j = 0;\n while (i < 32) {\n hashData[i++] = CipherTransformFactory.#defaultPasswordBytes[j++];\n }\n for (j = 0, n = ownerPassword.length; j < n; ++j) {\n hashData[i++] = ownerPassword[j];\n }\n hashData[i++] = flags & 0xff;\n hashData[i++] = flags >> 8 & 0xff;\n hashData[i++] = flags >> 16 & 0xff;\n hashData[i++] = flags >>> 24 & 0xff;\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n if (revision >= 4 && !encryptMetadata) {\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n }\n let hash = calculateMD5(hashData, 0, i);\n const keyLengthInBytes = keyLength >> 3;\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, keyLengthInBytes);\n }\n }\n const encryptionKey = hash.subarray(0, keyLengthInBytes);\n let cipher, checkData;\n if (revision >= 3) {\n for (i = 0; i < 32; ++i) {\n hashData[i] = CipherTransformFactory.#defaultPasswordBytes[i];\n }\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n n = encryptionKey.length;\n const derivedKey = new Uint8Array(n);\n for (j = 1; j <= 19; ++j) {\n for (let k = 0; k < n; ++k) {\n derivedKey[k] = encryptionKey[k] ^ j;\n }\n cipher = new ARCFourCipher(derivedKey);\n checkData = cipher.encryptBlock(checkData);\n }\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n } else {\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(CipherTransformFactory.#defaultPasswordBytes);\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n }\n return encryptionKey;\n }\n #decodeUserPassword(password, ownerPassword, revision, keyLength) {\n const hashData = new Uint8Array(32);\n let i = 0;\n const n = Math.min(32, password.length);\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n let j = 0;\n while (i < 32) {\n hashData[i++] = CipherTransformFactory.#defaultPasswordBytes[j++];\n }\n let hash = calculateMD5(hashData, 0, i);\n const keyLengthInBytes = keyLength >> 3;\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, hash.length);\n }\n }\n let cipher, userPassword;\n if (revision >= 3) {\n userPassword = ownerPassword;\n const derivedKey = new Uint8Array(keyLengthInBytes);\n for (j = 19; j >= 0; j--) {\n for (let k = 0; k < keyLengthInBytes; ++k) {\n derivedKey[k] = hash[k] ^ j;\n }\n cipher = new ARCFourCipher(derivedKey);\n userPassword = cipher.encryptBlock(userPassword);\n }\n } else {\n cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n userPassword = cipher.encryptBlock(ownerPassword);\n }\n return userPassword;\n }\n #buildObjectKey(num, gen, encryptionKey, isAes = false) {\n const key = new Uint8Array(encryptionKey.length + 9);\n const n = encryptionKey.length;\n let i;\n for (i = 0; i < n; ++i) {\n key[i] = encryptionKey[i];\n }\n key[i++] = num & 0xff;\n key[i++] = num >> 8 & 0xff;\n key[i++] = num >> 16 & 0xff;\n key[i++] = gen & 0xff;\n key[i++] = gen >> 8 & 0xff;\n if (isAes) {\n key[i++] = 0x73;\n key[i++] = 0x41;\n key[i++] = 0x6c;\n key[i++] = 0x54;\n }\n const hash = calculateMD5(key, 0, i);\n return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n }\n #buildCipherConstructor(cf, name, num, gen, key) {\n if (!(name instanceof _primitives.Name)) {\n throw new _util.FormatError(\"Invalid crypt filter name.\");\n }\n const self = this;\n const cryptFilter = cf.get(name.name);\n const cfm = cryptFilter?.get(\"CFM\");\n if (!cfm || cfm.name === \"None\") {\n return function () {\n return new NullCipher();\n };\n }\n if (cfm.name === \"V2\") {\n return function () {\n return new ARCFourCipher(self.#buildObjectKey(num, gen, key, false));\n };\n }\n if (cfm.name === \"AESV2\") {\n return function () {\n return new AES128Cipher(self.#buildObjectKey(num, gen, key, true));\n };\n }\n if (cfm.name === \"AESV3\") {\n return function () {\n return new AES256Cipher(key);\n };\n }\n throw new _util.FormatError(\"Unknown crypto method\");\n }\n constructor(dict, fileId, password) {\n const filter = dict.get(\"Filter\");\n if (!(0, _primitives.isName)(filter, \"Standard\")) {\n throw new _util.FormatError(\"unknown encryption method\");\n }\n this.filterName = filter.name;\n this.dict = dict;\n const algorithm = dict.get(\"V\");\n if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n throw new _util.FormatError(\"unsupported encryption algorithm\");\n }\n this.algorithm = algorithm;\n let keyLength = dict.get(\"Length\");\n if (!keyLength) {\n if (algorithm <= 3) {\n keyLength = 40;\n } else {\n const cfDict = dict.get(\"CF\");\n const streamCryptoName = dict.get(\"StmF\");\n if (cfDict instanceof _primitives.Dict && streamCryptoName instanceof _primitives.Name) {\n cfDict.suppressEncryption = true;\n const handlerDict = cfDict.get(streamCryptoName.name);\n keyLength = handlerDict?.get(\"Length\") || 128;\n if (keyLength < 40) {\n keyLength <<= 3;\n }\n }\n }\n }\n if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n throw new _util.FormatError(\"invalid key length\");\n }\n const ownerBytes = (0, _util.stringToBytes)(dict.get(\"O\")),\n userBytes = (0, _util.stringToBytes)(dict.get(\"U\"));\n const ownerPassword = ownerBytes.subarray(0, 32);\n const userPassword = userBytes.subarray(0, 32);\n const flags = dict.get(\"P\");\n const revision = dict.get(\"R\");\n const encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get(\"EncryptMetadata\") !== false;\n this.encryptMetadata = encryptMetadata;\n const fileIdBytes = (0, _util.stringToBytes)(fileId);\n let passwordBytes;\n if (password) {\n if (revision === 6) {\n try {\n password = (0, _util.utf8StringToString)(password);\n } catch {\n (0, _util.warn)(\"CipherTransformFactory: Unable to convert UTF8 encoded password.\");\n }\n }\n passwordBytes = (0, _util.stringToBytes)(password);\n }\n let encryptionKey;\n if (algorithm !== 5) {\n encryptionKey = this.#prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n } else {\n const ownerValidationSalt = ownerBytes.subarray(32, 40);\n const ownerKeySalt = ownerBytes.subarray(40, 48);\n const uBytes = userBytes.subarray(0, 48);\n const userValidationSalt = userBytes.subarray(32, 40);\n const userKeySalt = userBytes.subarray(40, 48);\n const ownerEncryption = (0, _util.stringToBytes)(dict.get(\"OE\"));\n const userEncryption = (0, _util.stringToBytes)(dict.get(\"UE\"));\n const perms = (0, _util.stringToBytes)(dict.get(\"Perms\"));\n encryptionKey = this.#createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n }\n if (!encryptionKey && !password) {\n throw new _util.PasswordException(\"No password given\", _util.PasswordResponses.NEED_PASSWORD);\n } else if (!encryptionKey && password) {\n const decodedPassword = this.#decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n encryptionKey = this.#prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n }\n if (!encryptionKey) {\n throw new _util.PasswordException(\"Incorrect Password\", _util.PasswordResponses.INCORRECT_PASSWORD);\n }\n this.encryptionKey = encryptionKey;\n if (algorithm >= 4) {\n const cf = dict.get(\"CF\");\n if (cf instanceof _primitives.Dict) {\n cf.suppressEncryption = true;\n }\n this.cf = cf;\n this.stmf = dict.get(\"StmF\") || _primitives.Name.get(\"Identity\");\n this.strf = dict.get(\"StrF\") || _primitives.Name.get(\"Identity\");\n this.eff = dict.get(\"EFF\") || this.stmf;\n }\n }\n createCipherTransform(num, gen) {\n if (this.algorithm === 4 || this.algorithm === 5) {\n return new CipherTransform(this.#buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey), this.#buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey));\n }\n const key = this.#buildObjectKey(num, gen, this.encryptionKey, false);\n const cipherConstructor = function () {\n return new ARCFourCipher(key);\n };\n return new CipherTransform(cipherConstructor, cipherConstructor);\n }\n}\nexports.CipherTransformFactory = CipherTransformFactory;\n\n/***/ }),\n/* 75 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DecryptStream = void 0;\nvar _decode_stream = __w_pdfjs_require__(18);\nconst chunkSize = 512;\nclass DecryptStream extends _decode_stream.DecodeStream {\n constructor(str, maybeLength, decrypt) {\n super(maybeLength);\n this.str = str;\n this.dict = str.dict;\n this.decrypt = decrypt;\n this.nextChunk = null;\n this.initialized = false;\n }\n readBlock() {\n let chunk;\n if (this.initialized) {\n chunk = this.nextChunk;\n } else {\n chunk = this.str.getBytes(chunkSize);\n this.initialized = true;\n }\n if (!chunk || chunk.length === 0) {\n this.eof = true;\n return;\n }\n this.nextChunk = this.str.getBytes(chunkSize);\n const hasMoreData = this.nextChunk?.length > 0;\n const decrypt = this.decrypt;\n chunk = decrypt(chunk, !hasMoreData);\n const bufferLength = this.bufferLength,\n newLength = bufferLength + chunk.length,\n buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n }\n}\nexports.DecryptStream = DecryptStream;\n\n/***/ }),\n/* 76 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ObjectLoader = void 0;\nvar _primitives = __w_pdfjs_require__(4);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _util = __w_pdfjs_require__(2);\nfunction mayHaveChildren(value) {\n return value instanceof _primitives.Ref || value instanceof _primitives.Dict || value instanceof _base_stream.BaseStream || Array.isArray(value);\n}\nfunction addChildren(node, nodesToVisit) {\n if (node instanceof _primitives.Dict) {\n node = node.getRawValues();\n } else if (node instanceof _base_stream.BaseStream) {\n node = node.dict.getRawValues();\n } else if (!Array.isArray(node)) {\n return;\n }\n for (const rawValue of node) {\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n}\nclass ObjectLoader {\n constructor(dict, keys, xref) {\n this.dict = dict;\n this.keys = keys;\n this.xref = xref;\n this.refSet = null;\n }\n async load() {\n if (this.xref.stream.isDataLoaded) {\n return undefined;\n }\n const {\n keys,\n dict\n } = this;\n this.refSet = new _primitives.RefSet();\n const nodesToVisit = [];\n for (const key of keys) {\n const rawValue = dict.getRaw(key);\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n return this._walk(nodesToVisit);\n }\n async _walk(nodesToVisit) {\n const nodesToRevisit = [];\n const pendingRequests = [];\n while (nodesToVisit.length) {\n let currentNode = nodesToVisit.pop();\n if (currentNode instanceof _primitives.Ref) {\n if (this.refSet.has(currentNode)) {\n continue;\n }\n try {\n this.refSet.put(currentNode);\n currentNode = this.xref.fetch(currentNode);\n } catch (ex) {\n if (!(ex instanceof _core_utils.MissingDataException)) {\n (0, _util.warn)(`ObjectLoader._walk - requesting all data: \"${ex}\".`);\n this.refSet = null;\n const {\n manager\n } = this.xref.stream;\n return manager.requestAllChunks();\n }\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: ex.begin,\n end: ex.end\n });\n }\n }\n if (currentNode instanceof _base_stream.BaseStream) {\n const baseStreams = currentNode.getBaseStreams();\n if (baseStreams) {\n let foundMissingData = false;\n for (const stream of baseStreams) {\n if (stream.isDataLoaded) {\n continue;\n }\n foundMissingData = true;\n pendingRequests.push({\n begin: stream.start,\n end: stream.end\n });\n }\n if (foundMissingData) {\n nodesToRevisit.push(currentNode);\n }\n }\n }\n addChildren(currentNode, nodesToVisit);\n }\n if (pendingRequests.length) {\n await this.xref.stream.manager.requestRanges(pendingRequests);\n for (const node of nodesToRevisit) {\n if (node instanceof _primitives.Ref) {\n this.refSet.remove(node);\n }\n }\n return this._walk(nodesToRevisit);\n }\n this.refSet = null;\n return undefined;\n }\n}\nexports.ObjectLoader = ObjectLoader;\n\n/***/ }),\n/* 77 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XFAFactory = void 0;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _bind = __w_pdfjs_require__(79);\nvar _data = __w_pdfjs_require__(89);\nvar _fonts = __w_pdfjs_require__(85);\nvar _utils = __w_pdfjs_require__(84);\nvar _util = __w_pdfjs_require__(2);\nvar _parser = __w_pdfjs_require__(90);\nvar _xhtml = __w_pdfjs_require__(100);\nclass XFAFactory {\n constructor(data) {\n try {\n this.root = new _parser.XFAParser().parse(XFAFactory._createDocument(data));\n const binder = new _bind.Binder(this.root);\n this.form = binder.bind();\n this.dataHandler = new _data.DataHandler(this.root, binder.getData());\n this.form[_symbol_utils.$globalData].template = this.form;\n } catch (e) {\n (0, _util.warn)(`XFA - an error occurred during parsing and binding: ${e}`);\n }\n }\n isValid() {\n return this.root && this.form;\n }\n _createPagesHelper() {\n const iterator = this.form[_symbol_utils.$toPages]();\n return new Promise((resolve, reject) => {\n const nextIteration = () => {\n try {\n const value = iterator.next();\n if (value.done) {\n resolve(value.value);\n } else {\n setTimeout(nextIteration, 0);\n }\n } catch (e) {\n reject(e);\n }\n };\n setTimeout(nextIteration, 0);\n });\n }\n async _createPages() {\n try {\n this.pages = await this._createPagesHelper();\n this.dims = this.pages.children.map(c => {\n const {\n width,\n height\n } = c.attributes.style;\n return [0, 0, parseInt(width), parseInt(height)];\n });\n } catch (e) {\n (0, _util.warn)(`XFA - an error occurred during layout: ${e}`);\n }\n }\n getBoundingBox(pageIndex) {\n return this.dims[pageIndex];\n }\n async getNumPages() {\n if (!this.pages) {\n await this._createPages();\n }\n return this.dims.length;\n }\n setImages(images) {\n this.form[_symbol_utils.$globalData].images = images;\n }\n setFonts(fonts) {\n this.form[_symbol_utils.$globalData].fontFinder = new _fonts.FontFinder(fonts);\n const missingFonts = [];\n for (let typeface of this.form[_symbol_utils.$globalData].usedTypefaces) {\n typeface = (0, _utils.stripQuotes)(typeface);\n const font = this.form[_symbol_utils.$globalData].fontFinder.find(typeface);\n if (!font) {\n missingFonts.push(typeface);\n }\n }\n if (missingFonts.length > 0) {\n return missingFonts;\n }\n return null;\n }\n appendFonts(fonts, reallyMissingFonts) {\n this.form[_symbol_utils.$globalData].fontFinder.add(fonts, reallyMissingFonts);\n }\n async getPages() {\n if (!this.pages) {\n await this._createPages();\n }\n const pages = this.pages;\n this.pages = null;\n return pages;\n }\n serializeData(storage) {\n return this.dataHandler.serialize(storage);\n }\n static _createDocument(data) {\n if (!data[\"/xdp:xdp\"]) {\n return data[\"xdp:xdp\"];\n }\n return Object.values(data).join(\"\");\n }\n static getRichTextAsHtml(rc) {\n if (!rc || typeof rc !== \"string\") {\n return null;\n }\n try {\n let root = new _parser.XFAParser(_xhtml.XhtmlNamespace, true).parse(rc);\n if (![\"body\", \"xhtml\"].includes(root[_symbol_utils.$nodeName])) {\n const newRoot = _xhtml.XhtmlNamespace.body({});\n newRoot[_symbol_utils.$appendChild](root);\n root = newRoot;\n }\n const result = root[_symbol_utils.$toHTML]();\n if (!result.success) {\n return null;\n }\n const {\n html\n } = result;\n const {\n attributes\n } = html;\n if (attributes) {\n if (attributes.class) {\n attributes.class = attributes.class.filter(attr => !attr.startsWith(\"xfa\"));\n }\n attributes.dir = \"auto\";\n }\n return {\n html,\n str: root[_symbol_utils.$text]()\n };\n } catch (e) {\n (0, _util.warn)(`XFA - an error occurred during parsing of rich text: ${e}`);\n }\n return null;\n }\n}\nexports.XFAFactory = XFAFactory;\n\n/***/ }),\n/* 78 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.$uid = exports.$toStyle = exports.$toString = exports.$toPages = exports.$toHTML = exports.$text = exports.$tabIndex = exports.$setValue = exports.$setSetAttributes = exports.$setId = exports.$searchNode = exports.$root = exports.$resolvePrototypes = exports.$removeChild = exports.$pushPara = exports.$pushGlyphs = exports.$popPara = exports.$onText = exports.$onChildCheck = exports.$onChild = exports.$nsAttributes = exports.$nodeName = exports.$namespaceId = exports.$lastAttribute = exports.$isUsable = exports.$isTransparent = exports.$isThereMoreWidth = exports.$isSplittable = exports.$isNsAgnostic = exports.$isDescendent = exports.$isDataValue = exports.$isCDATAXml = exports.$isBindable = exports.$insertAt = exports.$indexOf = exports.$ids = exports.$hasSettableValue = exports.$globalData = exports.$getTemplateRoot = exports.$getSubformParent = exports.$getRealChildrenByNameIt = exports.$getParent = exports.$getNextPage = exports.$getExtra = exports.$getDataValue = exports.$getContainedChildren = exports.$getChildrenByNameIt = exports.$getChildrenByName = exports.$getChildrenByClass = exports.$getChildren = exports.$getAvailableSpace = exports.$getAttributes = exports.$getAttributeIt = exports.$flushHTML = exports.$finalize = exports.$extra = exports.$dump = exports.$data = exports.$content = exports.$consumed = exports.$clone = exports.$cleanup = exports.$cleanPage = exports.$clean = exports.$childrenToHTML = exports.$appendChild = exports.$addHTML = exports.$acceptWhitespace = void 0;\nconst $acceptWhitespace = Symbol();\nexports.$acceptWhitespace = $acceptWhitespace;\nconst $addHTML = Symbol();\nexports.$addHTML = $addHTML;\nconst $appendChild = Symbol();\nexports.$appendChild = $appendChild;\nconst $childrenToHTML = Symbol();\nexports.$childrenToHTML = $childrenToHTML;\nconst $clean = Symbol();\nexports.$clean = $clean;\nconst $cleanPage = Symbol();\nexports.$cleanPage = $cleanPage;\nconst $cleanup = Symbol();\nexports.$cleanup = $cleanup;\nconst $clone = Symbol();\nexports.$clone = $clone;\nconst $consumed = Symbol();\nexports.$consumed = $consumed;\nconst $content = Symbol(\"content\");\nexports.$content = $content;\nconst $data = Symbol(\"data\");\nexports.$data = $data;\nconst $dump = Symbol();\nexports.$dump = $dump;\nconst $extra = Symbol(\"extra\");\nexports.$extra = $extra;\nconst $finalize = Symbol();\nexports.$finalize = $finalize;\nconst $flushHTML = Symbol();\nexports.$flushHTML = $flushHTML;\nconst $getAttributeIt = Symbol();\nexports.$getAttributeIt = $getAttributeIt;\nconst $getAttributes = Symbol();\nexports.$getAttributes = $getAttributes;\nconst $getAvailableSpace = Symbol();\nexports.$getAvailableSpace = $getAvailableSpace;\nconst $getChildrenByClass = Symbol();\nexports.$getChildrenByClass = $getChildrenByClass;\nconst $getChildrenByName = Symbol();\nexports.$getChildrenByName = $getChildrenByName;\nconst $getChildrenByNameIt = Symbol();\nexports.$getChildrenByNameIt = $getChildrenByNameIt;\nconst $getDataValue = Symbol();\nexports.$getDataValue = $getDataValue;\nconst $getExtra = Symbol();\nexports.$getExtra = $getExtra;\nconst $getRealChildrenByNameIt = Symbol();\nexports.$getRealChildrenByNameIt = $getRealChildrenByNameIt;\nconst $getChildren = Symbol();\nexports.$getChildren = $getChildren;\nconst $getContainedChildren = Symbol();\nexports.$getContainedChildren = $getContainedChildren;\nconst $getNextPage = Symbol();\nexports.$getNextPage = $getNextPage;\nconst $getSubformParent = Symbol();\nexports.$getSubformParent = $getSubformParent;\nconst $getParent = Symbol();\nexports.$getParent = $getParent;\nconst $getTemplateRoot = Symbol();\nexports.$getTemplateRoot = $getTemplateRoot;\nconst $globalData = Symbol();\nexports.$globalData = $globalData;\nconst $hasSettableValue = Symbol();\nexports.$hasSettableValue = $hasSettableValue;\nconst $ids = Symbol();\nexports.$ids = $ids;\nconst $indexOf = Symbol();\nexports.$indexOf = $indexOf;\nconst $insertAt = Symbol();\nexports.$insertAt = $insertAt;\nconst $isCDATAXml = Symbol();\nexports.$isCDATAXml = $isCDATAXml;\nconst $isBindable = Symbol();\nexports.$isBindable = $isBindable;\nconst $isDataValue = Symbol();\nexports.$isDataValue = $isDataValue;\nconst $isDescendent = Symbol();\nexports.$isDescendent = $isDescendent;\nconst $isNsAgnostic = Symbol();\nexports.$isNsAgnostic = $isNsAgnostic;\nconst $isSplittable = Symbol();\nexports.$isSplittable = $isSplittable;\nconst $isThereMoreWidth = Symbol();\nexports.$isThereMoreWidth = $isThereMoreWidth;\nconst $isTransparent = Symbol();\nexports.$isTransparent = $isTransparent;\nconst $isUsable = Symbol();\nexports.$isUsable = $isUsable;\nconst $lastAttribute = Symbol();\nexports.$lastAttribute = $lastAttribute;\nconst $namespaceId = Symbol(\"namespaceId\");\nexports.$namespaceId = $namespaceId;\nconst $nodeName = Symbol(\"nodeName\");\nexports.$nodeName = $nodeName;\nconst $nsAttributes = Symbol();\nexports.$nsAttributes = $nsAttributes;\nconst $onChild = Symbol();\nexports.$onChild = $onChild;\nconst $onChildCheck = Symbol();\nexports.$onChildCheck = $onChildCheck;\nconst $onText = Symbol();\nexports.$onText = $onText;\nconst $pushGlyphs = Symbol();\nexports.$pushGlyphs = $pushGlyphs;\nconst $popPara = Symbol();\nexports.$popPara = $popPara;\nconst $pushPara = Symbol();\nexports.$pushPara = $pushPara;\nconst $removeChild = Symbol();\nexports.$removeChild = $removeChild;\nconst $root = Symbol(\"root\");\nexports.$root = $root;\nconst $resolvePrototypes = Symbol();\nexports.$resolvePrototypes = $resolvePrototypes;\nconst $searchNode = Symbol();\nexports.$searchNode = $searchNode;\nconst $setId = Symbol();\nexports.$setId = $setId;\nconst $setSetAttributes = Symbol();\nexports.$setSetAttributes = $setSetAttributes;\nconst $setValue = Symbol();\nexports.$setValue = $setValue;\nconst $tabIndex = Symbol();\nexports.$tabIndex = $tabIndex;\nconst $text = Symbol();\nexports.$text = $text;\nconst $toPages = Symbol();\nexports.$toPages = $toPages;\nconst $toHTML = Symbol();\nexports.$toHTML = $toHTML;\nconst $toString = Symbol();\nexports.$toString = $toString;\nconst $toStyle = Symbol();\nexports.$toStyle = $toStyle;\nconst $uid = Symbol(\"uid\");\nexports.$uid = $uid;\n\n/***/ }),\n/* 79 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Binder = void 0;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _template = __w_pdfjs_require__(80);\nvar _som = __w_pdfjs_require__(88);\nvar _xfa_object = __w_pdfjs_require__(87);\nvar _namespaces = __w_pdfjs_require__(81);\nvar _util = __w_pdfjs_require__(2);\nconst NS_DATASETS = _namespaces.NamespaceIds.datasets.id;\nfunction createText(content) {\n const node = new _template.Text({});\n node[_symbol_utils.$content] = content;\n return node;\n}\nclass Binder {\n constructor(root) {\n this.root = root;\n this.datasets = root.datasets;\n this.data = root.datasets?.data || new _xfa_object.XmlObject(_namespaces.NamespaceIds.datasets.id, \"data\");\n this.emptyMerge = this.data[_symbol_utils.$getChildren]().length === 0;\n this.root.form = this.form = root.template[_symbol_utils.$clone]();\n }\n _isConsumeData() {\n return !this.emptyMerge && this._mergeMode;\n }\n _isMatchTemplate() {\n return !this._isConsumeData();\n }\n bind() {\n this._bindElement(this.form, this.data);\n return this.form;\n }\n getData() {\n return this.data;\n }\n _bindValue(formNode, data, picture) {\n formNode[_symbol_utils.$data] = data;\n if (formNode[_symbol_utils.$hasSettableValue]()) {\n if (data[_symbol_utils.$isDataValue]()) {\n const value = data[_symbol_utils.$getDataValue]();\n formNode[_symbol_utils.$setValue](createText(value));\n } else if (formNode instanceof _template.Field && formNode.ui?.choiceList?.open === \"multiSelect\") {\n const value = data[_symbol_utils.$getChildren]().map(child => child[_symbol_utils.$content].trim()).join(\"\\n\");\n formNode[_symbol_utils.$setValue](createText(value));\n } else if (this._isConsumeData()) {\n (0, _util.warn)(`XFA - Nodes haven't the same type.`);\n }\n } else if (!data[_symbol_utils.$isDataValue]() || this._isMatchTemplate()) {\n this._bindElement(formNode, data);\n } else {\n (0, _util.warn)(`XFA - Nodes haven't the same type.`);\n }\n }\n _findDataByNameToConsume(name, isValue, dataNode, global) {\n if (!name) {\n return null;\n }\n let generator, match;\n for (let i = 0; i < 3; i++) {\n generator = dataNode[_symbol_utils.$getRealChildrenByNameIt](name, false, true);\n while (true) {\n match = generator.next().value;\n if (!match) {\n break;\n }\n if (isValue === match[_symbol_utils.$isDataValue]()) {\n return match;\n }\n }\n if (dataNode[_symbol_utils.$namespaceId] === _namespaces.NamespaceIds.datasets.id && dataNode[_symbol_utils.$nodeName] === \"data\") {\n break;\n }\n dataNode = dataNode[_symbol_utils.$getParent]();\n }\n if (!global) {\n return null;\n }\n generator = this.data[_symbol_utils.$getRealChildrenByNameIt](name, true, false);\n match = generator.next().value;\n if (match) {\n return match;\n }\n generator = this.data[_symbol_utils.$getAttributeIt](name, true);\n match = generator.next().value;\n if (match?.[_symbol_utils.$isDataValue]()) {\n return match;\n }\n return null;\n }\n _setProperties(formNode, dataNode) {\n if (!formNode.hasOwnProperty(\"setProperty\")) {\n return;\n }\n for (const {\n ref,\n target,\n connection\n } of formNode.setProperty.children) {\n if (connection) {\n continue;\n }\n if (!ref) {\n continue;\n }\n const nodes = (0, _som.searchNode)(this.root, dataNode, ref, false, false);\n if (!nodes) {\n (0, _util.warn)(`XFA - Invalid reference: ${ref}.`);\n continue;\n }\n const [node] = nodes;\n if (!node[_symbol_utils.$isDescendent](this.data)) {\n (0, _util.warn)(`XFA - Invalid node: must be a data node.`);\n continue;\n }\n const targetNodes = (0, _som.searchNode)(this.root, formNode, target, false, false);\n if (!targetNodes) {\n (0, _util.warn)(`XFA - Invalid target: ${target}.`);\n continue;\n }\n const [targetNode] = targetNodes;\n if (!targetNode[_symbol_utils.$isDescendent](formNode)) {\n (0, _util.warn)(`XFA - Invalid target: must be a property or subproperty.`);\n continue;\n }\n const targetParent = targetNode[_symbol_utils.$getParent]();\n if (targetNode instanceof _template.SetProperty || targetParent instanceof _template.SetProperty) {\n (0, _util.warn)(`XFA - Invalid target: cannot be a setProperty or one of its properties.`);\n continue;\n }\n if (targetNode instanceof _template.BindItems || targetParent instanceof _template.BindItems) {\n (0, _util.warn)(`XFA - Invalid target: cannot be a bindItems or one of its properties.`);\n continue;\n }\n const content = node[_symbol_utils.$text]();\n const name = targetNode[_symbol_utils.$nodeName];\n if (targetNode instanceof _xfa_object.XFAAttribute) {\n const attrs = Object.create(null);\n attrs[name] = content;\n const obj = Reflect.construct(Object.getPrototypeOf(targetParent).constructor, [attrs]);\n targetParent[name] = obj[name];\n continue;\n }\n if (!targetNode.hasOwnProperty(_symbol_utils.$content)) {\n (0, _util.warn)(`XFA - Invalid node to use in setProperty`);\n continue;\n }\n targetNode[_symbol_utils.$data] = node;\n targetNode[_symbol_utils.$content] = content;\n targetNode[_symbol_utils.$finalize]();\n }\n }\n _bindItems(formNode, dataNode) {\n if (!formNode.hasOwnProperty(\"items\") || !formNode.hasOwnProperty(\"bindItems\") || formNode.bindItems.isEmpty()) {\n return;\n }\n for (const item of formNode.items.children) {\n formNode[_symbol_utils.$removeChild](item);\n }\n formNode.items.clear();\n const labels = new _template.Items({});\n const values = new _template.Items({});\n formNode[_symbol_utils.$appendChild](labels);\n formNode.items.push(labels);\n formNode[_symbol_utils.$appendChild](values);\n formNode.items.push(values);\n for (const {\n ref,\n labelRef,\n valueRef,\n connection\n } of formNode.bindItems.children) {\n if (connection) {\n continue;\n }\n if (!ref) {\n continue;\n }\n const nodes = (0, _som.searchNode)(this.root, dataNode, ref, false, false);\n if (!nodes) {\n (0, _util.warn)(`XFA - Invalid reference: ${ref}.`);\n continue;\n }\n for (const node of nodes) {\n if (!node[_symbol_utils.$isDescendent](this.datasets)) {\n (0, _util.warn)(`XFA - Invalid ref (${ref}): must be a datasets child.`);\n continue;\n }\n const labelNodes = (0, _som.searchNode)(this.root, node, labelRef, true, false);\n if (!labelNodes) {\n (0, _util.warn)(`XFA - Invalid label: ${labelRef}.`);\n continue;\n }\n const [labelNode] = labelNodes;\n if (!labelNode[_symbol_utils.$isDescendent](this.datasets)) {\n (0, _util.warn)(`XFA - Invalid label: must be a datasets child.`);\n continue;\n }\n const valueNodes = (0, _som.searchNode)(this.root, node, valueRef, true, false);\n if (!valueNodes) {\n (0, _util.warn)(`XFA - Invalid value: ${valueRef}.`);\n continue;\n }\n const [valueNode] = valueNodes;\n if (!valueNode[_symbol_utils.$isDescendent](this.datasets)) {\n (0, _util.warn)(`XFA - Invalid value: must be a datasets child.`);\n continue;\n }\n const label = createText(labelNode[_symbol_utils.$text]());\n const value = createText(valueNode[_symbol_utils.$text]());\n labels[_symbol_utils.$appendChild](label);\n labels.text.push(label);\n values[_symbol_utils.$appendChild](value);\n values.text.push(value);\n }\n }\n }\n _bindOccurrences(formNode, matches, picture) {\n let baseClone;\n if (matches.length > 1) {\n baseClone = formNode[_symbol_utils.$clone]();\n baseClone[_symbol_utils.$removeChild](baseClone.occur);\n baseClone.occur = null;\n }\n this._bindValue(formNode, matches[0], picture);\n this._setProperties(formNode, matches[0]);\n this._bindItems(formNode, matches[0]);\n if (matches.length === 1) {\n return;\n }\n const parent = formNode[_symbol_utils.$getParent]();\n const name = formNode[_symbol_utils.$nodeName];\n const pos = parent[_symbol_utils.$indexOf](formNode);\n for (let i = 1, ii = matches.length; i < ii; i++) {\n const match = matches[i];\n const clone = baseClone[_symbol_utils.$clone]();\n parent[name].push(clone);\n parent[_symbol_utils.$insertAt](pos + i, clone);\n this._bindValue(clone, match, picture);\n this._setProperties(clone, match);\n this._bindItems(clone, match);\n }\n }\n _createOccurrences(formNode) {\n if (!this.emptyMerge) {\n return;\n }\n const {\n occur\n } = formNode;\n if (!occur || occur.initial <= 1) {\n return;\n }\n const parent = formNode[_symbol_utils.$getParent]();\n const name = formNode[_symbol_utils.$nodeName];\n if (!(parent[name] instanceof _xfa_object.XFAObjectArray)) {\n return;\n }\n let currentNumber;\n if (formNode.name) {\n currentNumber = parent[name].children.filter(e => e.name === formNode.name).length;\n } else {\n currentNumber = parent[name].children.length;\n }\n const pos = parent[_symbol_utils.$indexOf](formNode) + 1;\n const ii = occur.initial - currentNumber;\n if (ii) {\n const nodeClone = formNode[_symbol_utils.$clone]();\n nodeClone[_symbol_utils.$removeChild](nodeClone.occur);\n nodeClone.occur = null;\n parent[name].push(nodeClone);\n parent[_symbol_utils.$insertAt](pos, nodeClone);\n for (let i = 1; i < ii; i++) {\n const clone = nodeClone[_symbol_utils.$clone]();\n parent[name].push(clone);\n parent[_symbol_utils.$insertAt](pos + i, clone);\n }\n }\n }\n _getOccurInfo(formNode) {\n const {\n name,\n occur\n } = formNode;\n if (!occur || !name) {\n return [1, 1];\n }\n const max = occur.max === -1 ? Infinity : occur.max;\n return [occur.min, max];\n }\n _setAndBind(formNode, dataNode) {\n this._setProperties(formNode, dataNode);\n this._bindItems(formNode, dataNode);\n this._bindElement(formNode, dataNode);\n }\n _bindElement(formNode, dataNode) {\n const uselessNodes = [];\n this._createOccurrences(formNode);\n for (const child of formNode[_symbol_utils.$getChildren]()) {\n if (child[_symbol_utils.$data]) {\n continue;\n }\n if (this._mergeMode === undefined && child[_symbol_utils.$nodeName] === \"subform\") {\n this._mergeMode = child.mergeMode === \"consumeData\";\n const dataChildren = dataNode[_symbol_utils.$getChildren]();\n if (dataChildren.length > 0) {\n this._bindOccurrences(child, [dataChildren[0]], null);\n } else if (this.emptyMerge) {\n const nsId = dataNode[_symbol_utils.$namespaceId] === NS_DATASETS ? -1 : dataNode[_symbol_utils.$namespaceId];\n const dataChild = child[_symbol_utils.$data] = new _xfa_object.XmlObject(nsId, child.name || \"root\");\n dataNode[_symbol_utils.$appendChild](dataChild);\n this._bindElement(child, dataChild);\n }\n continue;\n }\n if (!child[_symbol_utils.$isBindable]()) {\n continue;\n }\n let global = false;\n let picture = null;\n let ref = null;\n let match = null;\n if (child.bind) {\n switch (child.bind.match) {\n case \"none\":\n this._setAndBind(child, dataNode);\n continue;\n case \"global\":\n global = true;\n break;\n case \"dataRef\":\n if (!child.bind.ref) {\n (0, _util.warn)(`XFA - ref is empty in node ${child[_symbol_utils.$nodeName]}.`);\n this._setAndBind(child, dataNode);\n continue;\n }\n ref = child.bind.ref;\n break;\n default:\n break;\n }\n if (child.bind.picture) {\n picture = child.bind.picture[_symbol_utils.$content];\n }\n }\n const [min, max] = this._getOccurInfo(child);\n if (ref) {\n match = (0, _som.searchNode)(this.root, dataNode, ref, true, false);\n if (match === null) {\n match = (0, _som.createDataNode)(this.data, dataNode, ref);\n if (!match) {\n continue;\n }\n if (this._isConsumeData()) {\n match[_symbol_utils.$consumed] = true;\n }\n this._setAndBind(child, match);\n continue;\n } else {\n if (this._isConsumeData()) {\n match = match.filter(node => !node[_symbol_utils.$consumed]);\n }\n if (match.length > max) {\n match = match.slice(0, max);\n } else if (match.length === 0) {\n match = null;\n }\n if (match && this._isConsumeData()) {\n match.forEach(node => {\n node[_symbol_utils.$consumed] = true;\n });\n }\n }\n } else {\n if (!child.name) {\n this._setAndBind(child, dataNode);\n continue;\n }\n if (this._isConsumeData()) {\n const matches = [];\n while (matches.length < max) {\n const found = this._findDataByNameToConsume(child.name, child[_symbol_utils.$hasSettableValue](), dataNode, global);\n if (!found) {\n break;\n }\n found[_symbol_utils.$consumed] = true;\n matches.push(found);\n }\n match = matches.length > 0 ? matches : null;\n } else {\n match = dataNode[_symbol_utils.$getRealChildrenByNameIt](child.name, false, this.emptyMerge).next().value;\n if (!match) {\n if (min === 0) {\n uselessNodes.push(child);\n continue;\n }\n const nsId = dataNode[_symbol_utils.$namespaceId] === NS_DATASETS ? -1 : dataNode[_symbol_utils.$namespaceId];\n match = child[_symbol_utils.$data] = new _xfa_object.XmlObject(nsId, child.name);\n if (this.emptyMerge) {\n match[_symbol_utils.$consumed] = true;\n }\n dataNode[_symbol_utils.$appendChild](match);\n this._setAndBind(child, match);\n continue;\n }\n if (this.emptyMerge) {\n match[_symbol_utils.$consumed] = true;\n }\n match = [match];\n }\n }\n if (match) {\n this._bindOccurrences(child, match, picture);\n } else if (min > 0) {\n this._setAndBind(child, dataNode);\n } else {\n uselessNodes.push(child);\n }\n }\n uselessNodes.forEach(node => node[_symbol_utils.$getParent]()[_symbol_utils.$removeChild](node));\n }\n}\nexports.Binder = Binder;\n\n/***/ }),\n/* 80 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Value = exports.Text = exports.TemplateNamespace = exports.Template = exports.SetProperty = exports.Items = exports.Field = exports.BindItems = void 0;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _namespaces = __w_pdfjs_require__(81);\nvar _layout = __w_pdfjs_require__(82);\nvar _html_utils = __w_pdfjs_require__(83);\nvar _xfa_object = __w_pdfjs_require__(87);\nvar _utils = __w_pdfjs_require__(84);\nvar _util = __w_pdfjs_require__(2);\nvar _fonts = __w_pdfjs_require__(85);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _som = __w_pdfjs_require__(88);\nconst TEMPLATE_NS_ID = _namespaces.NamespaceIds.template.id;\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nconst MAX_ATTEMPTS_FOR_LRTB_LAYOUT = 2;\nconst MAX_EMPTY_PAGES = 3;\nconst DEFAULT_TAB_INDEX = 5000;\nconst HEADING_PATTERN = /^H(\\d+)$/;\nconst MIMES = new Set([\"image/gif\", \"image/jpeg\", \"image/jpg\", \"image/pjpeg\", \"image/png\", \"image/apng\", \"image/x-png\", \"image/bmp\", \"image/x-ms-bmp\", \"image/tiff\", \"image/tif\", \"application/octet-stream\"]);\nconst IMAGES_HEADERS = [[[0x42, 0x4d], \"image/bmp\"], [[0xff, 0xd8, 0xff], \"image/jpeg\"], [[0x49, 0x49, 0x2a, 0x00], \"image/tiff\"], [[0x4d, 0x4d, 0x00, 0x2a], \"image/tiff\"], [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61], \"image/gif\"], [[0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a], \"image/png\"]];\nfunction getBorderDims(node) {\n if (!node || !node.border) {\n return {\n w: 0,\n h: 0\n };\n }\n const borderExtra = node.border[_symbol_utils.$getExtra]();\n if (!borderExtra) {\n return {\n w: 0,\n h: 0\n };\n }\n return {\n w: borderExtra.widths[0] + borderExtra.widths[2] + borderExtra.insets[0] + borderExtra.insets[2],\n h: borderExtra.widths[1] + borderExtra.widths[3] + borderExtra.insets[1] + borderExtra.insets[3]\n };\n}\nfunction hasMargin(node) {\n return node.margin && (node.margin.topInset || node.margin.rightInset || node.margin.bottomInset || node.margin.leftInset);\n}\nfunction _setValue(templateNode, value) {\n if (!templateNode.value) {\n const nodeValue = new Value({});\n templateNode[_symbol_utils.$appendChild](nodeValue);\n templateNode.value = nodeValue;\n }\n templateNode.value[_symbol_utils.$setValue](value);\n}\nfunction* getContainedChildren(node) {\n for (const child of node[_symbol_utils.$getChildren]()) {\n if (child instanceof SubformSet) {\n yield* child[_symbol_utils.$getContainedChildren]();\n continue;\n }\n yield child;\n }\n}\nfunction isRequired(node) {\n return node.validate?.nullTest === \"error\";\n}\nfunction setTabIndex(node) {\n while (node) {\n if (!node.traversal) {\n node[_symbol_utils.$tabIndex] = node[_symbol_utils.$getParent]()[_symbol_utils.$tabIndex];\n return;\n }\n if (node[_symbol_utils.$tabIndex]) {\n return;\n }\n let next = null;\n for (const child of node.traversal[_symbol_utils.$getChildren]()) {\n if (child.operation === \"next\") {\n next = child;\n break;\n }\n }\n if (!next || !next.ref) {\n node[_symbol_utils.$tabIndex] = node[_symbol_utils.$getParent]()[_symbol_utils.$tabIndex];\n return;\n }\n const root = node[_symbol_utils.$getTemplateRoot]();\n node[_symbol_utils.$tabIndex] = ++root[_symbol_utils.$tabIndex];\n const ref = root[_symbol_utils.$searchNode](next.ref, node);\n if (!ref) {\n return;\n }\n node = ref[0];\n }\n}\nfunction applyAssist(obj, attributes) {\n const assist = obj.assist;\n if (assist) {\n const assistTitle = assist[_symbol_utils.$toHTML]();\n if (assistTitle) {\n attributes.title = assistTitle;\n }\n const role = assist.role;\n const match = role.match(HEADING_PATTERN);\n if (match) {\n const ariaRole = \"heading\";\n const ariaLevel = match[1];\n attributes.role = ariaRole;\n attributes[\"aria-level\"] = ariaLevel;\n }\n }\n if (obj.layout === \"table\") {\n attributes.role = \"table\";\n } else if (obj.layout === \"row\") {\n attributes.role = \"row\";\n } else {\n const parent = obj[_symbol_utils.$getParent]();\n if (parent.layout === \"row\") {\n attributes.role = parent.assist?.role === \"TH\" ? \"columnheader\" : \"cell\";\n }\n }\n}\nfunction ariaLabel(obj) {\n if (!obj.assist) {\n return null;\n }\n const assist = obj.assist;\n if (assist.speak && assist.speak[_symbol_utils.$content] !== \"\") {\n return assist.speak[_symbol_utils.$content];\n }\n if (assist.toolTip) {\n return assist.toolTip[_symbol_utils.$content];\n }\n return null;\n}\nfunction valueToHtml(value) {\n return _utils.HTMLResult.success({\n name: \"div\",\n attributes: {\n class: [\"xfaRich\"],\n style: Object.create(null)\n },\n children: [{\n name: \"span\",\n attributes: {\n style: Object.create(null)\n },\n value\n }]\n });\n}\nfunction setFirstUnsplittable(node) {\n const root = node[_symbol_utils.$getTemplateRoot]();\n if (root[_symbol_utils.$extra].firstUnsplittable === null) {\n root[_symbol_utils.$extra].firstUnsplittable = node;\n root[_symbol_utils.$extra].noLayoutFailure = true;\n }\n}\nfunction unsetFirstUnsplittable(node) {\n const root = node[_symbol_utils.$getTemplateRoot]();\n if (root[_symbol_utils.$extra].firstUnsplittable === node) {\n root[_symbol_utils.$extra].noLayoutFailure = false;\n }\n}\nfunction handleBreak(node) {\n if (node[_symbol_utils.$extra]) {\n return false;\n }\n node[_symbol_utils.$extra] = Object.create(null);\n if (node.targetType === \"auto\") {\n return false;\n }\n const root = node[_symbol_utils.$getTemplateRoot]();\n let target = null;\n if (node.target) {\n target = root[_symbol_utils.$searchNode](node.target, node[_symbol_utils.$getParent]());\n if (!target) {\n return false;\n }\n target = target[0];\n }\n const {\n currentPageArea,\n currentContentArea\n } = root[_symbol_utils.$extra];\n if (node.targetType === \"pageArea\") {\n if (!(target instanceof PageArea)) {\n target = null;\n }\n if (node.startNew) {\n node[_symbol_utils.$extra].target = target || currentPageArea;\n return true;\n } else if (target && target !== currentPageArea) {\n node[_symbol_utils.$extra].target = target;\n return true;\n }\n return false;\n }\n if (!(target instanceof ContentArea)) {\n target = null;\n }\n const pageArea = target && target[_symbol_utils.$getParent]();\n let index;\n let nextPageArea = pageArea;\n if (node.startNew) {\n if (target) {\n const contentAreas = pageArea.contentArea.children;\n const indexForCurrent = contentAreas.indexOf(currentContentArea);\n const indexForTarget = contentAreas.indexOf(target);\n if (indexForCurrent !== -1 && indexForCurrent < indexForTarget) {\n nextPageArea = null;\n }\n index = indexForTarget - 1;\n } else {\n index = currentPageArea.contentArea.children.indexOf(currentContentArea);\n }\n } else if (target && target !== currentContentArea) {\n const contentAreas = pageArea.contentArea.children;\n index = contentAreas.indexOf(target) - 1;\n nextPageArea = pageArea === currentPageArea ? null : pageArea;\n } else {\n return false;\n }\n node[_symbol_utils.$extra].target = nextPageArea;\n node[_symbol_utils.$extra].index = index;\n return true;\n}\nfunction handleOverflow(node, extraNode, space) {\n const root = node[_symbol_utils.$getTemplateRoot]();\n const saved = root[_symbol_utils.$extra].noLayoutFailure;\n const savedMethod = extraNode[_symbol_utils.$getSubformParent];\n extraNode[_symbol_utils.$getSubformParent] = () => node;\n root[_symbol_utils.$extra].noLayoutFailure = true;\n const res = extraNode[_symbol_utils.$toHTML](space);\n node[_symbol_utils.$addHTML](res.html, res.bbox);\n root[_symbol_utils.$extra].noLayoutFailure = saved;\n extraNode[_symbol_utils.$getSubformParent] = savedMethod;\n}\nclass AppearanceFilter extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"appearanceFilter\");\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Arc extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"arc\", true);\n this.circular = (0, _utils.getInteger)({\n data: attributes.circular,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.hand = (0, _utils.getStringOption)(attributes.hand, [\"even\", \"left\", \"right\"]);\n this.id = attributes.id || \"\";\n this.startAngle = (0, _utils.getFloat)({\n data: attributes.startAngle,\n defaultValue: 0,\n validate: x => true\n });\n this.sweepAngle = (0, _utils.getFloat)({\n data: attributes.sweepAngle,\n defaultValue: 360,\n validate: x => true\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.edge = null;\n this.fill = null;\n }\n [_symbol_utils.$toHTML]() {\n const edge = this.edge || new Edge({});\n const edgeStyle = edge[_symbol_utils.$toStyle]();\n const style = Object.create(null);\n if (this.fill?.presence === \"visible\") {\n Object.assign(style, this.fill[_symbol_utils.$toStyle]());\n } else {\n style.fill = \"transparent\";\n }\n style.strokeWidth = (0, _html_utils.measureToString)(edge.presence === \"visible\" ? edge.thickness : 0);\n style.stroke = edgeStyle.color;\n let arc;\n const attributes = {\n xmlns: SVG_NS,\n style: {\n width: \"100%\",\n height: \"100%\",\n overflow: \"visible\"\n }\n };\n if (this.sweepAngle === 360) {\n arc = {\n name: \"ellipse\",\n attributes: {\n xmlns: SVG_NS,\n cx: \"50%\",\n cy: \"50%\",\n rx: \"50%\",\n ry: \"50%\",\n style\n }\n };\n } else {\n const startAngle = this.startAngle * Math.PI / 180;\n const sweepAngle = this.sweepAngle * Math.PI / 180;\n const largeArc = this.sweepAngle > 180 ? 1 : 0;\n const [x1, y1, x2, y2] = [50 * (1 + Math.cos(startAngle)), 50 * (1 - Math.sin(startAngle)), 50 * (1 + Math.cos(startAngle + sweepAngle)), 50 * (1 - Math.sin(startAngle + sweepAngle))];\n arc = {\n name: \"path\",\n attributes: {\n xmlns: SVG_NS,\n d: `M ${x1} ${y1} A 50 50 0 ${largeArc} 0 ${x2} ${y2}`,\n vectorEffect: \"non-scaling-stroke\",\n style\n }\n };\n Object.assign(attributes, {\n viewBox: \"0 0 100 100\",\n preserveAspectRatio: \"none\"\n });\n }\n const svg = {\n name: \"svg\",\n children: [arc],\n attributes\n };\n const parent = this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]();\n if (hasMargin(parent)) {\n return _utils.HTMLResult.success({\n name: \"div\",\n attributes: {\n style: {\n display: \"inline\",\n width: \"100%\",\n height: \"100%\"\n }\n },\n children: [svg]\n });\n }\n svg.attributes.style.position = \"absolute\";\n return _utils.HTMLResult.success(svg);\n }\n}\nclass Area extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"area\", true);\n this.colSpan = (0, _utils.getInteger)({\n data: attributes.colSpan,\n defaultValue: 1,\n validate: n => n >= 1 || n === -1\n });\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.x = (0, _utils.getMeasurement)(attributes.x, \"0pt\");\n this.y = (0, _utils.getMeasurement)(attributes.y, \"0pt\");\n this.desc = null;\n this.extras = null;\n this.area = new _xfa_object.XFAObjectArray();\n this.draw = new _xfa_object.XFAObjectArray();\n this.exObject = new _xfa_object.XFAObjectArray();\n this.exclGroup = new _xfa_object.XFAObjectArray();\n this.field = new _xfa_object.XFAObjectArray();\n this.subform = new _xfa_object.XFAObjectArray();\n this.subformSet = new _xfa_object.XFAObjectArray();\n }\n *[_symbol_utils.$getContainedChildren]() {\n yield* getContainedChildren(this);\n }\n [_symbol_utils.$isTransparent]() {\n return true;\n }\n [_symbol_utils.$isBindable]() {\n return true;\n }\n [_symbol_utils.$addHTML](html, bbox) {\n const [x, y, w, h] = bbox;\n this[_symbol_utils.$extra].width = Math.max(this[_symbol_utils.$extra].width, x + w);\n this[_symbol_utils.$extra].height = Math.max(this[_symbol_utils.$extra].height, y + h);\n this[_symbol_utils.$extra].children.push(html);\n }\n [_symbol_utils.$getAvailableSpace]() {\n return this[_symbol_utils.$extra].availableSpace;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const style = (0, _html_utils.toStyle)(this, \"position\");\n const attributes = {\n style,\n id: this[_symbol_utils.$uid],\n class: [\"xfaArea\"]\n };\n if ((0, _html_utils.isPrintOnly)(this)) {\n attributes.class.push(\"xfaPrintOnly\");\n }\n if (this.name) {\n attributes.xfaName = this.name;\n }\n const children = [];\n this[_symbol_utils.$extra] = {\n children,\n width: 0,\n height: 0,\n availableSpace\n };\n const result = this[_symbol_utils.$childrenToHTML]({\n filter: new Set([\"area\", \"draw\", \"field\", \"exclGroup\", \"subform\", \"subformSet\"]),\n include: true\n });\n if (!result.success) {\n if (result.isBreak()) {\n return result;\n }\n delete this[_symbol_utils.$extra];\n return _utils.HTMLResult.FAILURE;\n }\n style.width = (0, _html_utils.measureToString)(this[_symbol_utils.$extra].width);\n style.height = (0, _html_utils.measureToString)(this[_symbol_utils.$extra].height);\n const html = {\n name: \"div\",\n attributes,\n children\n };\n const bbox = [this.x, this.y, this[_symbol_utils.$extra].width, this[_symbol_utils.$extra].height];\n delete this[_symbol_utils.$extra];\n return _utils.HTMLResult.success(html, bbox);\n }\n}\nclass Assist extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"assist\", true);\n this.id = attributes.id || \"\";\n this.role = attributes.role || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.speak = null;\n this.toolTip = null;\n }\n [_symbol_utils.$toHTML]() {\n return this.toolTip?.[_symbol_utils.$content] || null;\n }\n}\nclass Barcode extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"barcode\", true);\n this.charEncoding = (0, _utils.getKeyword)({\n data: attributes.charEncoding ? attributes.charEncoding.toLowerCase() : \"\",\n defaultValue: \"\",\n validate: k => [\"utf-8\", \"big-five\", \"fontspecific\", \"gbk\", \"gb-18030\", \"gb-2312\", \"ksc-5601\", \"none\", \"shift-jis\", \"ucs-2\", \"utf-16\"].includes(k) || k.match(/iso-8859-\\d{2}/)\n });\n this.checksum = (0, _utils.getStringOption)(attributes.checksum, [\"none\", \"1mod10\", \"1mod10_1mod11\", \"2mod10\", \"auto\"]);\n this.dataColumnCount = (0, _utils.getInteger)({\n data: attributes.dataColumnCount,\n defaultValue: -1,\n validate: x => x >= 0\n });\n this.dataLength = (0, _utils.getInteger)({\n data: attributes.dataLength,\n defaultValue: -1,\n validate: x => x >= 0\n });\n this.dataPrep = (0, _utils.getStringOption)(attributes.dataPrep, [\"none\", \"flateCompress\"]);\n this.dataRowCount = (0, _utils.getInteger)({\n data: attributes.dataRowCount,\n defaultValue: -1,\n validate: x => x >= 0\n });\n this.endChar = attributes.endChar || \"\";\n this.errorCorrectionLevel = (0, _utils.getInteger)({\n data: attributes.errorCorrectionLevel,\n defaultValue: -1,\n validate: x => x >= 0 && x <= 8\n });\n this.id = attributes.id || \"\";\n this.moduleHeight = (0, _utils.getMeasurement)(attributes.moduleHeight, \"5mm\");\n this.moduleWidth = (0, _utils.getMeasurement)(attributes.moduleWidth, \"0.25mm\");\n this.printCheckDigit = (0, _utils.getInteger)({\n data: attributes.printCheckDigit,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.rowColumnRatio = (0, _utils.getRatio)(attributes.rowColumnRatio);\n this.startChar = attributes.startChar || \"\";\n this.textLocation = (0, _utils.getStringOption)(attributes.textLocation, [\"below\", \"above\", \"aboveEmbedded\", \"belowEmbedded\", \"none\"]);\n this.truncate = (0, _utils.getInteger)({\n data: attributes.truncate,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.type = (0, _utils.getStringOption)(attributes.type ? attributes.type.toLowerCase() : \"\", [\"aztec\", \"codabar\", \"code2of5industrial\", \"code2of5interleaved\", \"code2of5matrix\", \"code2of5standard\", \"code3of9\", \"code3of9extended\", \"code11\", \"code49\", \"code93\", \"code128\", \"code128a\", \"code128b\", \"code128c\", \"code128sscc\", \"datamatrix\", \"ean8\", \"ean8add2\", \"ean8add5\", \"ean13\", \"ean13add2\", \"ean13add5\", \"ean13pwcd\", \"fim\", \"logmars\", \"maxicode\", \"msi\", \"pdf417\", \"pdf417macro\", \"plessey\", \"postauscust2\", \"postauscust3\", \"postausreplypaid\", \"postausstandard\", \"postukrm4scc\", \"postusdpbc\", \"postusimb\", \"postusstandard\", \"postus5zip\", \"qrcode\", \"rfid\", \"rss14\", \"rss14expanded\", \"rss14limited\", \"rss14stacked\", \"rss14stackedomni\", \"rss14truncated\", \"telepen\", \"ucc128\", \"ucc128random\", \"ucc128sscc\", \"upca\", \"upcaadd2\", \"upcaadd5\", \"upcapwcd\", \"upce\", \"upceadd2\", \"upceadd5\", \"upcean2\", \"upcean5\", \"upsmaxicode\"]);\n this.upsMode = (0, _utils.getStringOption)(attributes.upsMode, [\"usCarrier\", \"internationalCarrier\", \"secureSymbol\", \"standardSymbol\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.wideNarrowRatio = (0, _utils.getRatio)(attributes.wideNarrowRatio);\n this.encrypt = null;\n this.extras = null;\n }\n}\nclass Bind extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"bind\", true);\n this.match = (0, _utils.getStringOption)(attributes.match, [\"once\", \"dataRef\", \"global\", \"none\"]);\n this.ref = attributes.ref || \"\";\n this.picture = null;\n }\n}\nclass BindItems extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"bindItems\");\n this.connection = attributes.connection || \"\";\n this.labelRef = attributes.labelRef || \"\";\n this.ref = attributes.ref || \"\";\n this.valueRef = attributes.valueRef || \"\";\n }\n}\nexports.BindItems = BindItems;\nclass Bookend extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"bookend\");\n this.id = attributes.id || \"\";\n this.leader = attributes.leader || \"\";\n this.trailer = attributes.trailer || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass BooleanElement extends _xfa_object.Option01 {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"boolean\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$toHTML](availableSpace) {\n return valueToHtml(this[_symbol_utils.$content] === 1 ? \"1\" : \"0\");\n }\n}\nclass Border extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"border\", true);\n this.break = (0, _utils.getStringOption)(attributes.break, [\"close\", \"open\"]);\n this.hand = (0, _utils.getStringOption)(attributes.hand, [\"even\", \"left\", \"right\"]);\n this.id = attributes.id || \"\";\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.corner = new _xfa_object.XFAObjectArray(4);\n this.edge = new _xfa_object.XFAObjectArray(4);\n this.extras = null;\n this.fill = null;\n this.margin = null;\n }\n [_symbol_utils.$getExtra]() {\n if (!this[_symbol_utils.$extra]) {\n const edges = this.edge.children.slice();\n if (edges.length < 4) {\n const defaultEdge = edges.at(-1) || new Edge({});\n for (let i = edges.length; i < 4; i++) {\n edges.push(defaultEdge);\n }\n }\n const widths = edges.map(edge => edge.thickness);\n const insets = [0, 0, 0, 0];\n if (this.margin) {\n insets[0] = this.margin.topInset;\n insets[1] = this.margin.rightInset;\n insets[2] = this.margin.bottomInset;\n insets[3] = this.margin.leftInset;\n }\n this[_symbol_utils.$extra] = {\n widths,\n insets,\n edges\n };\n }\n return this[_symbol_utils.$extra];\n }\n [_symbol_utils.$toStyle]() {\n const {\n edges\n } = this[_symbol_utils.$getExtra]();\n const edgeStyles = edges.map(node => {\n const style = node[_symbol_utils.$toStyle]();\n style.color ||= \"#000000\";\n return style;\n });\n const style = Object.create(null);\n if (this.margin) {\n Object.assign(style, this.margin[_symbol_utils.$toStyle]());\n }\n if (this.fill?.presence === \"visible\") {\n Object.assign(style, this.fill[_symbol_utils.$toStyle]());\n }\n if (this.corner.children.some(node => node.radius !== 0)) {\n const cornerStyles = this.corner.children.map(node => node[_symbol_utils.$toStyle]());\n if (cornerStyles.length === 2 || cornerStyles.length === 3) {\n const last = cornerStyles.at(-1);\n for (let i = cornerStyles.length; i < 4; i++) {\n cornerStyles.push(last);\n }\n }\n style.borderRadius = cornerStyles.map(s => s.radius).join(\" \");\n }\n switch (this.presence) {\n case \"invisible\":\n case \"hidden\":\n style.borderStyle = \"\";\n break;\n case \"inactive\":\n style.borderStyle = \"none\";\n break;\n default:\n style.borderStyle = edgeStyles.map(s => s.style).join(\" \");\n break;\n }\n style.borderWidth = edgeStyles.map(s => s.width).join(\" \");\n style.borderColor = edgeStyles.map(s => s.color).join(\" \");\n return style;\n }\n}\nclass Break extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"break\", true);\n this.after = (0, _utils.getStringOption)(attributes.after, [\"auto\", \"contentArea\", \"pageArea\", \"pageEven\", \"pageOdd\"]);\n this.afterTarget = attributes.afterTarget || \"\";\n this.before = (0, _utils.getStringOption)(attributes.before, [\"auto\", \"contentArea\", \"pageArea\", \"pageEven\", \"pageOdd\"]);\n this.beforeTarget = attributes.beforeTarget || \"\";\n this.bookendLeader = attributes.bookendLeader || \"\";\n this.bookendTrailer = attributes.bookendTrailer || \"\";\n this.id = attributes.id || \"\";\n this.overflowLeader = attributes.overflowLeader || \"\";\n this.overflowTarget = attributes.overflowTarget || \"\";\n this.overflowTrailer = attributes.overflowTrailer || \"\";\n this.startNew = (0, _utils.getInteger)({\n data: attributes.startNew,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n }\n}\nclass BreakAfter extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"breakAfter\", true);\n this.id = attributes.id || \"\";\n this.leader = attributes.leader || \"\";\n this.startNew = (0, _utils.getInteger)({\n data: attributes.startNew,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.target = attributes.target || \"\";\n this.targetType = (0, _utils.getStringOption)(attributes.targetType, [\"auto\", \"contentArea\", \"pageArea\"]);\n this.trailer = attributes.trailer || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.script = null;\n }\n}\nclass BreakBefore extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"breakBefore\", true);\n this.id = attributes.id || \"\";\n this.leader = attributes.leader || \"\";\n this.startNew = (0, _utils.getInteger)({\n data: attributes.startNew,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.target = attributes.target || \"\";\n this.targetType = (0, _utils.getStringOption)(attributes.targetType, [\"auto\", \"contentArea\", \"pageArea\"]);\n this.trailer = attributes.trailer || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.script = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n this[_symbol_utils.$extra] = {};\n return _utils.HTMLResult.FAILURE;\n }\n}\nclass Button extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"button\", true);\n this.highlight = (0, _utils.getStringOption)(attributes.highlight, [\"inverted\", \"none\", \"outline\", \"push\"]);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const parent = this[_symbol_utils.$getParent]();\n const grandpa = parent[_symbol_utils.$getParent]();\n const htmlButton = {\n name: \"button\",\n attributes: {\n id: this[_symbol_utils.$uid],\n class: [\"xfaButton\"],\n style: {}\n },\n children: []\n };\n for (const event of grandpa.event.children) {\n if (event.activity !== \"click\" || !event.script) {\n continue;\n }\n const jsURL = (0, _core_utils.recoverJsURL)(event.script[_symbol_utils.$content]);\n if (!jsURL) {\n continue;\n }\n const href = (0, _html_utils.fixURL)(jsURL.url);\n if (!href) {\n continue;\n }\n htmlButton.children.push({\n name: \"a\",\n attributes: {\n id: \"link\" + this[_symbol_utils.$uid],\n href,\n newWindow: jsURL.newWindow,\n class: [\"xfaLink\"],\n style: {}\n },\n children: []\n });\n }\n return _utils.HTMLResult.success(htmlButton);\n }\n}\nclass Calculate extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"calculate\", true);\n this.id = attributes.id || \"\";\n this.override = (0, _utils.getStringOption)(attributes.override, [\"disabled\", \"error\", \"ignore\", \"warning\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.message = null;\n this.script = null;\n }\n}\nclass Caption extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"caption\", true);\n this.id = attributes.id || \"\";\n this.placement = (0, _utils.getStringOption)(attributes.placement, [\"left\", \"bottom\", \"inline\", \"right\", \"top\"]);\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.reserve = Math.ceil((0, _utils.getMeasurement)(attributes.reserve));\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.font = null;\n this.margin = null;\n this.para = null;\n this.value = null;\n }\n [_symbol_utils.$setValue](value) {\n _setValue(this, value);\n }\n [_symbol_utils.$getExtra](availableSpace) {\n if (!this[_symbol_utils.$extra]) {\n let {\n width,\n height\n } = availableSpace;\n switch (this.placement) {\n case \"left\":\n case \"right\":\n case \"inline\":\n width = this.reserve <= 0 ? width : this.reserve;\n break;\n case \"top\":\n case \"bottom\":\n height = this.reserve <= 0 ? height : this.reserve;\n break;\n }\n this[_symbol_utils.$extra] = (0, _html_utils.layoutNode)(this, {\n width,\n height\n });\n }\n return this[_symbol_utils.$extra];\n }\n [_symbol_utils.$toHTML](availableSpace) {\n if (!this.value) {\n return _utils.HTMLResult.EMPTY;\n }\n this[_symbol_utils.$pushPara]();\n const value = this.value[_symbol_utils.$toHTML](availableSpace).html;\n if (!value) {\n this[_symbol_utils.$popPara]();\n return _utils.HTMLResult.EMPTY;\n }\n const savedReserve = this.reserve;\n if (this.reserve <= 0) {\n const {\n w,\n h\n } = this[_symbol_utils.$getExtra](availableSpace);\n switch (this.placement) {\n case \"left\":\n case \"right\":\n case \"inline\":\n this.reserve = w;\n break;\n case \"top\":\n case \"bottom\":\n this.reserve = h;\n break;\n }\n }\n const children = [];\n if (typeof value === \"string\") {\n children.push({\n name: \"#text\",\n value\n });\n } else {\n children.push(value);\n }\n const style = (0, _html_utils.toStyle)(this, \"font\", \"margin\", \"visibility\");\n switch (this.placement) {\n case \"left\":\n case \"right\":\n if (this.reserve > 0) {\n style.width = (0, _html_utils.measureToString)(this.reserve);\n }\n break;\n case \"top\":\n case \"bottom\":\n if (this.reserve > 0) {\n style.height = (0, _html_utils.measureToString)(this.reserve);\n }\n break;\n }\n (0, _html_utils.setPara)(this, null, value);\n this[_symbol_utils.$popPara]();\n this.reserve = savedReserve;\n return _utils.HTMLResult.success({\n name: \"div\",\n attributes: {\n style,\n class: [\"xfaCaption\"]\n },\n children\n });\n }\n}\nclass Certificate extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"certificate\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Certificates extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"certificates\", true);\n this.credentialServerPolicy = (0, _utils.getStringOption)(attributes.credentialServerPolicy, [\"optional\", \"required\"]);\n this.id = attributes.id || \"\";\n this.url = attributes.url || \"\";\n this.urlPolicy = attributes.urlPolicy || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.encryption = null;\n this.issuers = null;\n this.keyUsage = null;\n this.oids = null;\n this.signing = null;\n this.subjectDNs = null;\n }\n}\nclass CheckButton extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"checkButton\", true);\n this.id = attributes.id || \"\";\n this.mark = (0, _utils.getStringOption)(attributes.mark, [\"default\", \"check\", \"circle\", \"cross\", \"diamond\", \"square\", \"star\"]);\n this.shape = (0, _utils.getStringOption)(attributes.shape, [\"square\", \"round\"]);\n this.size = (0, _utils.getMeasurement)(attributes.size, \"10pt\");\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.border = null;\n this.extras = null;\n this.margin = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const style = (0, _html_utils.toStyle)(\"margin\");\n const size = (0, _html_utils.measureToString)(this.size);\n style.width = style.height = size;\n let type;\n let className;\n let groupId;\n const field = this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]();\n const items = field.items.children.length && field.items.children[0][_symbol_utils.$toHTML]().html || [];\n const exportedValue = {\n on: (items[0] !== undefined ? items[0] : \"on\").toString(),\n off: (items[1] !== undefined ? items[1] : \"off\").toString()\n };\n const value = field.value?.[_symbol_utils.$text]() || \"off\";\n const checked = value === exportedValue.on || undefined;\n const container = field[_symbol_utils.$getSubformParent]();\n const fieldId = field[_symbol_utils.$uid];\n let dataId;\n if (container instanceof ExclGroup) {\n groupId = container[_symbol_utils.$uid];\n type = \"radio\";\n className = \"xfaRadio\";\n dataId = container[_symbol_utils.$data]?.[_symbol_utils.$uid] || container[_symbol_utils.$uid];\n } else {\n type = \"checkbox\";\n className = \"xfaCheckbox\";\n dataId = field[_symbol_utils.$data]?.[_symbol_utils.$uid] || field[_symbol_utils.$uid];\n }\n const input = {\n name: \"input\",\n attributes: {\n class: [className],\n style,\n fieldId,\n dataId,\n type,\n checked,\n xfaOn: exportedValue.on,\n xfaOff: exportedValue.off,\n \"aria-label\": ariaLabel(field),\n \"aria-required\": false\n }\n };\n if (groupId) {\n input.attributes.name = groupId;\n }\n if (isRequired(field)) {\n input.attributes[\"aria-required\"] = true;\n input.attributes.required = true;\n }\n return _utils.HTMLResult.success({\n name: \"label\",\n attributes: {\n class: [\"xfaLabel\"]\n },\n children: [input]\n });\n }\n}\nclass ChoiceList extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"choiceList\", true);\n this.commitOn = (0, _utils.getStringOption)(attributes.commitOn, [\"select\", \"exit\"]);\n this.id = attributes.id || \"\";\n this.open = (0, _utils.getStringOption)(attributes.open, [\"userControl\", \"always\", \"multiSelect\", \"onEntry\"]);\n this.textEntry = (0, _utils.getInteger)({\n data: attributes.textEntry,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.border = null;\n this.extras = null;\n this.margin = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const style = (0, _html_utils.toStyle)(this, \"border\", \"margin\");\n const ui = this[_symbol_utils.$getParent]();\n const field = ui[_symbol_utils.$getParent]();\n const fontSize = field.font?.size || 10;\n const optionStyle = {\n fontSize: `calc(${fontSize}px * var(--scale-factor))`\n };\n const children = [];\n if (field.items.children.length > 0) {\n const items = field.items;\n let displayedIndex = 0;\n let saveIndex = 0;\n if (items.children.length === 2) {\n displayedIndex = items.children[0].save;\n saveIndex = 1 - displayedIndex;\n }\n const displayed = items.children[displayedIndex][_symbol_utils.$toHTML]().html;\n const values = items.children[saveIndex][_symbol_utils.$toHTML]().html;\n let selected = false;\n const value = field.value?.[_symbol_utils.$text]() || \"\";\n for (let i = 0, ii = displayed.length; i < ii; i++) {\n const option = {\n name: \"option\",\n attributes: {\n value: values[i] || displayed[i],\n style: optionStyle\n },\n value: displayed[i]\n };\n if (values[i] === value) {\n option.attributes.selected = selected = true;\n }\n children.push(option);\n }\n if (!selected) {\n children.splice(0, 0, {\n name: \"option\",\n attributes: {\n hidden: true,\n selected: true\n },\n value: \" \"\n });\n }\n }\n const selectAttributes = {\n class: [\"xfaSelect\"],\n fieldId: field[_symbol_utils.$uid],\n dataId: field[_symbol_utils.$data]?.[_symbol_utils.$uid] || field[_symbol_utils.$uid],\n style,\n \"aria-label\": ariaLabel(field),\n \"aria-required\": false\n };\n if (isRequired(field)) {\n selectAttributes[\"aria-required\"] = true;\n selectAttributes.required = true;\n }\n if (this.open === \"multiSelect\") {\n selectAttributes.multiple = true;\n }\n return _utils.HTMLResult.success({\n name: \"label\",\n attributes: {\n class: [\"xfaLabel\"]\n },\n children: [{\n name: \"select\",\n children,\n attributes: selectAttributes\n }]\n });\n }\n}\nclass Color extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"color\", true);\n this.cSpace = (0, _utils.getStringOption)(attributes.cSpace, [\"SRGB\"]);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.value = attributes.value ? (0, _utils.getColor)(attributes.value) : \"\";\n this.extras = null;\n }\n [_symbol_utils.$hasSettableValue]() {\n return false;\n }\n [_symbol_utils.$toStyle]() {\n return this.value ? _util.Util.makeHexColor(this.value.r, this.value.g, this.value.b) : null;\n }\n}\nclass Comb extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"comb\");\n this.id = attributes.id || \"\";\n this.numberOfCells = (0, _utils.getInteger)({\n data: attributes.numberOfCells,\n defaultValue: 0,\n validate: x => x >= 0\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Connect extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"connect\", true);\n this.connection = attributes.connection || \"\";\n this.id = attributes.id || \"\";\n this.ref = attributes.ref || \"\";\n this.usage = (0, _utils.getStringOption)(attributes.usage, [\"exportAndImport\", \"exportOnly\", \"importOnly\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.picture = null;\n }\n}\nclass ContentArea extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"contentArea\", true);\n this.h = (0, _utils.getMeasurement)(attributes.h);\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.w = (0, _utils.getMeasurement)(attributes.w);\n this.x = (0, _utils.getMeasurement)(attributes.x, \"0pt\");\n this.y = (0, _utils.getMeasurement)(attributes.y, \"0pt\");\n this.desc = null;\n this.extras = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const left = (0, _html_utils.measureToString)(this.x);\n const top = (0, _html_utils.measureToString)(this.y);\n const style = {\n left,\n top,\n width: (0, _html_utils.measureToString)(this.w),\n height: (0, _html_utils.measureToString)(this.h)\n };\n const classNames = [\"xfaContentarea\"];\n if ((0, _html_utils.isPrintOnly)(this)) {\n classNames.push(\"xfaPrintOnly\");\n }\n return _utils.HTMLResult.success({\n name: \"div\",\n children: [],\n attributes: {\n style,\n class: classNames,\n id: this[_symbol_utils.$uid]\n }\n });\n }\n}\nclass Corner extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"corner\", true);\n this.id = attributes.id || \"\";\n this.inverted = (0, _utils.getInteger)({\n data: attributes.inverted,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.join = (0, _utils.getStringOption)(attributes.join, [\"square\", \"round\"]);\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.radius = (0, _utils.getMeasurement)(attributes.radius);\n this.stroke = (0, _utils.getStringOption)(attributes.stroke, [\"solid\", \"dashDot\", \"dashDotDot\", \"dashed\", \"dotted\", \"embossed\", \"etched\", \"lowered\", \"raised\"]);\n this.thickness = (0, _utils.getMeasurement)(attributes.thickness, \"0.5pt\");\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.color = null;\n this.extras = null;\n }\n [_symbol_utils.$toStyle]() {\n const style = (0, _html_utils.toStyle)(this, \"visibility\");\n style.radius = (0, _html_utils.measureToString)(this.join === \"square\" ? 0 : this.radius);\n return style;\n }\n}\nclass DateElement extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"date\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$finalize]() {\n const date = this[_symbol_utils.$content].trim();\n this[_symbol_utils.$content] = date ? new Date(date) : null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n return valueToHtml(this[_symbol_utils.$content] ? this[_symbol_utils.$content].toString() : \"\");\n }\n}\nclass DateTime extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"dateTime\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$finalize]() {\n const date = this[_symbol_utils.$content].trim();\n this[_symbol_utils.$content] = date ? new Date(date) : null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n return valueToHtml(this[_symbol_utils.$content] ? this[_symbol_utils.$content].toString() : \"\");\n }\n}\nclass DateTimeEdit extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"dateTimeEdit\", true);\n this.hScrollPolicy = (0, _utils.getStringOption)(attributes.hScrollPolicy, [\"auto\", \"off\", \"on\"]);\n this.id = attributes.id || \"\";\n this.picker = (0, _utils.getStringOption)(attributes.picker, [\"host\", \"none\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.border = null;\n this.comb = null;\n this.extras = null;\n this.margin = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const style = (0, _html_utils.toStyle)(this, \"border\", \"font\", \"margin\");\n const field = this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]();\n const html = {\n name: \"input\",\n attributes: {\n type: \"text\",\n fieldId: field[_symbol_utils.$uid],\n dataId: field[_symbol_utils.$data]?.[_symbol_utils.$uid] || field[_symbol_utils.$uid],\n class: [\"xfaTextfield\"],\n style,\n \"aria-label\": ariaLabel(field),\n \"aria-required\": false\n }\n };\n if (isRequired(field)) {\n html.attributes[\"aria-required\"] = true;\n html.attributes.required = true;\n }\n return _utils.HTMLResult.success({\n name: \"label\",\n attributes: {\n class: [\"xfaLabel\"]\n },\n children: [html]\n });\n }\n}\nclass Decimal extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"decimal\");\n this.fracDigits = (0, _utils.getInteger)({\n data: attributes.fracDigits,\n defaultValue: 2,\n validate: x => true\n });\n this.id = attributes.id || \"\";\n this.leadDigits = (0, _utils.getInteger)({\n data: attributes.leadDigits,\n defaultValue: -1,\n validate: x => true\n });\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$finalize]() {\n const number = parseFloat(this[_symbol_utils.$content].trim());\n this[_symbol_utils.$content] = isNaN(number) ? null : number;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n return valueToHtml(this[_symbol_utils.$content] !== null ? this[_symbol_utils.$content].toString() : \"\");\n }\n}\nclass DefaultUi extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"defaultUi\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n }\n}\nclass Desc extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"desc\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.boolean = new _xfa_object.XFAObjectArray();\n this.date = new _xfa_object.XFAObjectArray();\n this.dateTime = new _xfa_object.XFAObjectArray();\n this.decimal = new _xfa_object.XFAObjectArray();\n this.exData = new _xfa_object.XFAObjectArray();\n this.float = new _xfa_object.XFAObjectArray();\n this.image = new _xfa_object.XFAObjectArray();\n this.integer = new _xfa_object.XFAObjectArray();\n this.text = new _xfa_object.XFAObjectArray();\n this.time = new _xfa_object.XFAObjectArray();\n }\n}\nclass DigestMethod extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"digestMethod\", [\"\", \"SHA1\", \"SHA256\", \"SHA512\", \"RIPEMD160\"]);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass DigestMethods extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"digestMethods\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.digestMethod = new _xfa_object.XFAObjectArray();\n }\n}\nclass Draw extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"draw\", true);\n this.anchorType = (0, _utils.getStringOption)(attributes.anchorType, [\"topLeft\", \"bottomCenter\", \"bottomLeft\", \"bottomRight\", \"middleCenter\", \"middleLeft\", \"middleRight\", \"topCenter\", \"topRight\"]);\n this.colSpan = (0, _utils.getInteger)({\n data: attributes.colSpan,\n defaultValue: 1,\n validate: n => n >= 1 || n === -1\n });\n this.h = attributes.h ? (0, _utils.getMeasurement)(attributes.h) : \"\";\n this.hAlign = (0, _utils.getStringOption)(attributes.hAlign, [\"left\", \"center\", \"justify\", \"justifyAll\", \"radix\", \"right\"]);\n this.id = attributes.id || \"\";\n this.locale = attributes.locale || \"\";\n this.maxH = (0, _utils.getMeasurement)(attributes.maxH, \"0pt\");\n this.maxW = (0, _utils.getMeasurement)(attributes.maxW, \"0pt\");\n this.minH = (0, _utils.getMeasurement)(attributes.minH, \"0pt\");\n this.minW = (0, _utils.getMeasurement)(attributes.minW, \"0pt\");\n this.name = attributes.name || \"\";\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.rotate = (0, _utils.getInteger)({\n data: attributes.rotate,\n defaultValue: 0,\n validate: x => x % 90 === 0\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.w = attributes.w ? (0, _utils.getMeasurement)(attributes.w) : \"\";\n this.x = (0, _utils.getMeasurement)(attributes.x, \"0pt\");\n this.y = (0, _utils.getMeasurement)(attributes.y, \"0pt\");\n this.assist = null;\n this.border = null;\n this.caption = null;\n this.desc = null;\n this.extras = null;\n this.font = null;\n this.keep = null;\n this.margin = null;\n this.para = null;\n this.traversal = null;\n this.ui = null;\n this.value = null;\n this.setProperty = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$setValue](value) {\n _setValue(this, value);\n }\n [_symbol_utils.$toHTML](availableSpace) {\n setTabIndex(this);\n if (this.presence === \"hidden\" || this.presence === \"inactive\") {\n return _utils.HTMLResult.EMPTY;\n }\n (0, _html_utils.fixDimensions)(this);\n this[_symbol_utils.$pushPara]();\n const savedW = this.w;\n const savedH = this.h;\n const {\n w,\n h,\n isBroken\n } = (0, _html_utils.layoutNode)(this, availableSpace);\n if (w && this.w === \"\") {\n if (isBroken && this[_symbol_utils.$getSubformParent]()[_symbol_utils.$isThereMoreWidth]()) {\n this[_symbol_utils.$popPara]();\n return _utils.HTMLResult.FAILURE;\n }\n this.w = w;\n }\n if (h && this.h === \"\") {\n this.h = h;\n }\n setFirstUnsplittable(this);\n if (!(0, _layout.checkDimensions)(this, availableSpace)) {\n this.w = savedW;\n this.h = savedH;\n this[_symbol_utils.$popPara]();\n return _utils.HTMLResult.FAILURE;\n }\n unsetFirstUnsplittable(this);\n const style = (0, _html_utils.toStyle)(this, \"font\", \"hAlign\", \"dimensions\", \"position\", \"presence\", \"rotate\", \"anchorType\", \"border\", \"margin\");\n (0, _html_utils.setMinMaxDimensions)(this, style);\n if (style.margin) {\n style.padding = style.margin;\n delete style.margin;\n }\n const classNames = [\"xfaDraw\"];\n if (this.font) {\n classNames.push(\"xfaFont\");\n }\n if ((0, _html_utils.isPrintOnly)(this)) {\n classNames.push(\"xfaPrintOnly\");\n }\n const attributes = {\n style,\n id: this[_symbol_utils.$uid],\n class: classNames\n };\n if (this.name) {\n attributes.xfaName = this.name;\n }\n const html = {\n name: \"div\",\n attributes,\n children: []\n };\n applyAssist(this, attributes);\n const bbox = (0, _html_utils.computeBbox)(this, html, availableSpace);\n const value = this.value ? this.value[_symbol_utils.$toHTML](availableSpace).html : null;\n if (value === null) {\n this.w = savedW;\n this.h = savedH;\n this[_symbol_utils.$popPara]();\n return _utils.HTMLResult.success((0, _html_utils.createWrapper)(this, html), bbox);\n }\n html.children.push(value);\n (0, _html_utils.setPara)(this, style, value);\n this.w = savedW;\n this.h = savedH;\n this[_symbol_utils.$popPara]();\n return _utils.HTMLResult.success((0, _html_utils.createWrapper)(this, html), bbox);\n }\n}\nclass Edge extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"edge\", true);\n this.cap = (0, _utils.getStringOption)(attributes.cap, [\"square\", \"butt\", \"round\"]);\n this.id = attributes.id || \"\";\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.stroke = (0, _utils.getStringOption)(attributes.stroke, [\"solid\", \"dashDot\", \"dashDotDot\", \"dashed\", \"dotted\", \"embossed\", \"etched\", \"lowered\", \"raised\"]);\n this.thickness = (0, _utils.getMeasurement)(attributes.thickness, \"0.5pt\");\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.color = null;\n this.extras = null;\n }\n [_symbol_utils.$toStyle]() {\n const style = (0, _html_utils.toStyle)(this, \"visibility\");\n Object.assign(style, {\n linecap: this.cap,\n width: (0, _html_utils.measureToString)(this.thickness),\n color: this.color ? this.color[_symbol_utils.$toStyle]() : \"#000000\",\n style: \"\"\n });\n if (this.presence !== \"visible\") {\n style.style = \"none\";\n } else {\n switch (this.stroke) {\n case \"solid\":\n style.style = \"solid\";\n break;\n case \"dashDot\":\n style.style = \"dashed\";\n break;\n case \"dashDotDot\":\n style.style = \"dashed\";\n break;\n case \"dashed\":\n style.style = \"dashed\";\n break;\n case \"dotted\":\n style.style = \"dotted\";\n break;\n case \"embossed\":\n style.style = \"ridge\";\n break;\n case \"etched\":\n style.style = \"groove\";\n break;\n case \"lowered\":\n style.style = \"inset\";\n break;\n case \"raised\":\n style.style = \"outset\";\n break;\n }\n }\n return style;\n }\n}\nclass Encoding extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"encoding\", [\"adbe.x509.rsa_sha1\", \"adbe.pkcs7.detached\", \"adbe.pkcs7.sha1\"]);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Encodings extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"encodings\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.encoding = new _xfa_object.XFAObjectArray();\n }\n}\nclass Encrypt extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"encrypt\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.certificate = null;\n }\n}\nclass EncryptData extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"encryptData\", true);\n this.id = attributes.id || \"\";\n this.operation = (0, _utils.getStringOption)(attributes.operation, [\"encrypt\", \"decrypt\"]);\n this.target = attributes.target || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.filter = null;\n this.manifest = null;\n }\n}\nclass Encryption extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"encryption\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.certificate = new _xfa_object.XFAObjectArray();\n }\n}\nclass EncryptionMethod extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"encryptionMethod\", [\"\", \"AES256-CBC\", \"TRIPLEDES-CBC\", \"AES128-CBC\", \"AES192-CBC\"]);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass EncryptionMethods extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"encryptionMethods\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.encryptionMethod = new _xfa_object.XFAObjectArray();\n }\n}\nclass Event extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"event\", true);\n this.activity = (0, _utils.getStringOption)(attributes.activity, [\"click\", \"change\", \"docClose\", \"docReady\", \"enter\", \"exit\", \"full\", \"indexChange\", \"initialize\", \"mouseDown\", \"mouseEnter\", \"mouseExit\", \"mouseUp\", \"postExecute\", \"postOpen\", \"postPrint\", \"postSave\", \"postSign\", \"postSubmit\", \"preExecute\", \"preOpen\", \"prePrint\", \"preSave\", \"preSign\", \"preSubmit\", \"ready\", \"validationState\"]);\n this.id = attributes.id || \"\";\n this.listen = (0, _utils.getStringOption)(attributes.listen, [\"refOnly\", \"refAndDescendents\"]);\n this.name = attributes.name || \"\";\n this.ref = attributes.ref || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.encryptData = null;\n this.execute = null;\n this.script = null;\n this.signData = null;\n this.submit = null;\n }\n}\nclass ExData extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"exData\");\n this.contentType = attributes.contentType || \"\";\n this.href = attributes.href || \"\";\n this.id = attributes.id || \"\";\n this.maxLength = (0, _utils.getInteger)({\n data: attributes.maxLength,\n defaultValue: -1,\n validate: x => x >= -1\n });\n this.name = attributes.name || \"\";\n this.rid = attributes.rid || \"\";\n this.transferEncoding = (0, _utils.getStringOption)(attributes.transferEncoding, [\"none\", \"base64\", \"package\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$isCDATAXml]() {\n return this.contentType === \"text/html\";\n }\n [_symbol_utils.$onChild](child) {\n if (this.contentType === \"text/html\" && child[_symbol_utils.$namespaceId] === _namespaces.NamespaceIds.xhtml.id) {\n this[_symbol_utils.$content] = child;\n return true;\n }\n if (this.contentType === \"text/xml\") {\n this[_symbol_utils.$content] = child;\n return true;\n }\n return false;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n if (this.contentType !== \"text/html\" || !this[_symbol_utils.$content]) {\n return _utils.HTMLResult.EMPTY;\n }\n return this[_symbol_utils.$content][_symbol_utils.$toHTML](availableSpace);\n }\n}\nclass ExObject extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"exObject\", true);\n this.archive = attributes.archive || \"\";\n this.classId = attributes.classId || \"\";\n this.codeBase = attributes.codeBase || \"\";\n this.codeType = attributes.codeType || \"\";\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.boolean = new _xfa_object.XFAObjectArray();\n this.date = new _xfa_object.XFAObjectArray();\n this.dateTime = new _xfa_object.XFAObjectArray();\n this.decimal = new _xfa_object.XFAObjectArray();\n this.exData = new _xfa_object.XFAObjectArray();\n this.exObject = new _xfa_object.XFAObjectArray();\n this.float = new _xfa_object.XFAObjectArray();\n this.image = new _xfa_object.XFAObjectArray();\n this.integer = new _xfa_object.XFAObjectArray();\n this.text = new _xfa_object.XFAObjectArray();\n this.time = new _xfa_object.XFAObjectArray();\n }\n}\nclass ExclGroup extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"exclGroup\", true);\n this.access = (0, _utils.getStringOption)(attributes.access, [\"open\", \"nonInteractive\", \"protected\", \"readOnly\"]);\n this.accessKey = attributes.accessKey || \"\";\n this.anchorType = (0, _utils.getStringOption)(attributes.anchorType, [\"topLeft\", \"bottomCenter\", \"bottomLeft\", \"bottomRight\", \"middleCenter\", \"middleLeft\", \"middleRight\", \"topCenter\", \"topRight\"]);\n this.colSpan = (0, _utils.getInteger)({\n data: attributes.colSpan,\n defaultValue: 1,\n validate: n => n >= 1 || n === -1\n });\n this.h = attributes.h ? (0, _utils.getMeasurement)(attributes.h) : \"\";\n this.hAlign = (0, _utils.getStringOption)(attributes.hAlign, [\"left\", \"center\", \"justify\", \"justifyAll\", \"radix\", \"right\"]);\n this.id = attributes.id || \"\";\n this.layout = (0, _utils.getStringOption)(attributes.layout, [\"position\", \"lr-tb\", \"rl-row\", \"rl-tb\", \"row\", \"table\", \"tb\"]);\n this.maxH = (0, _utils.getMeasurement)(attributes.maxH, \"0pt\");\n this.maxW = (0, _utils.getMeasurement)(attributes.maxW, \"0pt\");\n this.minH = (0, _utils.getMeasurement)(attributes.minH, \"0pt\");\n this.minW = (0, _utils.getMeasurement)(attributes.minW, \"0pt\");\n this.name = attributes.name || \"\";\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.w = attributes.w ? (0, _utils.getMeasurement)(attributes.w) : \"\";\n this.x = (0, _utils.getMeasurement)(attributes.x, \"0pt\");\n this.y = (0, _utils.getMeasurement)(attributes.y, \"0pt\");\n this.assist = null;\n this.bind = null;\n this.border = null;\n this.calculate = null;\n this.caption = null;\n this.desc = null;\n this.extras = null;\n this.margin = null;\n this.para = null;\n this.traversal = null;\n this.validate = null;\n this.connect = new _xfa_object.XFAObjectArray();\n this.event = new _xfa_object.XFAObjectArray();\n this.field = new _xfa_object.XFAObjectArray();\n this.setProperty = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$isBindable]() {\n return true;\n }\n [_symbol_utils.$hasSettableValue]() {\n return true;\n }\n [_symbol_utils.$setValue](value) {\n for (const field of this.field.children) {\n if (!field.value) {\n const nodeValue = new Value({});\n field[_symbol_utils.$appendChild](nodeValue);\n field.value = nodeValue;\n }\n field.value[_symbol_utils.$setValue](value);\n }\n }\n [_symbol_utils.$isThereMoreWidth]() {\n return this.layout.endsWith(\"-tb\") && this[_symbol_utils.$extra].attempt === 0 && this[_symbol_utils.$extra].numberInLine > 0 || this[_symbol_utils.$getParent]()[_symbol_utils.$isThereMoreWidth]();\n }\n [_symbol_utils.$isSplittable]() {\n const parent = this[_symbol_utils.$getSubformParent]();\n if (!parent[_symbol_utils.$isSplittable]()) {\n return false;\n }\n if (this[_symbol_utils.$extra]._isSplittable !== undefined) {\n return this[_symbol_utils.$extra]._isSplittable;\n }\n if (this.layout === \"position\" || this.layout.includes(\"row\")) {\n this[_symbol_utils.$extra]._isSplittable = false;\n return false;\n }\n if (parent.layout?.endsWith(\"-tb\") && parent[_symbol_utils.$extra].numberInLine !== 0) {\n return false;\n }\n this[_symbol_utils.$extra]._isSplittable = true;\n return true;\n }\n [_symbol_utils.$flushHTML]() {\n return (0, _layout.flushHTML)(this);\n }\n [_symbol_utils.$addHTML](html, bbox) {\n (0, _layout.addHTML)(this, html, bbox);\n }\n [_symbol_utils.$getAvailableSpace]() {\n return (0, _layout.getAvailableSpace)(this);\n }\n [_symbol_utils.$toHTML](availableSpace) {\n setTabIndex(this);\n if (this.presence === \"hidden\" || this.presence === \"inactive\" || this.h === 0 || this.w === 0) {\n return _utils.HTMLResult.EMPTY;\n }\n (0, _html_utils.fixDimensions)(this);\n const children = [];\n const attributes = {\n id: this[_symbol_utils.$uid],\n class: []\n };\n (0, _html_utils.setAccess)(this, attributes.class);\n if (!this[_symbol_utils.$extra]) {\n this[_symbol_utils.$extra] = Object.create(null);\n }\n Object.assign(this[_symbol_utils.$extra], {\n children,\n attributes,\n attempt: 0,\n line: null,\n numberInLine: 0,\n availableSpace: {\n width: Math.min(this.w || Infinity, availableSpace.width),\n height: Math.min(this.h || Infinity, availableSpace.height)\n },\n width: 0,\n height: 0,\n prevHeight: 0,\n currentWidth: 0\n });\n const isSplittable = this[_symbol_utils.$isSplittable]();\n if (!isSplittable) {\n setFirstUnsplittable(this);\n }\n if (!(0, _layout.checkDimensions)(this, availableSpace)) {\n return _utils.HTMLResult.FAILURE;\n }\n const filter = new Set([\"field\"]);\n if (this.layout.includes(\"row\")) {\n const columnWidths = this[_symbol_utils.$getSubformParent]().columnWidths;\n if (Array.isArray(columnWidths) && columnWidths.length > 0) {\n this[_symbol_utils.$extra].columnWidths = columnWidths;\n this[_symbol_utils.$extra].currentColumn = 0;\n }\n }\n const style = (0, _html_utils.toStyle)(this, \"anchorType\", \"dimensions\", \"position\", \"presence\", \"border\", \"margin\", \"hAlign\");\n const classNames = [\"xfaExclgroup\"];\n const cl = (0, _html_utils.layoutClass)(this);\n if (cl) {\n classNames.push(cl);\n }\n if ((0, _html_utils.isPrintOnly)(this)) {\n classNames.push(\"xfaPrintOnly\");\n }\n attributes.style = style;\n attributes.class = classNames;\n if (this.name) {\n attributes.xfaName = this.name;\n }\n this[_symbol_utils.$pushPara]();\n const isLrTb = this.layout === \"lr-tb\" || this.layout === \"rl-tb\";\n const maxRun = isLrTb ? MAX_ATTEMPTS_FOR_LRTB_LAYOUT : 1;\n for (; this[_symbol_utils.$extra].attempt < maxRun; this[_symbol_utils.$extra].attempt++) {\n if (isLrTb && this[_symbol_utils.$extra].attempt === MAX_ATTEMPTS_FOR_LRTB_LAYOUT - 1) {\n this[_symbol_utils.$extra].numberInLine = 0;\n }\n const result = this[_symbol_utils.$childrenToHTML]({\n filter,\n include: true\n });\n if (result.success) {\n break;\n }\n if (result.isBreak()) {\n this[_symbol_utils.$popPara]();\n return result;\n }\n if (isLrTb && this[_symbol_utils.$extra].attempt === 0 && this[_symbol_utils.$extra].numberInLine === 0 && !this[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure) {\n this[_symbol_utils.$extra].attempt = maxRun;\n break;\n }\n }\n this[_symbol_utils.$popPara]();\n if (!isSplittable) {\n unsetFirstUnsplittable(this);\n }\n if (this[_symbol_utils.$extra].attempt === maxRun) {\n if (!isSplittable) {\n delete this[_symbol_utils.$extra];\n }\n return _utils.HTMLResult.FAILURE;\n }\n let marginH = 0;\n let marginV = 0;\n if (this.margin) {\n marginH = this.margin.leftInset + this.margin.rightInset;\n marginV = this.margin.topInset + this.margin.bottomInset;\n }\n const width = Math.max(this[_symbol_utils.$extra].width + marginH, this.w || 0);\n const height = Math.max(this[_symbol_utils.$extra].height + marginV, this.h || 0);\n const bbox = [this.x, this.y, width, height];\n if (this.w === \"\") {\n style.width = (0, _html_utils.measureToString)(width);\n }\n if (this.h === \"\") {\n style.height = (0, _html_utils.measureToString)(height);\n }\n const html = {\n name: \"div\",\n attributes,\n children\n };\n applyAssist(this, attributes);\n delete this[_symbol_utils.$extra];\n return _utils.HTMLResult.success((0, _html_utils.createWrapper)(this, html), bbox);\n }\n}\nclass Execute extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"execute\");\n this.connection = attributes.connection || \"\";\n this.executeType = (0, _utils.getStringOption)(attributes.executeType, [\"import\", \"remerge\"]);\n this.id = attributes.id || \"\";\n this.runAt = (0, _utils.getStringOption)(attributes.runAt, [\"client\", \"both\", \"server\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Extras extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"extras\", true);\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.boolean = new _xfa_object.XFAObjectArray();\n this.date = new _xfa_object.XFAObjectArray();\n this.dateTime = new _xfa_object.XFAObjectArray();\n this.decimal = new _xfa_object.XFAObjectArray();\n this.exData = new _xfa_object.XFAObjectArray();\n this.extras = new _xfa_object.XFAObjectArray();\n this.float = new _xfa_object.XFAObjectArray();\n this.image = new _xfa_object.XFAObjectArray();\n this.integer = new _xfa_object.XFAObjectArray();\n this.text = new _xfa_object.XFAObjectArray();\n this.time = new _xfa_object.XFAObjectArray();\n }\n}\nclass Field extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"field\", true);\n this.access = (0, _utils.getStringOption)(attributes.access, [\"open\", \"nonInteractive\", \"protected\", \"readOnly\"]);\n this.accessKey = attributes.accessKey || \"\";\n this.anchorType = (0, _utils.getStringOption)(attributes.anchorType, [\"topLeft\", \"bottomCenter\", \"bottomLeft\", \"bottomRight\", \"middleCenter\", \"middleLeft\", \"middleRight\", \"topCenter\", \"topRight\"]);\n this.colSpan = (0, _utils.getInteger)({\n data: attributes.colSpan,\n defaultValue: 1,\n validate: n => n >= 1 || n === -1\n });\n this.h = attributes.h ? (0, _utils.getMeasurement)(attributes.h) : \"\";\n this.hAlign = (0, _utils.getStringOption)(attributes.hAlign, [\"left\", \"center\", \"justify\", \"justifyAll\", \"radix\", \"right\"]);\n this.id = attributes.id || \"\";\n this.locale = attributes.locale || \"\";\n this.maxH = (0, _utils.getMeasurement)(attributes.maxH, \"0pt\");\n this.maxW = (0, _utils.getMeasurement)(attributes.maxW, \"0pt\");\n this.minH = (0, _utils.getMeasurement)(attributes.minH, \"0pt\");\n this.minW = (0, _utils.getMeasurement)(attributes.minW, \"0pt\");\n this.name = attributes.name || \"\";\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.rotate = (0, _utils.getInteger)({\n data: attributes.rotate,\n defaultValue: 0,\n validate: x => x % 90 === 0\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.w = attributes.w ? (0, _utils.getMeasurement)(attributes.w) : \"\";\n this.x = (0, _utils.getMeasurement)(attributes.x, \"0pt\");\n this.y = (0, _utils.getMeasurement)(attributes.y, \"0pt\");\n this.assist = null;\n this.bind = null;\n this.border = null;\n this.calculate = null;\n this.caption = null;\n this.desc = null;\n this.extras = null;\n this.font = null;\n this.format = null;\n this.items = new _xfa_object.XFAObjectArray(2);\n this.keep = null;\n this.margin = null;\n this.para = null;\n this.traversal = null;\n this.ui = null;\n this.validate = null;\n this.value = null;\n this.bindItems = new _xfa_object.XFAObjectArray();\n this.connect = new _xfa_object.XFAObjectArray();\n this.event = new _xfa_object.XFAObjectArray();\n this.setProperty = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$isBindable]() {\n return true;\n }\n [_symbol_utils.$setValue](value) {\n _setValue(this, value);\n }\n [_symbol_utils.$toHTML](availableSpace) {\n setTabIndex(this);\n if (!this.ui) {\n this.ui = new Ui({});\n this.ui[_symbol_utils.$globalData] = this[_symbol_utils.$globalData];\n this[_symbol_utils.$appendChild](this.ui);\n let node;\n switch (this.items.children.length) {\n case 0:\n node = new TextEdit({});\n this.ui.textEdit = node;\n break;\n case 1:\n node = new CheckButton({});\n this.ui.checkButton = node;\n break;\n case 2:\n node = new ChoiceList({});\n this.ui.choiceList = node;\n break;\n }\n this.ui[_symbol_utils.$appendChild](node);\n }\n if (!this.ui || this.presence === \"hidden\" || this.presence === \"inactive\" || this.h === 0 || this.w === 0) {\n return _utils.HTMLResult.EMPTY;\n }\n if (this.caption) {\n delete this.caption[_symbol_utils.$extra];\n }\n this[_symbol_utils.$pushPara]();\n const caption = this.caption ? this.caption[_symbol_utils.$toHTML](availableSpace).html : null;\n const savedW = this.w;\n const savedH = this.h;\n let marginH = 0;\n let marginV = 0;\n if (this.margin) {\n marginH = this.margin.leftInset + this.margin.rightInset;\n marginV = this.margin.topInset + this.margin.bottomInset;\n }\n let borderDims = null;\n if (this.w === \"\" || this.h === \"\") {\n let width = null;\n let height = null;\n let uiW = 0;\n let uiH = 0;\n if (this.ui.checkButton) {\n uiW = uiH = this.ui.checkButton.size;\n } else {\n const {\n w,\n h\n } = (0, _html_utils.layoutNode)(this, availableSpace);\n if (w !== null) {\n uiW = w;\n uiH = h;\n } else {\n uiH = (0, _fonts.getMetrics)(this.font, true).lineNoGap;\n }\n }\n borderDims = getBorderDims(this.ui[_symbol_utils.$getExtra]());\n uiW += borderDims.w;\n uiH += borderDims.h;\n if (this.caption) {\n const {\n w,\n h,\n isBroken\n } = this.caption[_symbol_utils.$getExtra](availableSpace);\n if (isBroken && this[_symbol_utils.$getSubformParent]()[_symbol_utils.$isThereMoreWidth]()) {\n this[_symbol_utils.$popPara]();\n return _utils.HTMLResult.FAILURE;\n }\n width = w;\n height = h;\n switch (this.caption.placement) {\n case \"left\":\n case \"right\":\n case \"inline\":\n width += uiW;\n break;\n case \"top\":\n case \"bottom\":\n height += uiH;\n break;\n }\n } else {\n width = uiW;\n height = uiH;\n }\n if (width && this.w === \"\") {\n width += marginH;\n this.w = Math.min(this.maxW <= 0 ? Infinity : this.maxW, this.minW + 1 < width ? width : this.minW);\n }\n if (height && this.h === \"\") {\n height += marginV;\n this.h = Math.min(this.maxH <= 0 ? Infinity : this.maxH, this.minH + 1 < height ? height : this.minH);\n }\n }\n this[_symbol_utils.$popPara]();\n (0, _html_utils.fixDimensions)(this);\n setFirstUnsplittable(this);\n if (!(0, _layout.checkDimensions)(this, availableSpace)) {\n this.w = savedW;\n this.h = savedH;\n this[_symbol_utils.$popPara]();\n return _utils.HTMLResult.FAILURE;\n }\n unsetFirstUnsplittable(this);\n const style = (0, _html_utils.toStyle)(this, \"font\", \"dimensions\", \"position\", \"rotate\", \"anchorType\", \"presence\", \"margin\", \"hAlign\");\n (0, _html_utils.setMinMaxDimensions)(this, style);\n const classNames = [\"xfaField\"];\n if (this.font) {\n classNames.push(\"xfaFont\");\n }\n if ((0, _html_utils.isPrintOnly)(this)) {\n classNames.push(\"xfaPrintOnly\");\n }\n const attributes = {\n style,\n id: this[_symbol_utils.$uid],\n class: classNames\n };\n if (style.margin) {\n style.padding = style.margin;\n delete style.margin;\n }\n (0, _html_utils.setAccess)(this, classNames);\n if (this.name) {\n attributes.xfaName = this.name;\n }\n const children = [];\n const html = {\n name: \"div\",\n attributes,\n children\n };\n applyAssist(this, attributes);\n const borderStyle = this.border ? this.border[_symbol_utils.$toStyle]() : null;\n const bbox = (0, _html_utils.computeBbox)(this, html, availableSpace);\n const ui = this.ui[_symbol_utils.$toHTML]().html;\n if (!ui) {\n Object.assign(style, borderStyle);\n return _utils.HTMLResult.success((0, _html_utils.createWrapper)(this, html), bbox);\n }\n if (this[_symbol_utils.$tabIndex]) {\n if (ui.children?.[0]) {\n ui.children[0].attributes.tabindex = this[_symbol_utils.$tabIndex];\n } else {\n ui.attributes.tabindex = this[_symbol_utils.$tabIndex];\n }\n }\n if (!ui.attributes.style) {\n ui.attributes.style = Object.create(null);\n }\n let aElement = null;\n if (this.ui.button) {\n if (ui.children.length === 1) {\n [aElement] = ui.children.splice(0, 1);\n }\n Object.assign(ui.attributes.style, borderStyle);\n } else {\n Object.assign(style, borderStyle);\n }\n children.push(ui);\n if (this.value) {\n if (this.ui.imageEdit) {\n ui.children.push(this.value[_symbol_utils.$toHTML]().html);\n } else if (!this.ui.button) {\n let value = \"\";\n if (this.value.exData) {\n value = this.value.exData[_symbol_utils.$text]();\n } else if (this.value.text) {\n value = this.value.text[_symbol_utils.$getExtra]();\n } else {\n const htmlValue = this.value[_symbol_utils.$toHTML]().html;\n if (htmlValue !== null) {\n value = htmlValue.children[0].value;\n }\n }\n if (this.ui.textEdit && this.value.text?.maxChars) {\n ui.children[0].attributes.maxLength = this.value.text.maxChars;\n }\n if (value) {\n if (this.ui.numericEdit) {\n value = parseFloat(value);\n value = isNaN(value) ? \"\" : value.toString();\n }\n if (ui.children[0].name === \"textarea\") {\n ui.children[0].attributes.textContent = value;\n } else {\n ui.children[0].attributes.value = value;\n }\n }\n }\n }\n if (!this.ui.imageEdit && ui.children?.[0] && this.h) {\n borderDims = borderDims || getBorderDims(this.ui[_symbol_utils.$getExtra]());\n let captionHeight = 0;\n if (this.caption && [\"top\", \"bottom\"].includes(this.caption.placement)) {\n captionHeight = this.caption.reserve;\n if (captionHeight <= 0) {\n captionHeight = this.caption[_symbol_utils.$getExtra](availableSpace).h;\n }\n const inputHeight = this.h - captionHeight - marginV - borderDims.h;\n ui.children[0].attributes.style.height = (0, _html_utils.measureToString)(inputHeight);\n } else {\n ui.children[0].attributes.style.height = \"100%\";\n }\n }\n if (aElement) {\n ui.children.push(aElement);\n }\n if (!caption) {\n if (ui.attributes.class) {\n ui.attributes.class.push(\"xfaLeft\");\n }\n this.w = savedW;\n this.h = savedH;\n return _utils.HTMLResult.success((0, _html_utils.createWrapper)(this, html), bbox);\n }\n if (this.ui.button) {\n if (style.padding) {\n delete style.padding;\n }\n if (caption.name === \"div\") {\n caption.name = \"span\";\n }\n ui.children.push(caption);\n return _utils.HTMLResult.success(html, bbox);\n } else if (this.ui.checkButton) {\n caption.attributes.class[0] = \"xfaCaptionForCheckButton\";\n }\n if (!ui.attributes.class) {\n ui.attributes.class = [];\n }\n ui.children.splice(0, 0, caption);\n switch (this.caption.placement) {\n case \"left\":\n ui.attributes.class.push(\"xfaLeft\");\n break;\n case \"right\":\n ui.attributes.class.push(\"xfaRight\");\n break;\n case \"top\":\n ui.attributes.class.push(\"xfaTop\");\n break;\n case \"bottom\":\n ui.attributes.class.push(\"xfaBottom\");\n break;\n case \"inline\":\n ui.attributes.class.push(\"xfaLeft\");\n break;\n }\n this.w = savedW;\n this.h = savedH;\n return _utils.HTMLResult.success((0, _html_utils.createWrapper)(this, html), bbox);\n }\n}\nexports.Field = Field;\nclass Fill extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"fill\", true);\n this.id = attributes.id || \"\";\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.color = null;\n this.extras = null;\n this.linear = null;\n this.pattern = null;\n this.radial = null;\n this.solid = null;\n this.stipple = null;\n }\n [_symbol_utils.$toStyle]() {\n const parent = this[_symbol_utils.$getParent]();\n const grandpa = parent[_symbol_utils.$getParent]();\n const ggrandpa = grandpa[_symbol_utils.$getParent]();\n const style = Object.create(null);\n let propName = \"color\";\n let altPropName = propName;\n if (parent instanceof Border) {\n propName = \"background-color\";\n altPropName = \"background\";\n if (ggrandpa instanceof Ui) {\n style.backgroundColor = \"white\";\n }\n }\n if (parent instanceof Rectangle || parent instanceof Arc) {\n propName = altPropName = \"fill\";\n style.fill = \"white\";\n }\n for (const name of Object.getOwnPropertyNames(this)) {\n if (name === \"extras\" || name === \"color\") {\n continue;\n }\n const obj = this[name];\n if (!(obj instanceof _xfa_object.XFAObject)) {\n continue;\n }\n const color = obj[_symbol_utils.$toStyle](this.color);\n if (color) {\n style[color.startsWith(\"#\") ? propName : altPropName] = color;\n }\n return style;\n }\n if (this.color?.value) {\n const color = this.color[_symbol_utils.$toStyle]();\n style[color.startsWith(\"#\") ? propName : altPropName] = color;\n }\n return style;\n }\n}\nclass Filter extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"filter\", true);\n this.addRevocationInfo = (0, _utils.getStringOption)(attributes.addRevocationInfo, [\"\", \"required\", \"optional\", \"none\"]);\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.version = (0, _utils.getInteger)({\n data: this.version,\n defaultValue: 5,\n validate: x => x >= 1 && x <= 5\n });\n this.appearanceFilter = null;\n this.certificates = null;\n this.digestMethods = null;\n this.encodings = null;\n this.encryptionMethods = null;\n this.handler = null;\n this.lockDocument = null;\n this.mdp = null;\n this.reasons = null;\n this.timeStamp = null;\n }\n}\nclass Float extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"float\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$finalize]() {\n const number = parseFloat(this[_symbol_utils.$content].trim());\n this[_symbol_utils.$content] = isNaN(number) ? null : number;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n return valueToHtml(this[_symbol_utils.$content] !== null ? this[_symbol_utils.$content].toString() : \"\");\n }\n}\nclass Font extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"font\", true);\n this.baselineShift = (0, _utils.getMeasurement)(attributes.baselineShift);\n this.fontHorizontalScale = (0, _utils.getFloat)({\n data: attributes.fontHorizontalScale,\n defaultValue: 100,\n validate: x => x >= 0\n });\n this.fontVerticalScale = (0, _utils.getFloat)({\n data: attributes.fontVerticalScale,\n defaultValue: 100,\n validate: x => x >= 0\n });\n this.id = attributes.id || \"\";\n this.kerningMode = (0, _utils.getStringOption)(attributes.kerningMode, [\"none\", \"pair\"]);\n this.letterSpacing = (0, _utils.getMeasurement)(attributes.letterSpacing, \"0\");\n this.lineThrough = (0, _utils.getInteger)({\n data: attributes.lineThrough,\n defaultValue: 0,\n validate: x => x === 1 || x === 2\n });\n this.lineThroughPeriod = (0, _utils.getStringOption)(attributes.lineThroughPeriod, [\"all\", \"word\"]);\n this.overline = (0, _utils.getInteger)({\n data: attributes.overline,\n defaultValue: 0,\n validate: x => x === 1 || x === 2\n });\n this.overlinePeriod = (0, _utils.getStringOption)(attributes.overlinePeriod, [\"all\", \"word\"]);\n this.posture = (0, _utils.getStringOption)(attributes.posture, [\"normal\", \"italic\"]);\n this.size = (0, _utils.getMeasurement)(attributes.size, \"10pt\");\n this.typeface = attributes.typeface || \"Courier\";\n this.underline = (0, _utils.getInteger)({\n data: attributes.underline,\n defaultValue: 0,\n validate: x => x === 1 || x === 2\n });\n this.underlinePeriod = (0, _utils.getStringOption)(attributes.underlinePeriod, [\"all\", \"word\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.weight = (0, _utils.getStringOption)(attributes.weight, [\"normal\", \"bold\"]);\n this.extras = null;\n this.fill = null;\n }\n [_symbol_utils.$clean](builder) {\n super[_symbol_utils.$clean](builder);\n this[_symbol_utils.$globalData].usedTypefaces.add(this.typeface);\n }\n [_symbol_utils.$toStyle]() {\n const style = (0, _html_utils.toStyle)(this, \"fill\");\n const color = style.color;\n if (color) {\n if (color === \"#000000\") {\n delete style.color;\n } else if (!color.startsWith(\"#\")) {\n style.background = color;\n style.backgroundClip = \"text\";\n style.color = \"transparent\";\n }\n }\n if (this.baselineShift) {\n style.verticalAlign = (0, _html_utils.measureToString)(this.baselineShift);\n }\n style.fontKerning = this.kerningMode === \"none\" ? \"none\" : \"normal\";\n style.letterSpacing = (0, _html_utils.measureToString)(this.letterSpacing);\n if (this.lineThrough !== 0) {\n style.textDecoration = \"line-through\";\n if (this.lineThrough === 2) {\n style.textDecorationStyle = \"double\";\n }\n }\n if (this.overline !== 0) {\n style.textDecoration = \"overline\";\n if (this.overline === 2) {\n style.textDecorationStyle = \"double\";\n }\n }\n style.fontStyle = this.posture;\n style.fontSize = (0, _html_utils.measureToString)(0.99 * this.size);\n (0, _html_utils.setFontFamily)(this, this, this[_symbol_utils.$globalData].fontFinder, style);\n if (this.underline !== 0) {\n style.textDecoration = \"underline\";\n if (this.underline === 2) {\n style.textDecorationStyle = \"double\";\n }\n }\n style.fontWeight = this.weight;\n return style;\n }\n}\nclass Format extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"format\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.picture = null;\n }\n}\nclass Handler extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"handler\");\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Hyphenation extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"hyphenation\");\n this.excludeAllCaps = (0, _utils.getInteger)({\n data: attributes.excludeAllCaps,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.excludeInitialCap = (0, _utils.getInteger)({\n data: attributes.excludeInitialCap,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.hyphenate = (0, _utils.getInteger)({\n data: attributes.hyphenate,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.id = attributes.id || \"\";\n this.pushCharacterCount = (0, _utils.getInteger)({\n data: attributes.pushCharacterCount,\n defaultValue: 3,\n validate: x => x >= 0\n });\n this.remainCharacterCount = (0, _utils.getInteger)({\n data: attributes.remainCharacterCount,\n defaultValue: 3,\n validate: x => x >= 0\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.wordCharacterCount = (0, _utils.getInteger)({\n data: attributes.wordCharacterCount,\n defaultValue: 7,\n validate: x => x >= 0\n });\n }\n}\nclass Image extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"image\");\n this.aspect = (0, _utils.getStringOption)(attributes.aspect, [\"fit\", \"actual\", \"height\", \"none\", \"width\"]);\n this.contentType = attributes.contentType || \"\";\n this.href = attributes.href || \"\";\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.transferEncoding = (0, _utils.getStringOption)(attributes.transferEncoding, [\"base64\", \"none\", \"package\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$toHTML]() {\n if (this.contentType && !MIMES.has(this.contentType.toLowerCase())) {\n return _utils.HTMLResult.EMPTY;\n }\n let buffer = this[_symbol_utils.$globalData].images && this[_symbol_utils.$globalData].images.get(this.href);\n if (!buffer && (this.href || !this[_symbol_utils.$content])) {\n return _utils.HTMLResult.EMPTY;\n }\n if (!buffer && this.transferEncoding === \"base64\") {\n buffer = (0, _util.stringToBytes)(atob(this[_symbol_utils.$content]));\n }\n if (!buffer) {\n return _utils.HTMLResult.EMPTY;\n }\n if (!this.contentType) {\n for (const [header, type] of IMAGES_HEADERS) {\n if (buffer.length > header.length && header.every((x, i) => x === buffer[i])) {\n this.contentType = type;\n break;\n }\n }\n if (!this.contentType) {\n return _utils.HTMLResult.EMPTY;\n }\n }\n const blob = new Blob([buffer], {\n type: this.contentType\n });\n let style;\n switch (this.aspect) {\n case \"fit\":\n case \"actual\":\n break;\n case \"height\":\n style = {\n height: \"100%\",\n objectFit: \"fill\"\n };\n break;\n case \"none\":\n style = {\n width: \"100%\",\n height: \"100%\",\n objectFit: \"fill\"\n };\n break;\n case \"width\":\n style = {\n width: \"100%\",\n objectFit: \"fill\"\n };\n break;\n }\n const parent = this[_symbol_utils.$getParent]();\n return _utils.HTMLResult.success({\n name: \"img\",\n attributes: {\n class: [\"xfaImage\"],\n style,\n src: URL.createObjectURL(blob),\n alt: parent ? ariaLabel(parent[_symbol_utils.$getParent]()) : null\n }\n });\n }\n}\nclass ImageEdit extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"imageEdit\", true);\n this.data = (0, _utils.getStringOption)(attributes.data, [\"link\", \"embed\"]);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.border = null;\n this.extras = null;\n this.margin = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n if (this.data === \"embed\") {\n return _utils.HTMLResult.success({\n name: \"div\",\n children: [],\n attributes: {}\n });\n }\n return _utils.HTMLResult.EMPTY;\n }\n}\nclass Integer extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"integer\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$finalize]() {\n const number = parseInt(this[_symbol_utils.$content].trim(), 10);\n this[_symbol_utils.$content] = isNaN(number) ? null : number;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n return valueToHtml(this[_symbol_utils.$content] !== null ? this[_symbol_utils.$content].toString() : \"\");\n }\n}\nclass Issuers extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"issuers\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.certificate = new _xfa_object.XFAObjectArray();\n }\n}\nclass Items extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"items\", true);\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.ref = attributes.ref || \"\";\n this.save = (0, _utils.getInteger)({\n data: attributes.save,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.boolean = new _xfa_object.XFAObjectArray();\n this.date = new _xfa_object.XFAObjectArray();\n this.dateTime = new _xfa_object.XFAObjectArray();\n this.decimal = new _xfa_object.XFAObjectArray();\n this.exData = new _xfa_object.XFAObjectArray();\n this.float = new _xfa_object.XFAObjectArray();\n this.image = new _xfa_object.XFAObjectArray();\n this.integer = new _xfa_object.XFAObjectArray();\n this.text = new _xfa_object.XFAObjectArray();\n this.time = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$toHTML]() {\n const output = [];\n for (const child of this[_symbol_utils.$getChildren]()) {\n output.push(child[_symbol_utils.$text]());\n }\n return _utils.HTMLResult.success(output);\n }\n}\nexports.Items = Items;\nclass Keep extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"keep\", true);\n this.id = attributes.id || \"\";\n const options = [\"none\", \"contentArea\", \"pageArea\"];\n this.intact = (0, _utils.getStringOption)(attributes.intact, options);\n this.next = (0, _utils.getStringOption)(attributes.next, options);\n this.previous = (0, _utils.getStringOption)(attributes.previous, options);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n }\n}\nclass KeyUsage extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"keyUsage\");\n const options = [\"\", \"yes\", \"no\"];\n this.crlSign = (0, _utils.getStringOption)(attributes.crlSign, options);\n this.dataEncipherment = (0, _utils.getStringOption)(attributes.dataEncipherment, options);\n this.decipherOnly = (0, _utils.getStringOption)(attributes.decipherOnly, options);\n this.digitalSignature = (0, _utils.getStringOption)(attributes.digitalSignature, options);\n this.encipherOnly = (0, _utils.getStringOption)(attributes.encipherOnly, options);\n this.id = attributes.id || \"\";\n this.keyAgreement = (0, _utils.getStringOption)(attributes.keyAgreement, options);\n this.keyCertSign = (0, _utils.getStringOption)(attributes.keyCertSign, options);\n this.keyEncipherment = (0, _utils.getStringOption)(attributes.keyEncipherment, options);\n this.nonRepudiation = (0, _utils.getStringOption)(attributes.nonRepudiation, options);\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Line extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"line\", true);\n this.hand = (0, _utils.getStringOption)(attributes.hand, [\"even\", \"left\", \"right\"]);\n this.id = attributes.id || \"\";\n this.slope = (0, _utils.getStringOption)(attributes.slope, [\"\\\\\", \"/\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.edge = null;\n }\n [_symbol_utils.$toHTML]() {\n const parent = this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]();\n const edge = this.edge || new Edge({});\n const edgeStyle = edge[_symbol_utils.$toStyle]();\n const style = Object.create(null);\n const thickness = edge.presence === \"visible\" ? edge.thickness : 0;\n style.strokeWidth = (0, _html_utils.measureToString)(thickness);\n style.stroke = edgeStyle.color;\n let x1, y1, x2, y2;\n let width = \"100%\";\n let height = \"100%\";\n if (parent.w <= thickness) {\n [x1, y1, x2, y2] = [\"50%\", 0, \"50%\", \"100%\"];\n width = style.strokeWidth;\n } else if (parent.h <= thickness) {\n [x1, y1, x2, y2] = [0, \"50%\", \"100%\", \"50%\"];\n height = style.strokeWidth;\n } else if (this.slope === \"\\\\\") {\n [x1, y1, x2, y2] = [0, 0, \"100%\", \"100%\"];\n } else {\n [x1, y1, x2, y2] = [0, \"100%\", \"100%\", 0];\n }\n const line = {\n name: \"line\",\n attributes: {\n xmlns: SVG_NS,\n x1,\n y1,\n x2,\n y2,\n style\n }\n };\n const svg = {\n name: \"svg\",\n children: [line],\n attributes: {\n xmlns: SVG_NS,\n width,\n height,\n style: {\n overflow: \"visible\"\n }\n }\n };\n if (hasMargin(parent)) {\n return _utils.HTMLResult.success({\n name: \"div\",\n attributes: {\n style: {\n display: \"inline\",\n width: \"100%\",\n height: \"100%\"\n }\n },\n children: [svg]\n });\n }\n svg.attributes.style.position = \"absolute\";\n return _utils.HTMLResult.success(svg);\n }\n}\nclass Linear extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"linear\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"toRight\", \"toBottom\", \"toLeft\", \"toTop\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.color = null;\n this.extras = null;\n }\n [_symbol_utils.$toStyle](startColor) {\n startColor = startColor ? startColor[_symbol_utils.$toStyle]() : \"#FFFFFF\";\n const transf = this.type.replace(/([RBLT])/, \" $1\").toLowerCase();\n const endColor = this.color ? this.color[_symbol_utils.$toStyle]() : \"#000000\";\n return `linear-gradient(${transf}, ${startColor}, ${endColor})`;\n }\n}\nclass LockDocument extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"lockDocument\");\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = (0, _utils.getStringOption)(this[_symbol_utils.$content], [\"auto\", \"0\", \"1\"]);\n }\n}\nclass Manifest extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"manifest\", true);\n this.action = (0, _utils.getStringOption)(attributes.action, [\"include\", \"all\", \"exclude\"]);\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.ref = new _xfa_object.XFAObjectArray();\n }\n}\nclass Margin extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"margin\", true);\n this.bottomInset = (0, _utils.getMeasurement)(attributes.bottomInset, \"0\");\n this.id = attributes.id || \"\";\n this.leftInset = (0, _utils.getMeasurement)(attributes.leftInset, \"0\");\n this.rightInset = (0, _utils.getMeasurement)(attributes.rightInset, \"0\");\n this.topInset = (0, _utils.getMeasurement)(attributes.topInset, \"0\");\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n }\n [_symbol_utils.$toStyle]() {\n return {\n margin: (0, _html_utils.measureToString)(this.topInset) + \" \" + (0, _html_utils.measureToString)(this.rightInset) + \" \" + (0, _html_utils.measureToString)(this.bottomInset) + \" \" + (0, _html_utils.measureToString)(this.leftInset)\n };\n }\n}\nclass Mdp extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"mdp\");\n this.id = attributes.id || \"\";\n this.permissions = (0, _utils.getInteger)({\n data: attributes.permissions,\n defaultValue: 2,\n validate: x => x === 1 || x === 3\n });\n this.signatureType = (0, _utils.getStringOption)(attributes.signatureType, [\"filler\", \"author\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Medium extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"medium\");\n this.id = attributes.id || \"\";\n this.imagingBBox = (0, _utils.getBBox)(attributes.imagingBBox);\n this.long = (0, _utils.getMeasurement)(attributes.long);\n this.orientation = (0, _utils.getStringOption)(attributes.orientation, [\"portrait\", \"landscape\"]);\n this.short = (0, _utils.getMeasurement)(attributes.short);\n this.stock = attributes.stock || \"\";\n this.trayIn = (0, _utils.getStringOption)(attributes.trayIn, [\"auto\", \"delegate\", \"pageFront\"]);\n this.trayOut = (0, _utils.getStringOption)(attributes.trayOut, [\"auto\", \"delegate\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Message extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"message\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.text = new _xfa_object.XFAObjectArray();\n }\n}\nclass NumericEdit extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"numericEdit\", true);\n this.hScrollPolicy = (0, _utils.getStringOption)(attributes.hScrollPolicy, [\"auto\", \"off\", \"on\"]);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.border = null;\n this.comb = null;\n this.extras = null;\n this.margin = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const style = (0, _html_utils.toStyle)(this, \"border\", \"font\", \"margin\");\n const field = this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]();\n const html = {\n name: \"input\",\n attributes: {\n type: \"text\",\n fieldId: field[_symbol_utils.$uid],\n dataId: field[_symbol_utils.$data]?.[_symbol_utils.$uid] || field[_symbol_utils.$uid],\n class: [\"xfaTextfield\"],\n style,\n \"aria-label\": ariaLabel(field),\n \"aria-required\": false\n }\n };\n if (isRequired(field)) {\n html.attributes[\"aria-required\"] = true;\n html.attributes.required = true;\n }\n return _utils.HTMLResult.success({\n name: \"label\",\n attributes: {\n class: [\"xfaLabel\"]\n },\n children: [html]\n });\n }\n}\nclass Occur extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"occur\", true);\n this.id = attributes.id || \"\";\n this.initial = attributes.initial !== \"\" ? (0, _utils.getInteger)({\n data: attributes.initial,\n defaultValue: \"\",\n validate: x => true\n }) : \"\";\n this.max = attributes.max !== \"\" ? (0, _utils.getInteger)({\n data: attributes.max,\n defaultValue: 1,\n validate: x => true\n }) : \"\";\n this.min = attributes.min !== \"\" ? (0, _utils.getInteger)({\n data: attributes.min,\n defaultValue: 1,\n validate: x => true\n }) : \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n }\n [_symbol_utils.$clean]() {\n const parent = this[_symbol_utils.$getParent]();\n const originalMin = this.min;\n if (this.min === \"\") {\n this.min = parent instanceof PageArea || parent instanceof PageSet ? 0 : 1;\n }\n if (this.max === \"\") {\n if (originalMin === \"\") {\n this.max = parent instanceof PageArea || parent instanceof PageSet ? -1 : 1;\n } else {\n this.max = this.min;\n }\n }\n if (this.max !== -1 && this.max < this.min) {\n this.max = this.min;\n }\n if (this.initial === \"\") {\n this.initial = parent instanceof Template ? 1 : this.min;\n }\n }\n}\nclass Oid extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"oid\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Oids extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"oids\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.oid = new _xfa_object.XFAObjectArray();\n }\n}\nclass Overflow extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"overflow\");\n this.id = attributes.id || \"\";\n this.leader = attributes.leader || \"\";\n this.target = attributes.target || \"\";\n this.trailer = attributes.trailer || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$getExtra]() {\n if (!this[_symbol_utils.$extra]) {\n const parent = this[_symbol_utils.$getParent]();\n const root = this[_symbol_utils.$getTemplateRoot]();\n const target = root[_symbol_utils.$searchNode](this.target, parent);\n const leader = root[_symbol_utils.$searchNode](this.leader, parent);\n const trailer = root[_symbol_utils.$searchNode](this.trailer, parent);\n this[_symbol_utils.$extra] = {\n target: target?.[0] || null,\n leader: leader?.[0] || null,\n trailer: trailer?.[0] || null,\n addLeader: false,\n addTrailer: false\n };\n }\n return this[_symbol_utils.$extra];\n }\n}\nclass PageArea extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"pageArea\", true);\n this.blankOrNotBlank = (0, _utils.getStringOption)(attributes.blankOrNotBlank, [\"any\", \"blank\", \"notBlank\"]);\n this.id = attributes.id || \"\";\n this.initialNumber = (0, _utils.getInteger)({\n data: attributes.initialNumber,\n defaultValue: 1,\n validate: x => true\n });\n this.name = attributes.name || \"\";\n this.numbered = (0, _utils.getInteger)({\n data: attributes.numbered,\n defaultValue: 1,\n validate: x => true\n });\n this.oddOrEven = (0, _utils.getStringOption)(attributes.oddOrEven, [\"any\", \"even\", \"odd\"]);\n this.pagePosition = (0, _utils.getStringOption)(attributes.pagePosition, [\"any\", \"first\", \"last\", \"only\", \"rest\"]);\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.desc = null;\n this.extras = null;\n this.medium = null;\n this.occur = null;\n this.area = new _xfa_object.XFAObjectArray();\n this.contentArea = new _xfa_object.XFAObjectArray();\n this.draw = new _xfa_object.XFAObjectArray();\n this.exclGroup = new _xfa_object.XFAObjectArray();\n this.field = new _xfa_object.XFAObjectArray();\n this.subform = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$isUsable]() {\n if (!this[_symbol_utils.$extra]) {\n this[_symbol_utils.$extra] = {\n numberOfUse: 0\n };\n return true;\n }\n return !this.occur || this.occur.max === -1 || this[_symbol_utils.$extra].numberOfUse < this.occur.max;\n }\n [_symbol_utils.$cleanPage]() {\n delete this[_symbol_utils.$extra];\n }\n [_symbol_utils.$getNextPage]() {\n if (!this[_symbol_utils.$extra]) {\n this[_symbol_utils.$extra] = {\n numberOfUse: 0\n };\n }\n const parent = this[_symbol_utils.$getParent]();\n if (parent.relation === \"orderedOccurrence\") {\n if (this[_symbol_utils.$isUsable]()) {\n this[_symbol_utils.$extra].numberOfUse += 1;\n return this;\n }\n }\n return parent[_symbol_utils.$getNextPage]();\n }\n [_symbol_utils.$getAvailableSpace]() {\n return this[_symbol_utils.$extra].space || {\n width: 0,\n height: 0\n };\n }\n [_symbol_utils.$toHTML]() {\n if (!this[_symbol_utils.$extra]) {\n this[_symbol_utils.$extra] = {\n numberOfUse: 1\n };\n }\n const children = [];\n this[_symbol_utils.$extra].children = children;\n const style = Object.create(null);\n if (this.medium && this.medium.short && this.medium.long) {\n style.width = (0, _html_utils.measureToString)(this.medium.short);\n style.height = (0, _html_utils.measureToString)(this.medium.long);\n this[_symbol_utils.$extra].space = {\n width: this.medium.short,\n height: this.medium.long\n };\n if (this.medium.orientation === \"landscape\") {\n const x = style.width;\n style.width = style.height;\n style.height = x;\n this[_symbol_utils.$extra].space = {\n width: this.medium.long,\n height: this.medium.short\n };\n }\n } else {\n (0, _util.warn)(\"XFA - No medium specified in pageArea: please file a bug.\");\n }\n this[_symbol_utils.$childrenToHTML]({\n filter: new Set([\"area\", \"draw\", \"field\", \"subform\"]),\n include: true\n });\n this[_symbol_utils.$childrenToHTML]({\n filter: new Set([\"contentArea\"]),\n include: true\n });\n return _utils.HTMLResult.success({\n name: \"div\",\n children,\n attributes: {\n class: [\"xfaPage\"],\n id: this[_symbol_utils.$uid],\n style,\n xfaName: this.name\n }\n });\n }\n}\nclass PageSet extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"pageSet\", true);\n this.duplexImposition = (0, _utils.getStringOption)(attributes.duplexImposition, [\"longEdge\", \"shortEdge\"]);\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.relation = (0, _utils.getStringOption)(attributes.relation, [\"orderedOccurrence\", \"duplexPaginated\", \"simplexPaginated\"]);\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.occur = null;\n this.pageArea = new _xfa_object.XFAObjectArray();\n this.pageSet = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$cleanPage]() {\n for (const page of this.pageArea.children) {\n page[_symbol_utils.$cleanPage]();\n }\n for (const page of this.pageSet.children) {\n page[_symbol_utils.$cleanPage]();\n }\n }\n [_symbol_utils.$isUsable]() {\n return !this.occur || this.occur.max === -1 || this[_symbol_utils.$extra].numberOfUse < this.occur.max;\n }\n [_symbol_utils.$getNextPage]() {\n if (!this[_symbol_utils.$extra]) {\n this[_symbol_utils.$extra] = {\n numberOfUse: 1,\n pageIndex: -1,\n pageSetIndex: -1\n };\n }\n if (this.relation === \"orderedOccurrence\") {\n if (this[_symbol_utils.$extra].pageIndex + 1 < this.pageArea.children.length) {\n this[_symbol_utils.$extra].pageIndex += 1;\n const pageArea = this.pageArea.children[this[_symbol_utils.$extra].pageIndex];\n return pageArea[_symbol_utils.$getNextPage]();\n }\n if (this[_symbol_utils.$extra].pageSetIndex + 1 < this.pageSet.children.length) {\n this[_symbol_utils.$extra].pageSetIndex += 1;\n return this.pageSet.children[this[_symbol_utils.$extra].pageSetIndex][_symbol_utils.$getNextPage]();\n }\n if (this[_symbol_utils.$isUsable]()) {\n this[_symbol_utils.$extra].numberOfUse += 1;\n this[_symbol_utils.$extra].pageIndex = -1;\n this[_symbol_utils.$extra].pageSetIndex = -1;\n return this[_symbol_utils.$getNextPage]();\n }\n const parent = this[_symbol_utils.$getParent]();\n if (parent instanceof PageSet) {\n return parent[_symbol_utils.$getNextPage]();\n }\n this[_symbol_utils.$cleanPage]();\n return this[_symbol_utils.$getNextPage]();\n }\n const pageNumber = this[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].pageNumber;\n const parity = pageNumber % 2 === 0 ? \"even\" : \"odd\";\n const position = pageNumber === 0 ? \"first\" : \"rest\";\n let page = this.pageArea.children.find(p => p.oddOrEven === parity && p.pagePosition === position);\n if (page) {\n return page;\n }\n page = this.pageArea.children.find(p => p.oddOrEven === \"any\" && p.pagePosition === position);\n if (page) {\n return page;\n }\n page = this.pageArea.children.find(p => p.oddOrEven === \"any\" && p.pagePosition === \"any\");\n if (page) {\n return page;\n }\n return this.pageArea.children[0];\n }\n}\nclass Para extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"para\", true);\n this.hAlign = (0, _utils.getStringOption)(attributes.hAlign, [\"left\", \"center\", \"justify\", \"justifyAll\", \"radix\", \"right\"]);\n this.id = attributes.id || \"\";\n this.lineHeight = attributes.lineHeight ? (0, _utils.getMeasurement)(attributes.lineHeight, \"0pt\") : \"\";\n this.marginLeft = attributes.marginLeft ? (0, _utils.getMeasurement)(attributes.marginLeft, \"0pt\") : \"\";\n this.marginRight = attributes.marginRight ? (0, _utils.getMeasurement)(attributes.marginRight, \"0pt\") : \"\";\n this.orphans = (0, _utils.getInteger)({\n data: attributes.orphans,\n defaultValue: 0,\n validate: x => x >= 0\n });\n this.preserve = attributes.preserve || \"\";\n this.radixOffset = attributes.radixOffset ? (0, _utils.getMeasurement)(attributes.radixOffset, \"0pt\") : \"\";\n this.spaceAbove = attributes.spaceAbove ? (0, _utils.getMeasurement)(attributes.spaceAbove, \"0pt\") : \"\";\n this.spaceBelow = attributes.spaceBelow ? (0, _utils.getMeasurement)(attributes.spaceBelow, \"0pt\") : \"\";\n this.tabDefault = attributes.tabDefault ? (0, _utils.getMeasurement)(this.tabDefault) : \"\";\n this.tabStops = (attributes.tabStops || \"\").trim().split(/\\s+/).map((x, i) => i % 2 === 1 ? (0, _utils.getMeasurement)(x) : x);\n this.textIndent = attributes.textIndent ? (0, _utils.getMeasurement)(attributes.textIndent, \"0pt\") : \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.vAlign = (0, _utils.getStringOption)(attributes.vAlign, [\"top\", \"bottom\", \"middle\"]);\n this.widows = (0, _utils.getInteger)({\n data: attributes.widows,\n defaultValue: 0,\n validate: x => x >= 0\n });\n this.hyphenation = null;\n }\n [_symbol_utils.$toStyle]() {\n const style = (0, _html_utils.toStyle)(this, \"hAlign\");\n if (this.marginLeft !== \"\") {\n style.paddingLeft = (0, _html_utils.measureToString)(this.marginLeft);\n }\n if (this.marginRight !== \"\") {\n style.paddingight = (0, _html_utils.measureToString)(this.marginRight);\n }\n if (this.spaceAbove !== \"\") {\n style.paddingTop = (0, _html_utils.measureToString)(this.spaceAbove);\n }\n if (this.spaceBelow !== \"\") {\n style.paddingBottom = (0, _html_utils.measureToString)(this.spaceBelow);\n }\n if (this.textIndent !== \"\") {\n style.textIndent = (0, _html_utils.measureToString)(this.textIndent);\n (0, _html_utils.fixTextIndent)(style);\n }\n if (this.lineHeight > 0) {\n style.lineHeight = (0, _html_utils.measureToString)(this.lineHeight);\n }\n if (this.tabDefault !== \"\") {\n style.tabSize = (0, _html_utils.measureToString)(this.tabDefault);\n }\n if (this.tabStops.length > 0) {}\n if (this.hyphenatation) {\n Object.assign(style, this.hyphenatation[_symbol_utils.$toStyle]());\n }\n return style;\n }\n}\nclass PasswordEdit extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"passwordEdit\", true);\n this.hScrollPolicy = (0, _utils.getStringOption)(attributes.hScrollPolicy, [\"auto\", \"off\", \"on\"]);\n this.id = attributes.id || \"\";\n this.passwordChar = attributes.passwordChar || \"*\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.border = null;\n this.extras = null;\n this.margin = null;\n }\n}\nclass Pattern extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"pattern\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"crossHatch\", \"crossDiagonal\", \"diagonalLeft\", \"diagonalRight\", \"horizontal\", \"vertical\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.color = null;\n this.extras = null;\n }\n [_symbol_utils.$toStyle](startColor) {\n startColor = startColor ? startColor[_symbol_utils.$toStyle]() : \"#FFFFFF\";\n const endColor = this.color ? this.color[_symbol_utils.$toStyle]() : \"#000000\";\n const width = 5;\n const cmd = \"repeating-linear-gradient\";\n const colors = `${startColor},${startColor} ${width}px,${endColor} ${width}px,${endColor} ${2 * width}px`;\n switch (this.type) {\n case \"crossHatch\":\n return `${cmd}(to top,${colors}) ${cmd}(to right,${colors})`;\n case \"crossDiagonal\":\n return `${cmd}(45deg,${colors}) ${cmd}(-45deg,${colors})`;\n case \"diagonalLeft\":\n return `${cmd}(45deg,${colors})`;\n case \"diagonalRight\":\n return `${cmd}(-45deg,${colors})`;\n case \"horizontal\":\n return `${cmd}(to top,${colors})`;\n case \"vertical\":\n return `${cmd}(to right,${colors})`;\n }\n return \"\";\n }\n}\nclass Picture extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"picture\");\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Proto extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"proto\", true);\n this.appearanceFilter = new _xfa_object.XFAObjectArray();\n this.arc = new _xfa_object.XFAObjectArray();\n this.area = new _xfa_object.XFAObjectArray();\n this.assist = new _xfa_object.XFAObjectArray();\n this.barcode = new _xfa_object.XFAObjectArray();\n this.bindItems = new _xfa_object.XFAObjectArray();\n this.bookend = new _xfa_object.XFAObjectArray();\n this.boolean = new _xfa_object.XFAObjectArray();\n this.border = new _xfa_object.XFAObjectArray();\n this.break = new _xfa_object.XFAObjectArray();\n this.breakAfter = new _xfa_object.XFAObjectArray();\n this.breakBefore = new _xfa_object.XFAObjectArray();\n this.button = new _xfa_object.XFAObjectArray();\n this.calculate = new _xfa_object.XFAObjectArray();\n this.caption = new _xfa_object.XFAObjectArray();\n this.certificate = new _xfa_object.XFAObjectArray();\n this.certificates = new _xfa_object.XFAObjectArray();\n this.checkButton = new _xfa_object.XFAObjectArray();\n this.choiceList = new _xfa_object.XFAObjectArray();\n this.color = new _xfa_object.XFAObjectArray();\n this.comb = new _xfa_object.XFAObjectArray();\n this.connect = new _xfa_object.XFAObjectArray();\n this.contentArea = new _xfa_object.XFAObjectArray();\n this.corner = new _xfa_object.XFAObjectArray();\n this.date = new _xfa_object.XFAObjectArray();\n this.dateTime = new _xfa_object.XFAObjectArray();\n this.dateTimeEdit = new _xfa_object.XFAObjectArray();\n this.decimal = new _xfa_object.XFAObjectArray();\n this.defaultUi = new _xfa_object.XFAObjectArray();\n this.desc = new _xfa_object.XFAObjectArray();\n this.digestMethod = new _xfa_object.XFAObjectArray();\n this.digestMethods = new _xfa_object.XFAObjectArray();\n this.draw = new _xfa_object.XFAObjectArray();\n this.edge = new _xfa_object.XFAObjectArray();\n this.encoding = new _xfa_object.XFAObjectArray();\n this.encodings = new _xfa_object.XFAObjectArray();\n this.encrypt = new _xfa_object.XFAObjectArray();\n this.encryptData = new _xfa_object.XFAObjectArray();\n this.encryption = new _xfa_object.XFAObjectArray();\n this.encryptionMethod = new _xfa_object.XFAObjectArray();\n this.encryptionMethods = new _xfa_object.XFAObjectArray();\n this.event = new _xfa_object.XFAObjectArray();\n this.exData = new _xfa_object.XFAObjectArray();\n this.exObject = new _xfa_object.XFAObjectArray();\n this.exclGroup = new _xfa_object.XFAObjectArray();\n this.execute = new _xfa_object.XFAObjectArray();\n this.extras = new _xfa_object.XFAObjectArray();\n this.field = new _xfa_object.XFAObjectArray();\n this.fill = new _xfa_object.XFAObjectArray();\n this.filter = new _xfa_object.XFAObjectArray();\n this.float = new _xfa_object.XFAObjectArray();\n this.font = new _xfa_object.XFAObjectArray();\n this.format = new _xfa_object.XFAObjectArray();\n this.handler = new _xfa_object.XFAObjectArray();\n this.hyphenation = new _xfa_object.XFAObjectArray();\n this.image = new _xfa_object.XFAObjectArray();\n this.imageEdit = new _xfa_object.XFAObjectArray();\n this.integer = new _xfa_object.XFAObjectArray();\n this.issuers = new _xfa_object.XFAObjectArray();\n this.items = new _xfa_object.XFAObjectArray();\n this.keep = new _xfa_object.XFAObjectArray();\n this.keyUsage = new _xfa_object.XFAObjectArray();\n this.line = new _xfa_object.XFAObjectArray();\n this.linear = new _xfa_object.XFAObjectArray();\n this.lockDocument = new _xfa_object.XFAObjectArray();\n this.manifest = new _xfa_object.XFAObjectArray();\n this.margin = new _xfa_object.XFAObjectArray();\n this.mdp = new _xfa_object.XFAObjectArray();\n this.medium = new _xfa_object.XFAObjectArray();\n this.message = new _xfa_object.XFAObjectArray();\n this.numericEdit = new _xfa_object.XFAObjectArray();\n this.occur = new _xfa_object.XFAObjectArray();\n this.oid = new _xfa_object.XFAObjectArray();\n this.oids = new _xfa_object.XFAObjectArray();\n this.overflow = new _xfa_object.XFAObjectArray();\n this.pageArea = new _xfa_object.XFAObjectArray();\n this.pageSet = new _xfa_object.XFAObjectArray();\n this.para = new _xfa_object.XFAObjectArray();\n this.passwordEdit = new _xfa_object.XFAObjectArray();\n this.pattern = new _xfa_object.XFAObjectArray();\n this.picture = new _xfa_object.XFAObjectArray();\n this.radial = new _xfa_object.XFAObjectArray();\n this.reason = new _xfa_object.XFAObjectArray();\n this.reasons = new _xfa_object.XFAObjectArray();\n this.rectangle = new _xfa_object.XFAObjectArray();\n this.ref = new _xfa_object.XFAObjectArray();\n this.script = new _xfa_object.XFAObjectArray();\n this.setProperty = new _xfa_object.XFAObjectArray();\n this.signData = new _xfa_object.XFAObjectArray();\n this.signature = new _xfa_object.XFAObjectArray();\n this.signing = new _xfa_object.XFAObjectArray();\n this.solid = new _xfa_object.XFAObjectArray();\n this.speak = new _xfa_object.XFAObjectArray();\n this.stipple = new _xfa_object.XFAObjectArray();\n this.subform = new _xfa_object.XFAObjectArray();\n this.subformSet = new _xfa_object.XFAObjectArray();\n this.subjectDN = new _xfa_object.XFAObjectArray();\n this.subjectDNs = new _xfa_object.XFAObjectArray();\n this.submit = new _xfa_object.XFAObjectArray();\n this.text = new _xfa_object.XFAObjectArray();\n this.textEdit = new _xfa_object.XFAObjectArray();\n this.time = new _xfa_object.XFAObjectArray();\n this.timeStamp = new _xfa_object.XFAObjectArray();\n this.toolTip = new _xfa_object.XFAObjectArray();\n this.traversal = new _xfa_object.XFAObjectArray();\n this.traverse = new _xfa_object.XFAObjectArray();\n this.ui = new _xfa_object.XFAObjectArray();\n this.validate = new _xfa_object.XFAObjectArray();\n this.value = new _xfa_object.XFAObjectArray();\n this.variables = new _xfa_object.XFAObjectArray();\n }\n}\nclass Radial extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"radial\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"toEdge\", \"toCenter\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.color = null;\n this.extras = null;\n }\n [_symbol_utils.$toStyle](startColor) {\n startColor = startColor ? startColor[_symbol_utils.$toStyle]() : \"#FFFFFF\";\n const endColor = this.color ? this.color[_symbol_utils.$toStyle]() : \"#000000\";\n const colors = this.type === \"toEdge\" ? `${startColor},${endColor}` : `${endColor},${startColor}`;\n return `radial-gradient(circle at center, ${colors})`;\n }\n}\nclass Reason extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"reason\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Reasons extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"reasons\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.reason = new _xfa_object.XFAObjectArray();\n }\n}\nclass Rectangle extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"rectangle\", true);\n this.hand = (0, _utils.getStringOption)(attributes.hand, [\"even\", \"left\", \"right\"]);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.corner = new _xfa_object.XFAObjectArray(4);\n this.edge = new _xfa_object.XFAObjectArray(4);\n this.fill = null;\n }\n [_symbol_utils.$toHTML]() {\n const edge = this.edge.children.length ? this.edge.children[0] : new Edge({});\n const edgeStyle = edge[_symbol_utils.$toStyle]();\n const style = Object.create(null);\n if (this.fill?.presence === \"visible\") {\n Object.assign(style, this.fill[_symbol_utils.$toStyle]());\n } else {\n style.fill = \"transparent\";\n }\n style.strokeWidth = (0, _html_utils.measureToString)(edge.presence === \"visible\" ? edge.thickness : 0);\n style.stroke = edgeStyle.color;\n const corner = this.corner.children.length ? this.corner.children[0] : new Corner({});\n const cornerStyle = corner[_symbol_utils.$toStyle]();\n const rect = {\n name: \"rect\",\n attributes: {\n xmlns: SVG_NS,\n width: \"100%\",\n height: \"100%\",\n x: 0,\n y: 0,\n rx: cornerStyle.radius,\n ry: cornerStyle.radius,\n style\n }\n };\n const svg = {\n name: \"svg\",\n children: [rect],\n attributes: {\n xmlns: SVG_NS,\n style: {\n overflow: \"visible\"\n },\n width: \"100%\",\n height: \"100%\"\n }\n };\n const parent = this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]();\n if (hasMargin(parent)) {\n return _utils.HTMLResult.success({\n name: \"div\",\n attributes: {\n style: {\n display: \"inline\",\n width: \"100%\",\n height: \"100%\"\n }\n },\n children: [svg]\n });\n }\n svg.attributes.style.position = \"absolute\";\n return _utils.HTMLResult.success(svg);\n }\n}\nclass RefElement extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"ref\");\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Script extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"script\");\n this.binding = attributes.binding || \"\";\n this.contentType = attributes.contentType || \"\";\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.runAt = (0, _utils.getStringOption)(attributes.runAt, [\"client\", \"both\", \"server\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass SetProperty extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"setProperty\");\n this.connection = attributes.connection || \"\";\n this.ref = attributes.ref || \"\";\n this.target = attributes.target || \"\";\n }\n}\nexports.SetProperty = SetProperty;\nclass SignData extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"signData\", true);\n this.id = attributes.id || \"\";\n this.operation = (0, _utils.getStringOption)(attributes.operation, [\"sign\", \"clear\", \"verify\"]);\n this.ref = attributes.ref || \"\";\n this.target = attributes.target || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.filter = null;\n this.manifest = null;\n }\n}\nclass Signature extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"signature\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"PDF1.3\", \"PDF1.6\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.border = null;\n this.extras = null;\n this.filter = null;\n this.manifest = null;\n this.margin = null;\n }\n}\nclass Signing extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"signing\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.certificate = new _xfa_object.XFAObjectArray();\n }\n}\nclass Solid extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"solid\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n }\n [_symbol_utils.$toStyle](startColor) {\n return startColor ? startColor[_symbol_utils.$toStyle]() : \"#FFFFFF\";\n }\n}\nclass Speak extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"speak\");\n this.disable = (0, _utils.getInteger)({\n data: attributes.disable,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.id = attributes.id || \"\";\n this.priority = (0, _utils.getStringOption)(attributes.priority, [\"custom\", \"caption\", \"name\", \"toolTip\"]);\n this.rid = attributes.rid || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Stipple extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"stipple\", true);\n this.id = attributes.id || \"\";\n this.rate = (0, _utils.getInteger)({\n data: attributes.rate,\n defaultValue: 50,\n validate: x => x >= 0 && x <= 100\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.color = null;\n this.extras = null;\n }\n [_symbol_utils.$toStyle](bgColor) {\n const alpha = this.rate / 100;\n return _util.Util.makeHexColor(Math.round(bgColor.value.r * (1 - alpha) + this.value.r * alpha), Math.round(bgColor.value.g * (1 - alpha) + this.value.g * alpha), Math.round(bgColor.value.b * (1 - alpha) + this.value.b * alpha));\n }\n}\nclass Subform extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"subform\", true);\n this.access = (0, _utils.getStringOption)(attributes.access, [\"open\", \"nonInteractive\", \"protected\", \"readOnly\"]);\n this.allowMacro = (0, _utils.getInteger)({\n data: attributes.allowMacro,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.anchorType = (0, _utils.getStringOption)(attributes.anchorType, [\"topLeft\", \"bottomCenter\", \"bottomLeft\", \"bottomRight\", \"middleCenter\", \"middleLeft\", \"middleRight\", \"topCenter\", \"topRight\"]);\n this.colSpan = (0, _utils.getInteger)({\n data: attributes.colSpan,\n defaultValue: 1,\n validate: n => n >= 1 || n === -1\n });\n this.columnWidths = (attributes.columnWidths || \"\").trim().split(/\\s+/).map(x => x === \"-1\" ? -1 : (0, _utils.getMeasurement)(x));\n this.h = attributes.h ? (0, _utils.getMeasurement)(attributes.h) : \"\";\n this.hAlign = (0, _utils.getStringOption)(attributes.hAlign, [\"left\", \"center\", \"justify\", \"justifyAll\", \"radix\", \"right\"]);\n this.id = attributes.id || \"\";\n this.layout = (0, _utils.getStringOption)(attributes.layout, [\"position\", \"lr-tb\", \"rl-row\", \"rl-tb\", \"row\", \"table\", \"tb\"]);\n this.locale = attributes.locale || \"\";\n this.maxH = (0, _utils.getMeasurement)(attributes.maxH, \"0pt\");\n this.maxW = (0, _utils.getMeasurement)(attributes.maxW, \"0pt\");\n this.mergeMode = (0, _utils.getStringOption)(attributes.mergeMode, [\"consumeData\", \"matchTemplate\"]);\n this.minH = (0, _utils.getMeasurement)(attributes.minH, \"0pt\");\n this.minW = (0, _utils.getMeasurement)(attributes.minW, \"0pt\");\n this.name = attributes.name || \"\";\n this.presence = (0, _utils.getStringOption)(attributes.presence, [\"visible\", \"hidden\", \"inactive\", \"invisible\"]);\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.restoreState = (0, _utils.getStringOption)(attributes.restoreState, [\"manual\", \"auto\"]);\n this.scope = (0, _utils.getStringOption)(attributes.scope, [\"name\", \"none\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.w = attributes.w ? (0, _utils.getMeasurement)(attributes.w) : \"\";\n this.x = (0, _utils.getMeasurement)(attributes.x, \"0pt\");\n this.y = (0, _utils.getMeasurement)(attributes.y, \"0pt\");\n this.assist = null;\n this.bind = null;\n this.bookend = null;\n this.border = null;\n this.break = null;\n this.calculate = null;\n this.desc = null;\n this.extras = null;\n this.keep = null;\n this.margin = null;\n this.occur = null;\n this.overflow = null;\n this.pageSet = null;\n this.para = null;\n this.traversal = null;\n this.validate = null;\n this.variables = null;\n this.area = new _xfa_object.XFAObjectArray();\n this.breakAfter = new _xfa_object.XFAObjectArray();\n this.breakBefore = new _xfa_object.XFAObjectArray();\n this.connect = new _xfa_object.XFAObjectArray();\n this.draw = new _xfa_object.XFAObjectArray();\n this.event = new _xfa_object.XFAObjectArray();\n this.exObject = new _xfa_object.XFAObjectArray();\n this.exclGroup = new _xfa_object.XFAObjectArray();\n this.field = new _xfa_object.XFAObjectArray();\n this.proto = new _xfa_object.XFAObjectArray();\n this.setProperty = new _xfa_object.XFAObjectArray();\n this.subform = new _xfa_object.XFAObjectArray();\n this.subformSet = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$getSubformParent]() {\n const parent = this[_symbol_utils.$getParent]();\n if (parent instanceof SubformSet) {\n return parent[_symbol_utils.$getSubformParent]();\n }\n return parent;\n }\n [_symbol_utils.$isBindable]() {\n return true;\n }\n [_symbol_utils.$isThereMoreWidth]() {\n return this.layout.endsWith(\"-tb\") && this[_symbol_utils.$extra].attempt === 0 && this[_symbol_utils.$extra].numberInLine > 0 || this[_symbol_utils.$getParent]()[_symbol_utils.$isThereMoreWidth]();\n }\n *[_symbol_utils.$getContainedChildren]() {\n yield* getContainedChildren(this);\n }\n [_symbol_utils.$flushHTML]() {\n return (0, _layout.flushHTML)(this);\n }\n [_symbol_utils.$addHTML](html, bbox) {\n (0, _layout.addHTML)(this, html, bbox);\n }\n [_symbol_utils.$getAvailableSpace]() {\n return (0, _layout.getAvailableSpace)(this);\n }\n [_symbol_utils.$isSplittable]() {\n const parent = this[_symbol_utils.$getSubformParent]();\n if (!parent[_symbol_utils.$isSplittable]()) {\n return false;\n }\n if (this[_symbol_utils.$extra]._isSplittable !== undefined) {\n return this[_symbol_utils.$extra]._isSplittable;\n }\n if (this.layout === \"position\" || this.layout.includes(\"row\")) {\n this[_symbol_utils.$extra]._isSplittable = false;\n return false;\n }\n if (this.keep && this.keep.intact !== \"none\") {\n this[_symbol_utils.$extra]._isSplittable = false;\n return false;\n }\n if (parent.layout?.endsWith(\"-tb\") && parent[_symbol_utils.$extra].numberInLine !== 0) {\n return false;\n }\n this[_symbol_utils.$extra]._isSplittable = true;\n return true;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n setTabIndex(this);\n if (this.break) {\n if (this.break.after !== \"auto\" || this.break.afterTarget !== \"\") {\n const node = new BreakAfter({\n targetType: this.break.after,\n target: this.break.afterTarget,\n startNew: this.break.startNew.toString()\n });\n node[_symbol_utils.$globalData] = this[_symbol_utils.$globalData];\n this[_symbol_utils.$appendChild](node);\n this.breakAfter.push(node);\n }\n if (this.break.before !== \"auto\" || this.break.beforeTarget !== \"\") {\n const node = new BreakBefore({\n targetType: this.break.before,\n target: this.break.beforeTarget,\n startNew: this.break.startNew.toString()\n });\n node[_symbol_utils.$globalData] = this[_symbol_utils.$globalData];\n this[_symbol_utils.$appendChild](node);\n this.breakBefore.push(node);\n }\n if (this.break.overflowTarget !== \"\") {\n const node = new Overflow({\n target: this.break.overflowTarget,\n leader: this.break.overflowLeader,\n trailer: this.break.overflowTrailer\n });\n node[_symbol_utils.$globalData] = this[_symbol_utils.$globalData];\n this[_symbol_utils.$appendChild](node);\n this.overflow.push(node);\n }\n this[_symbol_utils.$removeChild](this.break);\n this.break = null;\n }\n if (this.presence === \"hidden\" || this.presence === \"inactive\") {\n return _utils.HTMLResult.EMPTY;\n }\n if (this.breakBefore.children.length > 1 || this.breakAfter.children.length > 1) {\n (0, _util.warn)(\"XFA - Several breakBefore or breakAfter in subforms: please file a bug.\");\n }\n if (this.breakBefore.children.length >= 1) {\n const breakBefore = this.breakBefore.children[0];\n if (handleBreak(breakBefore)) {\n return _utils.HTMLResult.breakNode(breakBefore);\n }\n }\n if (this[_symbol_utils.$extra]?.afterBreakAfter) {\n return _utils.HTMLResult.EMPTY;\n }\n (0, _html_utils.fixDimensions)(this);\n const children = [];\n const attributes = {\n id: this[_symbol_utils.$uid],\n class: []\n };\n (0, _html_utils.setAccess)(this, attributes.class);\n if (!this[_symbol_utils.$extra]) {\n this[_symbol_utils.$extra] = Object.create(null);\n }\n Object.assign(this[_symbol_utils.$extra], {\n children,\n line: null,\n attributes,\n attempt: 0,\n numberInLine: 0,\n availableSpace: {\n width: Math.min(this.w || Infinity, availableSpace.width),\n height: Math.min(this.h || Infinity, availableSpace.height)\n },\n width: 0,\n height: 0,\n prevHeight: 0,\n currentWidth: 0\n });\n const root = this[_symbol_utils.$getTemplateRoot]();\n const savedNoLayoutFailure = root[_symbol_utils.$extra].noLayoutFailure;\n const isSplittable = this[_symbol_utils.$isSplittable]();\n if (!isSplittable) {\n setFirstUnsplittable(this);\n }\n if (!(0, _layout.checkDimensions)(this, availableSpace)) {\n return _utils.HTMLResult.FAILURE;\n }\n const filter = new Set([\"area\", \"draw\", \"exclGroup\", \"field\", \"subform\", \"subformSet\"]);\n if (this.layout.includes(\"row\")) {\n const columnWidths = this[_symbol_utils.$getSubformParent]().columnWidths;\n if (Array.isArray(columnWidths) && columnWidths.length > 0) {\n this[_symbol_utils.$extra].columnWidths = columnWidths;\n this[_symbol_utils.$extra].currentColumn = 0;\n }\n }\n const style = (0, _html_utils.toStyle)(this, \"anchorType\", \"dimensions\", \"position\", \"presence\", \"border\", \"margin\", \"hAlign\");\n const classNames = [\"xfaSubform\"];\n const cl = (0, _html_utils.layoutClass)(this);\n if (cl) {\n classNames.push(cl);\n }\n attributes.style = style;\n attributes.class = classNames;\n if (this.name) {\n attributes.xfaName = this.name;\n }\n if (this.overflow) {\n const overflowExtra = this.overflow[_symbol_utils.$getExtra]();\n if (overflowExtra.addLeader) {\n overflowExtra.addLeader = false;\n handleOverflow(this, overflowExtra.leader, availableSpace);\n }\n }\n this[_symbol_utils.$pushPara]();\n const isLrTb = this.layout === \"lr-tb\" || this.layout === \"rl-tb\";\n const maxRun = isLrTb ? MAX_ATTEMPTS_FOR_LRTB_LAYOUT : 1;\n for (; this[_symbol_utils.$extra].attempt < maxRun; this[_symbol_utils.$extra].attempt++) {\n if (isLrTb && this[_symbol_utils.$extra].attempt === MAX_ATTEMPTS_FOR_LRTB_LAYOUT - 1) {\n this[_symbol_utils.$extra].numberInLine = 0;\n }\n const result = this[_symbol_utils.$childrenToHTML]({\n filter,\n include: true\n });\n if (result.success) {\n break;\n }\n if (result.isBreak()) {\n this[_symbol_utils.$popPara]();\n return result;\n }\n if (isLrTb && this[_symbol_utils.$extra].attempt === 0 && this[_symbol_utils.$extra].numberInLine === 0 && !root[_symbol_utils.$extra].noLayoutFailure) {\n this[_symbol_utils.$extra].attempt = maxRun;\n break;\n }\n }\n this[_symbol_utils.$popPara]();\n if (!isSplittable) {\n unsetFirstUnsplittable(this);\n }\n root[_symbol_utils.$extra].noLayoutFailure = savedNoLayoutFailure;\n if (this[_symbol_utils.$extra].attempt === maxRun) {\n if (this.overflow) {\n this[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].overflowNode = this.overflow;\n }\n if (!isSplittable) {\n delete this[_symbol_utils.$extra];\n }\n return _utils.HTMLResult.FAILURE;\n }\n if (this.overflow) {\n const overflowExtra = this.overflow[_symbol_utils.$getExtra]();\n if (overflowExtra.addTrailer) {\n overflowExtra.addTrailer = false;\n handleOverflow(this, overflowExtra.trailer, availableSpace);\n }\n }\n let marginH = 0;\n let marginV = 0;\n if (this.margin) {\n marginH = this.margin.leftInset + this.margin.rightInset;\n marginV = this.margin.topInset + this.margin.bottomInset;\n }\n const width = Math.max(this[_symbol_utils.$extra].width + marginH, this.w || 0);\n const height = Math.max(this[_symbol_utils.$extra].height + marginV, this.h || 0);\n const bbox = [this.x, this.y, width, height];\n if (this.w === \"\") {\n style.width = (0, _html_utils.measureToString)(width);\n }\n if (this.h === \"\") {\n style.height = (0, _html_utils.measureToString)(height);\n }\n if ((style.width === \"0px\" || style.height === \"0px\") && children.length === 0) {\n return _utils.HTMLResult.EMPTY;\n }\n const html = {\n name: \"div\",\n attributes,\n children\n };\n applyAssist(this, attributes);\n const result = _utils.HTMLResult.success((0, _html_utils.createWrapper)(this, html), bbox);\n if (this.breakAfter.children.length >= 1) {\n const breakAfter = this.breakAfter.children[0];\n if (handleBreak(breakAfter)) {\n this[_symbol_utils.$extra].afterBreakAfter = result;\n return _utils.HTMLResult.breakNode(breakAfter);\n }\n }\n delete this[_symbol_utils.$extra];\n return result;\n }\n}\nclass SubformSet extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"subformSet\", true);\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.relation = (0, _utils.getStringOption)(attributes.relation, [\"ordered\", \"choice\", \"unordered\"]);\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.bookend = null;\n this.break = null;\n this.desc = null;\n this.extras = null;\n this.occur = null;\n this.overflow = null;\n this.breakAfter = new _xfa_object.XFAObjectArray();\n this.breakBefore = new _xfa_object.XFAObjectArray();\n this.subform = new _xfa_object.XFAObjectArray();\n this.subformSet = new _xfa_object.XFAObjectArray();\n }\n *[_symbol_utils.$getContainedChildren]() {\n yield* getContainedChildren(this);\n }\n [_symbol_utils.$getSubformParent]() {\n let parent = this[_symbol_utils.$getParent]();\n while (!(parent instanceof Subform)) {\n parent = parent[_symbol_utils.$getParent]();\n }\n return parent;\n }\n [_symbol_utils.$isBindable]() {\n return true;\n }\n}\nclass SubjectDN extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"subjectDN\");\n this.delimiter = attributes.delimiter || \",\";\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = new Map(this[_symbol_utils.$content].split(this.delimiter).map(kv => {\n kv = kv.split(\"=\", 2);\n kv[0] = kv[0].trim();\n return kv;\n }));\n }\n}\nclass SubjectDNs extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"subjectDNs\", true);\n this.id = attributes.id || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.subjectDN = new _xfa_object.XFAObjectArray();\n }\n}\nclass Submit extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"submit\", true);\n this.embedPDF = (0, _utils.getInteger)({\n data: attributes.embedPDF,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.format = (0, _utils.getStringOption)(attributes.format, [\"xdp\", \"formdata\", \"pdf\", \"urlencoded\", \"xfd\", \"xml\"]);\n this.id = attributes.id || \"\";\n this.target = attributes.target || \"\";\n this.textEncoding = (0, _utils.getKeyword)({\n data: attributes.textEncoding ? attributes.textEncoding.toLowerCase() : \"\",\n defaultValue: \"\",\n validate: k => [\"utf-8\", \"big-five\", \"fontspecific\", \"gbk\", \"gb-18030\", \"gb-2312\", \"ksc-5601\", \"none\", \"shift-jis\", \"ucs-2\", \"utf-16\"].includes(k) || k.match(/iso-8859-\\d{2}/)\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.xdpContent = attributes.xdpContent || \"\";\n this.encrypt = null;\n this.encryptData = new _xfa_object.XFAObjectArray();\n this.signData = new _xfa_object.XFAObjectArray();\n }\n}\nclass Template extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"template\", true);\n this.baseProfile = (0, _utils.getStringOption)(attributes.baseProfile, [\"full\", \"interactiveForms\"]);\n this.extras = null;\n this.subform = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$finalize]() {\n if (this.subform.children.length === 0) {\n (0, _util.warn)(\"XFA - No subforms in template node.\");\n }\n if (this.subform.children.length >= 2) {\n (0, _util.warn)(\"XFA - Several subforms in template node: please file a bug.\");\n }\n this[_symbol_utils.$tabIndex] = DEFAULT_TAB_INDEX;\n }\n [_symbol_utils.$isSplittable]() {\n return true;\n }\n [_symbol_utils.$searchNode](expr, container) {\n if (expr.startsWith(\"#\")) {\n return [this[_symbol_utils.$ids].get(expr.slice(1))];\n }\n return (0, _som.searchNode)(this, container, expr, true, true);\n }\n *[_symbol_utils.$toPages]() {\n if (!this.subform.children.length) {\n return _utils.HTMLResult.success({\n name: \"div\",\n children: []\n });\n }\n this[_symbol_utils.$extra] = {\n overflowNode: null,\n firstUnsplittable: null,\n currentContentArea: null,\n currentPageArea: null,\n noLayoutFailure: false,\n pageNumber: 1,\n pagePosition: \"first\",\n oddOrEven: \"odd\",\n blankOrNotBlank: \"nonBlank\",\n paraStack: []\n };\n const root = this.subform.children[0];\n root.pageSet[_symbol_utils.$cleanPage]();\n const pageAreas = root.pageSet.pageArea.children;\n const mainHtml = {\n name: \"div\",\n children: []\n };\n let pageArea = null;\n let breakBefore = null;\n let breakBeforeTarget = null;\n if (root.breakBefore.children.length >= 1) {\n breakBefore = root.breakBefore.children[0];\n breakBeforeTarget = breakBefore.target;\n } else if (root.subform.children.length >= 1 && root.subform.children[0].breakBefore.children.length >= 1) {\n breakBefore = root.subform.children[0].breakBefore.children[0];\n breakBeforeTarget = breakBefore.target;\n } else if (root.break?.beforeTarget) {\n breakBefore = root.break;\n breakBeforeTarget = breakBefore.beforeTarget;\n } else if (root.subform.children.length >= 1 && root.subform.children[0].break?.beforeTarget) {\n breakBefore = root.subform.children[0].break;\n breakBeforeTarget = breakBefore.beforeTarget;\n }\n if (breakBefore) {\n const target = this[_symbol_utils.$searchNode](breakBeforeTarget, breakBefore[_symbol_utils.$getParent]());\n if (target instanceof PageArea) {\n pageArea = target;\n breakBefore[_symbol_utils.$extra] = {};\n }\n }\n if (!pageArea) {\n pageArea = pageAreas[0];\n }\n pageArea[_symbol_utils.$extra] = {\n numberOfUse: 1\n };\n const pageAreaParent = pageArea[_symbol_utils.$getParent]();\n pageAreaParent[_symbol_utils.$extra] = {\n numberOfUse: 1,\n pageIndex: pageAreaParent.pageArea.children.indexOf(pageArea),\n pageSetIndex: 0\n };\n let targetPageArea;\n let leader = null;\n let trailer = null;\n let hasSomething = true;\n let hasSomethingCounter = 0;\n let startIndex = 0;\n while (true) {\n if (!hasSomething) {\n mainHtml.children.pop();\n if (++hasSomethingCounter === MAX_EMPTY_PAGES) {\n (0, _util.warn)(\"XFA - Something goes wrong: please file a bug.\");\n return mainHtml;\n }\n } else {\n hasSomethingCounter = 0;\n }\n targetPageArea = null;\n this[_symbol_utils.$extra].currentPageArea = pageArea;\n const page = pageArea[_symbol_utils.$toHTML]().html;\n mainHtml.children.push(page);\n if (leader) {\n this[_symbol_utils.$extra].noLayoutFailure = true;\n page.children.push(leader[_symbol_utils.$toHTML](pageArea[_symbol_utils.$extra].space).html);\n leader = null;\n }\n if (trailer) {\n this[_symbol_utils.$extra].noLayoutFailure = true;\n page.children.push(trailer[_symbol_utils.$toHTML](pageArea[_symbol_utils.$extra].space).html);\n trailer = null;\n }\n const contentAreas = pageArea.contentArea.children;\n const htmlContentAreas = page.children.filter(node => node.attributes.class.includes(\"xfaContentarea\"));\n hasSomething = false;\n this[_symbol_utils.$extra].firstUnsplittable = null;\n this[_symbol_utils.$extra].noLayoutFailure = false;\n const flush = index => {\n const html = root[_symbol_utils.$flushHTML]();\n if (html) {\n hasSomething ||= html.children?.length > 0;\n htmlContentAreas[index].children.push(html);\n }\n };\n for (let i = startIndex, ii = contentAreas.length; i < ii; i++) {\n const contentArea = this[_symbol_utils.$extra].currentContentArea = contentAreas[i];\n const space = {\n width: contentArea.w,\n height: contentArea.h\n };\n startIndex = 0;\n if (leader) {\n htmlContentAreas[i].children.push(leader[_symbol_utils.$toHTML](space).html);\n leader = null;\n }\n if (trailer) {\n htmlContentAreas[i].children.push(trailer[_symbol_utils.$toHTML](space).html);\n trailer = null;\n }\n const html = root[_symbol_utils.$toHTML](space);\n if (html.success) {\n if (html.html) {\n hasSomething ||= html.html.children?.length > 0;\n htmlContentAreas[i].children.push(html.html);\n } else if (!hasSomething && mainHtml.children.length > 1) {\n mainHtml.children.pop();\n }\n return mainHtml;\n }\n if (html.isBreak()) {\n const node = html.breakNode;\n flush(i);\n if (node.targetType === \"auto\") {\n continue;\n }\n if (node.leader) {\n leader = this[_symbol_utils.$searchNode](node.leader, node[_symbol_utils.$getParent]());\n leader = leader ? leader[0] : null;\n }\n if (node.trailer) {\n trailer = this[_symbol_utils.$searchNode](node.trailer, node[_symbol_utils.$getParent]());\n trailer = trailer ? trailer[0] : null;\n }\n if (node.targetType === \"pageArea\") {\n targetPageArea = node[_symbol_utils.$extra].target;\n i = Infinity;\n } else if (!node[_symbol_utils.$extra].target) {\n i = node[_symbol_utils.$extra].index;\n } else {\n targetPageArea = node[_symbol_utils.$extra].target;\n startIndex = node[_symbol_utils.$extra].index + 1;\n i = Infinity;\n }\n continue;\n }\n if (this[_symbol_utils.$extra].overflowNode) {\n const node = this[_symbol_utils.$extra].overflowNode;\n this[_symbol_utils.$extra].overflowNode = null;\n const overflowExtra = node[_symbol_utils.$getExtra]();\n const target = overflowExtra.target;\n overflowExtra.addLeader = overflowExtra.leader !== null;\n overflowExtra.addTrailer = overflowExtra.trailer !== null;\n flush(i);\n const currentIndex = i;\n i = Infinity;\n if (target instanceof PageArea) {\n targetPageArea = target;\n } else if (target instanceof ContentArea) {\n const index = contentAreas.indexOf(target);\n if (index !== -1) {\n if (index > currentIndex) {\n i = index - 1;\n } else {\n startIndex = index;\n }\n } else {\n targetPageArea = target[_symbol_utils.$getParent]();\n startIndex = targetPageArea.contentArea.children.indexOf(target);\n }\n }\n continue;\n }\n flush(i);\n }\n this[_symbol_utils.$extra].pageNumber += 1;\n if (targetPageArea) {\n if (targetPageArea[_symbol_utils.$isUsable]()) {\n targetPageArea[_symbol_utils.$extra].numberOfUse += 1;\n } else {\n targetPageArea = null;\n }\n }\n pageArea = targetPageArea || pageArea[_symbol_utils.$getNextPage]();\n yield null;\n }\n }\n}\nexports.Template = Template;\nclass Text extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"text\");\n this.id = attributes.id || \"\";\n this.maxChars = (0, _utils.getInteger)({\n data: attributes.maxChars,\n defaultValue: 0,\n validate: x => x >= 0\n });\n this.name = attributes.name || \"\";\n this.rid = attributes.rid || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$acceptWhitespace]() {\n return true;\n }\n [_symbol_utils.$onChild](child) {\n if (child[_symbol_utils.$namespaceId] === _namespaces.NamespaceIds.xhtml.id) {\n this[_symbol_utils.$content] = child;\n return true;\n }\n (0, _util.warn)(`XFA - Invalid content in Text: ${child[_symbol_utils.$nodeName]}.`);\n return false;\n }\n [_symbol_utils.$onText](str) {\n if (this[_symbol_utils.$content] instanceof _xfa_object.XFAObject) {\n return;\n }\n super[_symbol_utils.$onText](str);\n }\n [_symbol_utils.$finalize]() {\n if (typeof this[_symbol_utils.$content] === \"string\") {\n this[_symbol_utils.$content] = this[_symbol_utils.$content].replaceAll(\"\\r\\n\", \"\\n\");\n }\n }\n [_symbol_utils.$getExtra]() {\n if (typeof this[_symbol_utils.$content] === \"string\") {\n return this[_symbol_utils.$content].split(/[\\u2029\\u2028\\n]/).reduce((acc, line) => {\n if (line) {\n acc.push(line);\n }\n return acc;\n }, []).join(\"\\n\");\n }\n return this[_symbol_utils.$content][_symbol_utils.$text]();\n }\n [_symbol_utils.$toHTML](availableSpace) {\n if (typeof this[_symbol_utils.$content] === \"string\") {\n const html = valueToHtml(this[_symbol_utils.$content]).html;\n if (this[_symbol_utils.$content].includes(\"\\u2029\")) {\n html.name = \"div\";\n html.children = [];\n this[_symbol_utils.$content].split(\"\\u2029\").map(para => para.split(/[\\u2028\\n]/).reduce((acc, line) => {\n acc.push({\n name: \"span\",\n value: line\n }, {\n name: \"br\"\n });\n return acc;\n }, [])).forEach(lines => {\n html.children.push({\n name: \"p\",\n children: lines\n });\n });\n } else if (/[\\u2028\\n]/.test(this[_symbol_utils.$content])) {\n html.name = \"div\";\n html.children = [];\n this[_symbol_utils.$content].split(/[\\u2028\\n]/).forEach(line => {\n html.children.push({\n name: \"span\",\n value: line\n }, {\n name: \"br\"\n });\n });\n }\n return _utils.HTMLResult.success(html);\n }\n return this[_symbol_utils.$content][_symbol_utils.$toHTML](availableSpace);\n }\n}\nexports.Text = Text;\nclass TextEdit extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"textEdit\", true);\n this.allowRichText = (0, _utils.getInteger)({\n data: attributes.allowRichText,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.hScrollPolicy = (0, _utils.getStringOption)(attributes.hScrollPolicy, [\"auto\", \"off\", \"on\"]);\n this.id = attributes.id || \"\";\n this.multiLine = (0, _utils.getInteger)({\n data: attributes.multiLine,\n defaultValue: \"\",\n validate: x => x === 0 || x === 1\n });\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.vScrollPolicy = (0, _utils.getStringOption)(attributes.vScrollPolicy, [\"auto\", \"off\", \"on\"]);\n this.border = null;\n this.comb = null;\n this.extras = null;\n this.margin = null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const style = (0, _html_utils.toStyle)(this, \"border\", \"font\", \"margin\");\n let html;\n const field = this[_symbol_utils.$getParent]()[_symbol_utils.$getParent]();\n if (this.multiLine === \"\") {\n this.multiLine = field instanceof Draw ? 1 : 0;\n }\n if (this.multiLine === 1) {\n html = {\n name: \"textarea\",\n attributes: {\n dataId: field[_symbol_utils.$data]?.[_symbol_utils.$uid] || field[_symbol_utils.$uid],\n fieldId: field[_symbol_utils.$uid],\n class: [\"xfaTextfield\"],\n style,\n \"aria-label\": ariaLabel(field),\n \"aria-required\": false\n }\n };\n } else {\n html = {\n name: \"input\",\n attributes: {\n type: \"text\",\n dataId: field[_symbol_utils.$data]?.[_symbol_utils.$uid] || field[_symbol_utils.$uid],\n fieldId: field[_symbol_utils.$uid],\n class: [\"xfaTextfield\"],\n style,\n \"aria-label\": ariaLabel(field),\n \"aria-required\": false\n }\n };\n }\n if (isRequired(field)) {\n html.attributes[\"aria-required\"] = true;\n html.attributes.required = true;\n }\n return _utils.HTMLResult.success({\n name: \"label\",\n attributes: {\n class: [\"xfaLabel\"]\n },\n children: [html]\n });\n }\n}\nclass Time extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"time\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n [_symbol_utils.$finalize]() {\n const date = this[_symbol_utils.$content].trim();\n this[_symbol_utils.$content] = date ? new Date(date) : null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n return valueToHtml(this[_symbol_utils.$content] ? this[_symbol_utils.$content].toString() : \"\");\n }\n}\nclass TimeStamp extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"timeStamp\");\n this.id = attributes.id || \"\";\n this.server = attributes.server || \"\";\n this.type = (0, _utils.getStringOption)(attributes.type, [\"optional\", \"required\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass ToolTip extends _xfa_object.StringObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"toolTip\");\n this.id = attributes.id || \"\";\n this.rid = attributes.rid || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Traversal extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"traversal\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.traverse = new _xfa_object.XFAObjectArray();\n }\n}\nclass Traverse extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"traverse\", true);\n this.id = attributes.id || \"\";\n this.operation = (0, _utils.getStringOption)(attributes.operation, [\"next\", \"back\", \"down\", \"first\", \"left\", \"right\", \"up\"]);\n this.ref = attributes.ref || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.script = null;\n }\n get name() {\n return this.operation;\n }\n [_symbol_utils.$isTransparent]() {\n return false;\n }\n}\nclass Ui extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"ui\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.picture = null;\n this.barcode = null;\n this.button = null;\n this.checkButton = null;\n this.choiceList = null;\n this.dateTimeEdit = null;\n this.defaultUi = null;\n this.imageEdit = null;\n this.numericEdit = null;\n this.passwordEdit = null;\n this.signature = null;\n this.textEdit = null;\n }\n [_symbol_utils.$getExtra]() {\n if (this[_symbol_utils.$extra] === undefined) {\n for (const name of Object.getOwnPropertyNames(this)) {\n if (name === \"extras\" || name === \"picture\") {\n continue;\n }\n const obj = this[name];\n if (!(obj instanceof _xfa_object.XFAObject)) {\n continue;\n }\n this[_symbol_utils.$extra] = obj;\n return obj;\n }\n this[_symbol_utils.$extra] = null;\n }\n return this[_symbol_utils.$extra];\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const obj = this[_symbol_utils.$getExtra]();\n if (obj) {\n return obj[_symbol_utils.$toHTML](availableSpace);\n }\n return _utils.HTMLResult.EMPTY;\n }\n}\nclass Validate extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"validate\", true);\n this.formatTest = (0, _utils.getStringOption)(attributes.formatTest, [\"warning\", \"disabled\", \"error\"]);\n this.id = attributes.id || \"\";\n this.nullTest = (0, _utils.getStringOption)(attributes.nullTest, [\"disabled\", \"error\", \"warning\"]);\n this.scriptTest = (0, _utils.getStringOption)(attributes.scriptTest, [\"error\", \"disabled\", \"warning\"]);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.extras = null;\n this.message = null;\n this.picture = null;\n this.script = null;\n }\n}\nclass Value extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"value\", true);\n this.id = attributes.id || \"\";\n this.override = (0, _utils.getInteger)({\n data: attributes.override,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.relevant = (0, _utils.getRelevant)(attributes.relevant);\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.arc = null;\n this.boolean = null;\n this.date = null;\n this.dateTime = null;\n this.decimal = null;\n this.exData = null;\n this.float = null;\n this.image = null;\n this.integer = null;\n this.line = null;\n this.rectangle = null;\n this.text = null;\n this.time = null;\n }\n [_symbol_utils.$setValue](value) {\n const parent = this[_symbol_utils.$getParent]();\n if (parent instanceof Field) {\n if (parent.ui?.imageEdit) {\n if (!this.image) {\n this.image = new Image({});\n this[_symbol_utils.$appendChild](this.image);\n }\n this.image[_symbol_utils.$content] = value[_symbol_utils.$content];\n return;\n }\n }\n const valueName = value[_symbol_utils.$nodeName];\n if (this[valueName] !== null) {\n this[valueName][_symbol_utils.$content] = value[_symbol_utils.$content];\n return;\n }\n for (const name of Object.getOwnPropertyNames(this)) {\n const obj = this[name];\n if (obj instanceof _xfa_object.XFAObject) {\n this[name] = null;\n this[_symbol_utils.$removeChild](obj);\n }\n }\n this[value[_symbol_utils.$nodeName]] = value;\n this[_symbol_utils.$appendChild](value);\n }\n [_symbol_utils.$text]() {\n if (this.exData) {\n if (typeof this.exData[_symbol_utils.$content] === \"string\") {\n return this.exData[_symbol_utils.$content].trim();\n }\n return this.exData[_symbol_utils.$content][_symbol_utils.$text]().trim();\n }\n for (const name of Object.getOwnPropertyNames(this)) {\n if (name === \"image\") {\n continue;\n }\n const obj = this[name];\n if (obj instanceof _xfa_object.XFAObject) {\n return (obj[_symbol_utils.$content] || \"\").toString().trim();\n }\n }\n return null;\n }\n [_symbol_utils.$toHTML](availableSpace) {\n for (const name of Object.getOwnPropertyNames(this)) {\n const obj = this[name];\n if (!(obj instanceof _xfa_object.XFAObject)) {\n continue;\n }\n return obj[_symbol_utils.$toHTML](availableSpace);\n }\n return _utils.HTMLResult.EMPTY;\n }\n}\nexports.Value = Value;\nclass Variables extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(TEMPLATE_NS_ID, \"variables\", true);\n this.id = attributes.id || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n this.boolean = new _xfa_object.XFAObjectArray();\n this.date = new _xfa_object.XFAObjectArray();\n this.dateTime = new _xfa_object.XFAObjectArray();\n this.decimal = new _xfa_object.XFAObjectArray();\n this.exData = new _xfa_object.XFAObjectArray();\n this.float = new _xfa_object.XFAObjectArray();\n this.image = new _xfa_object.XFAObjectArray();\n this.integer = new _xfa_object.XFAObjectArray();\n this.manifest = new _xfa_object.XFAObjectArray();\n this.script = new _xfa_object.XFAObjectArray();\n this.text = new _xfa_object.XFAObjectArray();\n this.time = new _xfa_object.XFAObjectArray();\n }\n [_symbol_utils.$isTransparent]() {\n return true;\n }\n}\nclass TemplateNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (TemplateNamespace.hasOwnProperty(name)) {\n const node = TemplateNamespace[name](attributes);\n node[_symbol_utils.$setSetAttributes](attributes);\n return node;\n }\n return undefined;\n }\n static appearanceFilter(attrs) {\n return new AppearanceFilter(attrs);\n }\n static arc(attrs) {\n return new Arc(attrs);\n }\n static area(attrs) {\n return new Area(attrs);\n }\n static assist(attrs) {\n return new Assist(attrs);\n }\n static barcode(attrs) {\n return new Barcode(attrs);\n }\n static bind(attrs) {\n return new Bind(attrs);\n }\n static bindItems(attrs) {\n return new BindItems(attrs);\n }\n static bookend(attrs) {\n return new Bookend(attrs);\n }\n static boolean(attrs) {\n return new BooleanElement(attrs);\n }\n static border(attrs) {\n return new Border(attrs);\n }\n static break(attrs) {\n return new Break(attrs);\n }\n static breakAfter(attrs) {\n return new BreakAfter(attrs);\n }\n static breakBefore(attrs) {\n return new BreakBefore(attrs);\n }\n static button(attrs) {\n return new Button(attrs);\n }\n static calculate(attrs) {\n return new Calculate(attrs);\n }\n static caption(attrs) {\n return new Caption(attrs);\n }\n static certificate(attrs) {\n return new Certificate(attrs);\n }\n static certificates(attrs) {\n return new Certificates(attrs);\n }\n static checkButton(attrs) {\n return new CheckButton(attrs);\n }\n static choiceList(attrs) {\n return new ChoiceList(attrs);\n }\n static color(attrs) {\n return new Color(attrs);\n }\n static comb(attrs) {\n return new Comb(attrs);\n }\n static connect(attrs) {\n return new Connect(attrs);\n }\n static contentArea(attrs) {\n return new ContentArea(attrs);\n }\n static corner(attrs) {\n return new Corner(attrs);\n }\n static date(attrs) {\n return new DateElement(attrs);\n }\n static dateTime(attrs) {\n return new DateTime(attrs);\n }\n static dateTimeEdit(attrs) {\n return new DateTimeEdit(attrs);\n }\n static decimal(attrs) {\n return new Decimal(attrs);\n }\n static defaultUi(attrs) {\n return new DefaultUi(attrs);\n }\n static desc(attrs) {\n return new Desc(attrs);\n }\n static digestMethod(attrs) {\n return new DigestMethod(attrs);\n }\n static digestMethods(attrs) {\n return new DigestMethods(attrs);\n }\n static draw(attrs) {\n return new Draw(attrs);\n }\n static edge(attrs) {\n return new Edge(attrs);\n }\n static encoding(attrs) {\n return new Encoding(attrs);\n }\n static encodings(attrs) {\n return new Encodings(attrs);\n }\n static encrypt(attrs) {\n return new Encrypt(attrs);\n }\n static encryptData(attrs) {\n return new EncryptData(attrs);\n }\n static encryption(attrs) {\n return new Encryption(attrs);\n }\n static encryptionMethod(attrs) {\n return new EncryptionMethod(attrs);\n }\n static encryptionMethods(attrs) {\n return new EncryptionMethods(attrs);\n }\n static event(attrs) {\n return new Event(attrs);\n }\n static exData(attrs) {\n return new ExData(attrs);\n }\n static exObject(attrs) {\n return new ExObject(attrs);\n }\n static exclGroup(attrs) {\n return new ExclGroup(attrs);\n }\n static execute(attrs) {\n return new Execute(attrs);\n }\n static extras(attrs) {\n return new Extras(attrs);\n }\n static field(attrs) {\n return new Field(attrs);\n }\n static fill(attrs) {\n return new Fill(attrs);\n }\n static filter(attrs) {\n return new Filter(attrs);\n }\n static float(attrs) {\n return new Float(attrs);\n }\n static font(attrs) {\n return new Font(attrs);\n }\n static format(attrs) {\n return new Format(attrs);\n }\n static handler(attrs) {\n return new Handler(attrs);\n }\n static hyphenation(attrs) {\n return new Hyphenation(attrs);\n }\n static image(attrs) {\n return new Image(attrs);\n }\n static imageEdit(attrs) {\n return new ImageEdit(attrs);\n }\n static integer(attrs) {\n return new Integer(attrs);\n }\n static issuers(attrs) {\n return new Issuers(attrs);\n }\n static items(attrs) {\n return new Items(attrs);\n }\n static keep(attrs) {\n return new Keep(attrs);\n }\n static keyUsage(attrs) {\n return new KeyUsage(attrs);\n }\n static line(attrs) {\n return new Line(attrs);\n }\n static linear(attrs) {\n return new Linear(attrs);\n }\n static lockDocument(attrs) {\n return new LockDocument(attrs);\n }\n static manifest(attrs) {\n return new Manifest(attrs);\n }\n static margin(attrs) {\n return new Margin(attrs);\n }\n static mdp(attrs) {\n return new Mdp(attrs);\n }\n static medium(attrs) {\n return new Medium(attrs);\n }\n static message(attrs) {\n return new Message(attrs);\n }\n static numericEdit(attrs) {\n return new NumericEdit(attrs);\n }\n static occur(attrs) {\n return new Occur(attrs);\n }\n static oid(attrs) {\n return new Oid(attrs);\n }\n static oids(attrs) {\n return new Oids(attrs);\n }\n static overflow(attrs) {\n return new Overflow(attrs);\n }\n static pageArea(attrs) {\n return new PageArea(attrs);\n }\n static pageSet(attrs) {\n return new PageSet(attrs);\n }\n static para(attrs) {\n return new Para(attrs);\n }\n static passwordEdit(attrs) {\n return new PasswordEdit(attrs);\n }\n static pattern(attrs) {\n return new Pattern(attrs);\n }\n static picture(attrs) {\n return new Picture(attrs);\n }\n static proto(attrs) {\n return new Proto(attrs);\n }\n static radial(attrs) {\n return new Radial(attrs);\n }\n static reason(attrs) {\n return new Reason(attrs);\n }\n static reasons(attrs) {\n return new Reasons(attrs);\n }\n static rectangle(attrs) {\n return new Rectangle(attrs);\n }\n static ref(attrs) {\n return new RefElement(attrs);\n }\n static script(attrs) {\n return new Script(attrs);\n }\n static setProperty(attrs) {\n return new SetProperty(attrs);\n }\n static signData(attrs) {\n return new SignData(attrs);\n }\n static signature(attrs) {\n return new Signature(attrs);\n }\n static signing(attrs) {\n return new Signing(attrs);\n }\n static solid(attrs) {\n return new Solid(attrs);\n }\n static speak(attrs) {\n return new Speak(attrs);\n }\n static stipple(attrs) {\n return new Stipple(attrs);\n }\n static subform(attrs) {\n return new Subform(attrs);\n }\n static subformSet(attrs) {\n return new SubformSet(attrs);\n }\n static subjectDN(attrs) {\n return new SubjectDN(attrs);\n }\n static subjectDNs(attrs) {\n return new SubjectDNs(attrs);\n }\n static submit(attrs) {\n return new Submit(attrs);\n }\n static template(attrs) {\n return new Template(attrs);\n }\n static text(attrs) {\n return new Text(attrs);\n }\n static textEdit(attrs) {\n return new TextEdit(attrs);\n }\n static time(attrs) {\n return new Time(attrs);\n }\n static timeStamp(attrs) {\n return new TimeStamp(attrs);\n }\n static toolTip(attrs) {\n return new ToolTip(attrs);\n }\n static traversal(attrs) {\n return new Traversal(attrs);\n }\n static traverse(attrs) {\n return new Traverse(attrs);\n }\n static ui(attrs) {\n return new Ui(attrs);\n }\n static validate(attrs) {\n return new Validate(attrs);\n }\n static value(attrs) {\n return new Value(attrs);\n }\n static variables(attrs) {\n return new Variables(attrs);\n }\n}\nexports.TemplateNamespace = TemplateNamespace;\n\n/***/ }),\n/* 81 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NamespaceIds = exports.$buildXFAObject = void 0;\nconst $buildXFAObject = Symbol();\nexports.$buildXFAObject = $buildXFAObject;\nconst NamespaceIds = {\n config: {\n id: 0,\n check: ns => ns.startsWith(\"http://www.xfa.org/schema/xci/\")\n },\n connectionSet: {\n id: 1,\n check: ns => ns.startsWith(\"http://www.xfa.org/schema/xfa-connection-set/\")\n },\n datasets: {\n id: 2,\n check: ns => ns.startsWith(\"http://www.xfa.org/schema/xfa-data/\")\n },\n form: {\n id: 3,\n check: ns => ns.startsWith(\"http://www.xfa.org/schema/xfa-form/\")\n },\n localeSet: {\n id: 4,\n check: ns => ns.startsWith(\"http://www.xfa.org/schema/xfa-locale-set/\")\n },\n pdf: {\n id: 5,\n check: ns => ns === \"http://ns.adobe.com/xdp/pdf/\"\n },\n signature: {\n id: 6,\n check: ns => ns === \"http://www.w3.org/2000/09/xmldsig#\"\n },\n sourceSet: {\n id: 7,\n check: ns => ns.startsWith(\"http://www.xfa.org/schema/xfa-source-set/\")\n },\n stylesheet: {\n id: 8,\n check: ns => ns === \"http://www.w3.org/1999/XSL/Transform\"\n },\n template: {\n id: 9,\n check: ns => ns.startsWith(\"http://www.xfa.org/schema/xfa-template/\")\n },\n xdc: {\n id: 10,\n check: ns => ns.startsWith(\"http://www.xfa.org/schema/xdc/\")\n },\n xdp: {\n id: 11,\n check: ns => ns === \"http://ns.adobe.com/xdp/\"\n },\n xfdf: {\n id: 12,\n check: ns => ns === \"http://ns.adobe.com/xfdf/\"\n },\n xhtml: {\n id: 13,\n check: ns => ns === \"http://www.w3.org/1999/xhtml\"\n },\n xmpmeta: {\n id: 14,\n check: ns => ns === \"http://ns.adobe.com/xmpmeta/\"\n }\n};\nexports.NamespaceIds = NamespaceIds;\n\n/***/ }),\n/* 82 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.addHTML = addHTML;\nexports.checkDimensions = checkDimensions;\nexports.flushHTML = flushHTML;\nexports.getAvailableSpace = getAvailableSpace;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _html_utils = __w_pdfjs_require__(83);\nfunction createLine(node, children) {\n return {\n name: \"div\",\n attributes: {\n class: [node.layout === \"lr-tb\" ? \"xfaLr\" : \"xfaRl\"]\n },\n children\n };\n}\nfunction flushHTML(node) {\n if (!node[_symbol_utils.$extra]) {\n return null;\n }\n const attributes = node[_symbol_utils.$extra].attributes;\n const html = {\n name: \"div\",\n attributes,\n children: node[_symbol_utils.$extra].children\n };\n if (node[_symbol_utils.$extra].failingNode) {\n const htmlFromFailing = node[_symbol_utils.$extra].failingNode[_symbol_utils.$flushHTML]();\n if (htmlFromFailing) {\n if (node.layout.endsWith(\"-tb\")) {\n html.children.push(createLine(node, [htmlFromFailing]));\n } else {\n html.children.push(htmlFromFailing);\n }\n }\n }\n if (html.children.length === 0) {\n return null;\n }\n return html;\n}\nfunction addHTML(node, html, bbox) {\n const extra = node[_symbol_utils.$extra];\n const availableSpace = extra.availableSpace;\n const [x, y, w, h] = bbox;\n switch (node.layout) {\n case \"position\":\n {\n extra.width = Math.max(extra.width, x + w);\n extra.height = Math.max(extra.height, y + h);\n extra.children.push(html);\n break;\n }\n case \"lr-tb\":\n case \"rl-tb\":\n if (!extra.line || extra.attempt === 1) {\n extra.line = createLine(node, []);\n extra.children.push(extra.line);\n extra.numberInLine = 0;\n }\n extra.numberInLine += 1;\n extra.line.children.push(html);\n if (extra.attempt === 0) {\n extra.currentWidth += w;\n extra.height = Math.max(extra.height, extra.prevHeight + h);\n } else {\n extra.currentWidth = w;\n extra.prevHeight = extra.height;\n extra.height += h;\n extra.attempt = 0;\n }\n extra.width = Math.max(extra.width, extra.currentWidth);\n break;\n case \"rl-row\":\n case \"row\":\n {\n extra.children.push(html);\n extra.width += w;\n extra.height = Math.max(extra.height, h);\n const height = (0, _html_utils.measureToString)(extra.height);\n for (const child of extra.children) {\n child.attributes.style.height = height;\n }\n break;\n }\n case \"table\":\n {\n extra.width = Math.min(availableSpace.width, Math.max(extra.width, w));\n extra.height += h;\n extra.children.push(html);\n break;\n }\n case \"tb\":\n {\n extra.width = Math.min(availableSpace.width, Math.max(extra.width, w));\n extra.height += h;\n extra.children.push(html);\n break;\n }\n }\n}\nfunction getAvailableSpace(node) {\n const availableSpace = node[_symbol_utils.$extra].availableSpace;\n const marginV = node.margin ? node.margin.topInset + node.margin.bottomInset : 0;\n const marginH = node.margin ? node.margin.leftInset + node.margin.rightInset : 0;\n switch (node.layout) {\n case \"lr-tb\":\n case \"rl-tb\":\n if (node[_symbol_utils.$extra].attempt === 0) {\n return {\n width: availableSpace.width - marginH - node[_symbol_utils.$extra].currentWidth,\n height: availableSpace.height - marginV - node[_symbol_utils.$extra].prevHeight\n };\n }\n return {\n width: availableSpace.width - marginH,\n height: availableSpace.height - marginV - node[_symbol_utils.$extra].height\n };\n case \"rl-row\":\n case \"row\":\n const width = node[_symbol_utils.$extra].columnWidths.slice(node[_symbol_utils.$extra].currentColumn).reduce((a, x) => a + x);\n return {\n width,\n height: availableSpace.height - marginH\n };\n case \"table\":\n case \"tb\":\n return {\n width: availableSpace.width - marginH,\n height: availableSpace.height - marginV - node[_symbol_utils.$extra].height\n };\n case \"position\":\n default:\n return availableSpace;\n }\n}\nfunction getTransformedBBox(node) {\n let w = node.w === \"\" ? NaN : node.w;\n let h = node.h === \"\" ? NaN : node.h;\n let [centerX, centerY] = [0, 0];\n switch (node.anchorType || \"\") {\n case \"bottomCenter\":\n [centerX, centerY] = [w / 2, h];\n break;\n case \"bottomLeft\":\n [centerX, centerY] = [0, h];\n break;\n case \"bottomRight\":\n [centerX, centerY] = [w, h];\n break;\n case \"middleCenter\":\n [centerX, centerY] = [w / 2, h / 2];\n break;\n case \"middleLeft\":\n [centerX, centerY] = [0, h / 2];\n break;\n case \"middleRight\":\n [centerX, centerY] = [w, h / 2];\n break;\n case \"topCenter\":\n [centerX, centerY] = [w / 2, 0];\n break;\n case \"topRight\":\n [centerX, centerY] = [w, 0];\n break;\n }\n let x, y;\n switch (node.rotate || 0) {\n case 0:\n [x, y] = [-centerX, -centerY];\n break;\n case 90:\n [x, y] = [-centerY, centerX];\n [w, h] = [h, -w];\n break;\n case 180:\n [x, y] = [centerX, centerY];\n [w, h] = [-w, -h];\n break;\n case 270:\n [x, y] = [centerY, -centerX];\n [w, h] = [-h, w];\n break;\n }\n return [node.x + x + Math.min(0, w), node.y + y + Math.min(0, h), Math.abs(w), Math.abs(h)];\n}\nfunction checkDimensions(node, space) {\n if (node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].firstUnsplittable === null) {\n return true;\n }\n if (node.w === 0 || node.h === 0) {\n return true;\n }\n const ERROR = 2;\n const parent = node[_symbol_utils.$getSubformParent]();\n const attempt = parent[_symbol_utils.$extra]?.attempt || 0;\n const [, y, w, h] = getTransformedBBox(node);\n switch (parent.layout) {\n case \"lr-tb\":\n case \"rl-tb\":\n if (attempt === 0) {\n if (!node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure) {\n if (node.h !== \"\" && Math.round(h - space.height) > ERROR) {\n return false;\n }\n if (node.w !== \"\") {\n if (Math.round(w - space.width) <= ERROR) {\n return true;\n }\n if (parent[_symbol_utils.$extra].numberInLine === 0) {\n return space.height > ERROR;\n }\n return false;\n }\n return space.width > ERROR;\n }\n if (node.w !== \"\") {\n return Math.round(w - space.width) <= ERROR;\n }\n return space.width > ERROR;\n }\n if (node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure) {\n return true;\n }\n if (node.h !== \"\" && Math.round(h - space.height) > ERROR) {\n return false;\n }\n if (node.w === \"\" || Math.round(w - space.width) <= ERROR) {\n return space.height > ERROR;\n }\n if (parent[_symbol_utils.$isThereMoreWidth]()) {\n return false;\n }\n return space.height > ERROR;\n case \"table\":\n case \"tb\":\n if (node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure) {\n return true;\n }\n if (node.h !== \"\" && !node[_symbol_utils.$isSplittable]()) {\n return Math.round(h - space.height) <= ERROR;\n }\n if (node.w === \"\" || Math.round(w - space.width) <= ERROR) {\n return space.height > ERROR;\n }\n if (parent[_symbol_utils.$isThereMoreWidth]()) {\n return false;\n }\n return space.height > ERROR;\n case \"position\":\n if (node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure) {\n return true;\n }\n if (node.h === \"\" || Math.round(h + y - space.height) <= ERROR) {\n return true;\n }\n const area = node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].currentContentArea;\n return h + y > area.h;\n case \"rl-row\":\n case \"row\":\n if (node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].noLayoutFailure) {\n return true;\n }\n if (node.h !== \"\") {\n return Math.round(h - space.height) <= ERROR;\n }\n return true;\n default:\n return true;\n }\n}\n\n/***/ }),\n/* 83 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.computeBbox = computeBbox;\nexports.createWrapper = createWrapper;\nexports.fixDimensions = fixDimensions;\nexports.fixTextIndent = fixTextIndent;\nexports.fixURL = fixURL;\nexports.isPrintOnly = isPrintOnly;\nexports.layoutClass = layoutClass;\nexports.layoutNode = layoutNode;\nexports.measureToString = measureToString;\nexports.setAccess = setAccess;\nexports.setFontFamily = setFontFamily;\nexports.setMinMaxDimensions = setMinMaxDimensions;\nexports.setPara = setPara;\nexports.toStyle = toStyle;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _util = __w_pdfjs_require__(2);\nvar _utils = __w_pdfjs_require__(84);\nvar _fonts = __w_pdfjs_require__(85);\nvar _text = __w_pdfjs_require__(86);\nvar _xfa_object = __w_pdfjs_require__(87);\nfunction measureToString(m) {\n if (typeof m === \"string\") {\n return \"0px\";\n }\n return Number.isInteger(m) ? `${m}px` : `${m.toFixed(2)}px`;\n}\nconst converters = {\n anchorType(node, style) {\n const parent = node[_symbol_utils.$getSubformParent]();\n if (!parent || parent.layout && parent.layout !== \"position\") {\n return;\n }\n if (!(\"transform\" in style)) {\n style.transform = \"\";\n }\n switch (node.anchorType) {\n case \"bottomCenter\":\n style.transform += \"translate(-50%, -100%)\";\n break;\n case \"bottomLeft\":\n style.transform += \"translate(0,-100%)\";\n break;\n case \"bottomRight\":\n style.transform += \"translate(-100%,-100%)\";\n break;\n case \"middleCenter\":\n style.transform += \"translate(-50%,-50%)\";\n break;\n case \"middleLeft\":\n style.transform += \"translate(0,-50%)\";\n break;\n case \"middleRight\":\n style.transform += \"translate(-100%,-50%)\";\n break;\n case \"topCenter\":\n style.transform += \"translate(-50%,0)\";\n break;\n case \"topRight\":\n style.transform += \"translate(-100%,0)\";\n break;\n }\n },\n dimensions(node, style) {\n const parent = node[_symbol_utils.$getSubformParent]();\n let width = node.w;\n const height = node.h;\n if (parent.layout?.includes(\"row\")) {\n const extra = parent[_symbol_utils.$extra];\n const colSpan = node.colSpan;\n let w;\n if (colSpan === -1) {\n w = extra.columnWidths.slice(extra.currentColumn).reduce((a, x) => a + x, 0);\n extra.currentColumn = 0;\n } else {\n w = extra.columnWidths.slice(extra.currentColumn, extra.currentColumn + colSpan).reduce((a, x) => a + x, 0);\n extra.currentColumn = (extra.currentColumn + node.colSpan) % extra.columnWidths.length;\n }\n if (!isNaN(w)) {\n width = node.w = w;\n }\n }\n style.width = width !== \"\" ? measureToString(width) : \"auto\";\n style.height = height !== \"\" ? measureToString(height) : \"auto\";\n },\n position(node, style) {\n const parent = node[_symbol_utils.$getSubformParent]();\n if (parent?.layout && parent.layout !== \"position\") {\n return;\n }\n style.position = \"absolute\";\n style.left = measureToString(node.x);\n style.top = measureToString(node.y);\n },\n rotate(node, style) {\n if (node.rotate) {\n if (!(\"transform\" in style)) {\n style.transform = \"\";\n }\n style.transform += `rotate(-${node.rotate}deg)`;\n style.transformOrigin = \"top left\";\n }\n },\n presence(node, style) {\n switch (node.presence) {\n case \"invisible\":\n style.visibility = \"hidden\";\n break;\n case \"hidden\":\n case \"inactive\":\n style.display = \"none\";\n break;\n }\n },\n hAlign(node, style) {\n if (node[_symbol_utils.$nodeName] === \"para\") {\n switch (node.hAlign) {\n case \"justifyAll\":\n style.textAlign = \"justify-all\";\n break;\n case \"radix\":\n style.textAlign = \"left\";\n break;\n default:\n style.textAlign = node.hAlign;\n }\n } else {\n switch (node.hAlign) {\n case \"left\":\n style.alignSelf = \"start\";\n break;\n case \"center\":\n style.alignSelf = \"center\";\n break;\n case \"right\":\n style.alignSelf = \"end\";\n break;\n }\n }\n },\n margin(node, style) {\n if (node.margin) {\n style.margin = node.margin[_symbol_utils.$toStyle]().margin;\n }\n }\n};\nfunction setMinMaxDimensions(node, style) {\n const parent = node[_symbol_utils.$getSubformParent]();\n if (parent.layout === \"position\") {\n if (node.minW > 0) {\n style.minWidth = measureToString(node.minW);\n }\n if (node.maxW > 0) {\n style.maxWidth = measureToString(node.maxW);\n }\n if (node.minH > 0) {\n style.minHeight = measureToString(node.minH);\n }\n if (node.maxH > 0) {\n style.maxHeight = measureToString(node.maxH);\n }\n }\n}\nfunction layoutText(text, xfaFont, margin, lineHeight, fontFinder, width) {\n const measure = new _text.TextMeasure(xfaFont, margin, lineHeight, fontFinder);\n if (typeof text === \"string\") {\n measure.addString(text);\n } else {\n text[_symbol_utils.$pushGlyphs](measure);\n }\n return measure.compute(width);\n}\nfunction layoutNode(node, availableSpace) {\n let height = null;\n let width = null;\n let isBroken = false;\n if ((!node.w || !node.h) && node.value) {\n let marginH = 0;\n let marginV = 0;\n if (node.margin) {\n marginH = node.margin.leftInset + node.margin.rightInset;\n marginV = node.margin.topInset + node.margin.bottomInset;\n }\n let lineHeight = null;\n let margin = null;\n if (node.para) {\n margin = Object.create(null);\n lineHeight = node.para.lineHeight === \"\" ? null : node.para.lineHeight;\n margin.top = node.para.spaceAbove === \"\" ? 0 : node.para.spaceAbove;\n margin.bottom = node.para.spaceBelow === \"\" ? 0 : node.para.spaceBelow;\n margin.left = node.para.marginLeft === \"\" ? 0 : node.para.marginLeft;\n margin.right = node.para.marginRight === \"\" ? 0 : node.para.marginRight;\n }\n let font = node.font;\n if (!font) {\n const root = node[_symbol_utils.$getTemplateRoot]();\n let parent = node[_symbol_utils.$getParent]();\n while (parent && parent !== root) {\n if (parent.font) {\n font = parent.font;\n break;\n }\n parent = parent[_symbol_utils.$getParent]();\n }\n }\n const maxWidth = (node.w || availableSpace.width) - marginH;\n const fontFinder = node[_symbol_utils.$globalData].fontFinder;\n if (node.value.exData && node.value.exData[_symbol_utils.$content] && node.value.exData.contentType === \"text/html\") {\n const res = layoutText(node.value.exData[_symbol_utils.$content], font, margin, lineHeight, fontFinder, maxWidth);\n width = res.width;\n height = res.height;\n isBroken = res.isBroken;\n } else {\n const text = node.value[_symbol_utils.$text]();\n if (text) {\n const res = layoutText(text, font, margin, lineHeight, fontFinder, maxWidth);\n width = res.width;\n height = res.height;\n isBroken = res.isBroken;\n }\n }\n if (width !== null && !node.w) {\n width += marginH;\n }\n if (height !== null && !node.h) {\n height += marginV;\n }\n }\n return {\n w: width,\n h: height,\n isBroken\n };\n}\nfunction computeBbox(node, html, availableSpace) {\n let bbox;\n if (node.w !== \"\" && node.h !== \"\") {\n bbox = [node.x, node.y, node.w, node.h];\n } else {\n if (!availableSpace) {\n return null;\n }\n let width = node.w;\n if (width === \"\") {\n if (node.maxW === 0) {\n const parent = node[_symbol_utils.$getSubformParent]();\n width = parent.layout === \"position\" && parent.w !== \"\" ? 0 : node.minW;\n } else {\n width = Math.min(node.maxW, availableSpace.width);\n }\n html.attributes.style.width = measureToString(width);\n }\n let height = node.h;\n if (height === \"\") {\n if (node.maxH === 0) {\n const parent = node[_symbol_utils.$getSubformParent]();\n height = parent.layout === \"position\" && parent.h !== \"\" ? 0 : node.minH;\n } else {\n height = Math.min(node.maxH, availableSpace.height);\n }\n html.attributes.style.height = measureToString(height);\n }\n bbox = [node.x, node.y, width, height];\n }\n return bbox;\n}\nfunction fixDimensions(node) {\n const parent = node[_symbol_utils.$getSubformParent]();\n if (parent.layout?.includes(\"row\")) {\n const extra = parent[_symbol_utils.$extra];\n const colSpan = node.colSpan;\n let width;\n if (colSpan === -1) {\n width = extra.columnWidths.slice(extra.currentColumn).reduce((a, w) => a + w, 0);\n } else {\n width = extra.columnWidths.slice(extra.currentColumn, extra.currentColumn + colSpan).reduce((a, w) => a + w, 0);\n }\n if (!isNaN(width)) {\n node.w = width;\n }\n }\n if (parent.layout && parent.layout !== \"position\") {\n node.x = node.y = 0;\n }\n if (node.layout === \"table\") {\n if (node.w === \"\" && Array.isArray(node.columnWidths)) {\n node.w = node.columnWidths.reduce((a, x) => a + x, 0);\n }\n }\n}\nfunction layoutClass(node) {\n switch (node.layout) {\n case \"position\":\n return \"xfaPosition\";\n case \"lr-tb\":\n return \"xfaLrTb\";\n case \"rl-row\":\n return \"xfaRlRow\";\n case \"rl-tb\":\n return \"xfaRlTb\";\n case \"row\":\n return \"xfaRow\";\n case \"table\":\n return \"xfaTable\";\n case \"tb\":\n return \"xfaTb\";\n default:\n return \"xfaPosition\";\n }\n}\nfunction toStyle(node, ...names) {\n const style = Object.create(null);\n for (const name of names) {\n const value = node[name];\n if (value === null) {\n continue;\n }\n if (converters.hasOwnProperty(name)) {\n converters[name](node, style);\n continue;\n }\n if (value instanceof _xfa_object.XFAObject) {\n const newStyle = value[_symbol_utils.$toStyle]();\n if (newStyle) {\n Object.assign(style, newStyle);\n } else {\n (0, _util.warn)(`(DEBUG) - XFA - style for ${name} not implemented yet`);\n }\n }\n }\n return style;\n}\nfunction createWrapper(node, html) {\n const {\n attributes\n } = html;\n const {\n style\n } = attributes;\n const wrapper = {\n name: \"div\",\n attributes: {\n class: [\"xfaWrapper\"],\n style: Object.create(null)\n },\n children: []\n };\n attributes.class.push(\"xfaWrapped\");\n if (node.border) {\n const {\n widths,\n insets\n } = node.border[_symbol_utils.$extra];\n let width, height;\n let top = insets[0];\n let left = insets[3];\n const insetsH = insets[0] + insets[2];\n const insetsW = insets[1] + insets[3];\n switch (node.border.hand) {\n case \"even\":\n top -= widths[0] / 2;\n left -= widths[3] / 2;\n width = `calc(100% + ${(widths[1] + widths[3]) / 2 - insetsW}px)`;\n height = `calc(100% + ${(widths[0] + widths[2]) / 2 - insetsH}px)`;\n break;\n case \"left\":\n top -= widths[0];\n left -= widths[3];\n width = `calc(100% + ${widths[1] + widths[3] - insetsW}px)`;\n height = `calc(100% + ${widths[0] + widths[2] - insetsH}px)`;\n break;\n case \"right\":\n width = insetsW ? `calc(100% - ${insetsW}px)` : \"100%\";\n height = insetsH ? `calc(100% - ${insetsH}px)` : \"100%\";\n break;\n }\n const classNames = [\"xfaBorder\"];\n if (isPrintOnly(node.border)) {\n classNames.push(\"xfaPrintOnly\");\n }\n const border = {\n name: \"div\",\n attributes: {\n class: classNames,\n style: {\n top: `${top}px`,\n left: `${left}px`,\n width,\n height\n }\n },\n children: []\n };\n for (const key of [\"border\", \"borderWidth\", \"borderColor\", \"borderRadius\", \"borderStyle\"]) {\n if (style[key] !== undefined) {\n border.attributes.style[key] = style[key];\n delete style[key];\n }\n }\n wrapper.children.push(border, html);\n } else {\n wrapper.children.push(html);\n }\n for (const key of [\"background\", \"backgroundClip\", \"top\", \"left\", \"width\", \"height\", \"minWidth\", \"minHeight\", \"maxWidth\", \"maxHeight\", \"transform\", \"transformOrigin\", \"visibility\"]) {\n if (style[key] !== undefined) {\n wrapper.attributes.style[key] = style[key];\n delete style[key];\n }\n }\n wrapper.attributes.style.position = style.position === \"absolute\" ? \"absolute\" : \"relative\";\n delete style.position;\n if (style.alignSelf) {\n wrapper.attributes.style.alignSelf = style.alignSelf;\n delete style.alignSelf;\n }\n return wrapper;\n}\nfunction fixTextIndent(styles) {\n const indent = (0, _utils.getMeasurement)(styles.textIndent, \"0px\");\n if (indent >= 0) {\n return;\n }\n const align = styles.textAlign === \"right\" ? \"right\" : \"left\";\n const name = \"padding\" + (align === \"left\" ? \"Left\" : \"Right\");\n const padding = (0, _utils.getMeasurement)(styles[name], \"0px\");\n styles[name] = `${padding - indent}px`;\n}\nfunction setAccess(node, classNames) {\n switch (node.access) {\n case \"nonInteractive\":\n classNames.push(\"xfaNonInteractive\");\n break;\n case \"readOnly\":\n classNames.push(\"xfaReadOnly\");\n break;\n case \"protected\":\n classNames.push(\"xfaDisabled\");\n break;\n }\n}\nfunction isPrintOnly(node) {\n return node.relevant.length > 0 && !node.relevant[0].excluded && node.relevant[0].viewname === \"print\";\n}\nfunction getCurrentPara(node) {\n const stack = node[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].paraStack;\n return stack.length ? stack.at(-1) : null;\n}\nfunction setPara(node, nodeStyle, value) {\n if (value.attributes.class?.includes(\"xfaRich\")) {\n if (nodeStyle) {\n if (node.h === \"\") {\n nodeStyle.height = \"auto\";\n }\n if (node.w === \"\") {\n nodeStyle.width = \"auto\";\n }\n }\n const para = getCurrentPara(node);\n if (para) {\n const valueStyle = value.attributes.style;\n valueStyle.display = \"flex\";\n valueStyle.flexDirection = \"column\";\n switch (para.vAlign) {\n case \"top\":\n valueStyle.justifyContent = \"start\";\n break;\n case \"bottom\":\n valueStyle.justifyContent = \"end\";\n break;\n case \"middle\":\n valueStyle.justifyContent = \"center\";\n break;\n }\n const paraStyle = para[_symbol_utils.$toStyle]();\n for (const [key, val] of Object.entries(paraStyle)) {\n if (!(key in valueStyle)) {\n valueStyle[key] = val;\n }\n }\n }\n }\n}\nfunction setFontFamily(xfaFont, node, fontFinder, style) {\n if (!fontFinder) {\n delete style.fontFamily;\n return;\n }\n const name = (0, _utils.stripQuotes)(xfaFont.typeface);\n style.fontFamily = `\"${name}\"`;\n const typeface = fontFinder.find(name);\n if (typeface) {\n const {\n fontFamily\n } = typeface.regular.cssFontInfo;\n if (fontFamily !== name) {\n style.fontFamily = `\"${fontFamily}\"`;\n }\n const para = getCurrentPara(node);\n if (para && para.lineHeight !== \"\") {\n return;\n }\n if (style.lineHeight) {\n return;\n }\n const pdfFont = (0, _fonts.selectFont)(xfaFont, typeface);\n if (pdfFont) {\n style.lineHeight = Math.max(1.2, pdfFont.lineHeight);\n }\n }\n}\nfunction fixURL(str) {\n const absoluteUrl = (0, _util.createValidAbsoluteUrl)(str, null, {\n addDefaultProtocol: true,\n tryConvertEncoding: true\n });\n return absoluteUrl ? absoluteUrl.href : null;\n}\n\n/***/ }),\n/* 84 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.HTMLResult = void 0;\nexports.getBBox = getBBox;\nexports.getColor = getColor;\nexports.getFloat = getFloat;\nexports.getInteger = getInteger;\nexports.getKeyword = getKeyword;\nexports.getMeasurement = getMeasurement;\nexports.getRatio = getRatio;\nexports.getRelevant = getRelevant;\nexports.getStringOption = getStringOption;\nexports.stripQuotes = stripQuotes;\nvar _util = __w_pdfjs_require__(2);\nconst dimConverters = {\n pt: x => x,\n cm: x => x / 2.54 * 72,\n mm: x => x / (10 * 2.54) * 72,\n in: x => x * 72,\n px: x => x\n};\nconst measurementPattern = /([+-]?\\d+\\.?\\d*)(.*)/;\nfunction stripQuotes(str) {\n if (str.startsWith(\"'\") || str.startsWith('\"')) {\n return str.slice(1, -1);\n }\n return str;\n}\nfunction getInteger({\n data,\n defaultValue,\n validate\n}) {\n if (!data) {\n return defaultValue;\n }\n data = data.trim();\n const n = parseInt(data, 10);\n if (!isNaN(n) && validate(n)) {\n return n;\n }\n return defaultValue;\n}\nfunction getFloat({\n data,\n defaultValue,\n validate\n}) {\n if (!data) {\n return defaultValue;\n }\n data = data.trim();\n const n = parseFloat(data);\n if (!isNaN(n) && validate(n)) {\n return n;\n }\n return defaultValue;\n}\nfunction getKeyword({\n data,\n defaultValue,\n validate\n}) {\n if (!data) {\n return defaultValue;\n }\n data = data.trim();\n if (validate(data)) {\n return data;\n }\n return defaultValue;\n}\nfunction getStringOption(data, options) {\n return getKeyword({\n data,\n defaultValue: options[0],\n validate: k => options.includes(k)\n });\n}\nfunction getMeasurement(str, def = \"0\") {\n def ||= \"0\";\n if (!str) {\n return getMeasurement(def);\n }\n const match = str.trim().match(measurementPattern);\n if (!match) {\n return getMeasurement(def);\n }\n const [, valueStr, unit] = match;\n const value = parseFloat(valueStr);\n if (isNaN(value)) {\n return getMeasurement(def);\n }\n if (value === 0) {\n return 0;\n }\n const conv = dimConverters[unit];\n if (conv) {\n return conv(value);\n }\n return value;\n}\nfunction getRatio(data) {\n if (!data) {\n return {\n num: 1,\n den: 1\n };\n }\n const ratio = data.trim().split(/\\s*:\\s*/).map(x => parseFloat(x)).filter(x => !isNaN(x));\n if (ratio.length === 1) {\n ratio.push(1);\n }\n if (ratio.length === 0) {\n return {\n num: 1,\n den: 1\n };\n }\n const [num, den] = ratio;\n return {\n num,\n den\n };\n}\nfunction getRelevant(data) {\n if (!data) {\n return [];\n }\n return data.trim().split(/\\s+/).map(e => {\n return {\n excluded: e[0] === \"-\",\n viewname: e.substring(1)\n };\n });\n}\nfunction getColor(data, def = [0, 0, 0]) {\n let [r, g, b] = def;\n if (!data) {\n return {\n r,\n g,\n b\n };\n }\n const color = data.trim().split(/\\s*,\\s*/).map(c => Math.min(Math.max(0, parseInt(c.trim(), 10)), 255)).map(c => isNaN(c) ? 0 : c);\n if (color.length < 3) {\n return {\n r,\n g,\n b\n };\n }\n [r, g, b] = color;\n return {\n r,\n g,\n b\n };\n}\nfunction getBBox(data) {\n const def = -1;\n if (!data) {\n return {\n x: def,\n y: def,\n width: def,\n height: def\n };\n }\n const bbox = data.trim().split(/\\s*,\\s*/).map(m => getMeasurement(m, \"-1\"));\n if (bbox.length < 4 || bbox[2] < 0 || bbox[3] < 0) {\n return {\n x: def,\n y: def,\n width: def,\n height: def\n };\n }\n const [x, y, width, height] = bbox;\n return {\n x,\n y,\n width,\n height\n };\n}\nclass HTMLResult {\n static get FAILURE() {\n return (0, _util.shadow)(this, \"FAILURE\", new HTMLResult(false, null, null, null));\n }\n static get EMPTY() {\n return (0, _util.shadow)(this, \"EMPTY\", new HTMLResult(true, null, null, null));\n }\n constructor(success, html, bbox, breakNode) {\n this.success = success;\n this.html = html;\n this.bbox = bbox;\n this.breakNode = breakNode;\n }\n isBreak() {\n return !!this.breakNode;\n }\n static breakNode(node) {\n return new HTMLResult(false, null, null, node);\n }\n static success(html, bbox = null) {\n return new HTMLResult(true, html, bbox, null);\n }\n}\nexports.HTMLResult = HTMLResult;\n\n/***/ }),\n/* 85 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontFinder = void 0;\nexports.getMetrics = getMetrics;\nexports.selectFont = selectFont;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _utils = __w_pdfjs_require__(84);\nvar _util = __w_pdfjs_require__(2);\nclass FontFinder {\n constructor(pdfFonts) {\n this.fonts = new Map();\n this.cache = new Map();\n this.warned = new Set();\n this.defaultFont = null;\n this.add(pdfFonts);\n }\n add(pdfFonts, reallyMissingFonts = null) {\n for (const pdfFont of pdfFonts) {\n this.addPdfFont(pdfFont);\n }\n for (const pdfFont of this.fonts.values()) {\n if (!pdfFont.regular) {\n pdfFont.regular = pdfFont.italic || pdfFont.bold || pdfFont.bolditalic;\n }\n }\n if (!reallyMissingFonts || reallyMissingFonts.size === 0) {\n return;\n }\n const myriad = this.fonts.get(\"PdfJS-Fallback-PdfJS-XFA\");\n for (const missing of reallyMissingFonts) {\n this.fonts.set(missing, myriad);\n }\n }\n addPdfFont(pdfFont) {\n const cssFontInfo = pdfFont.cssFontInfo;\n const name = cssFontInfo.fontFamily;\n let font = this.fonts.get(name);\n if (!font) {\n font = Object.create(null);\n this.fonts.set(name, font);\n if (!this.defaultFont) {\n this.defaultFont = font;\n }\n }\n let property = \"\";\n const fontWeight = parseFloat(cssFontInfo.fontWeight);\n if (parseFloat(cssFontInfo.italicAngle) !== 0) {\n property = fontWeight >= 700 ? \"bolditalic\" : \"italic\";\n } else if (fontWeight >= 700) {\n property = \"bold\";\n }\n if (!property) {\n if (pdfFont.name.includes(\"Bold\") || pdfFont.psName?.includes(\"Bold\")) {\n property = \"bold\";\n }\n if (pdfFont.name.includes(\"Italic\") || pdfFont.name.endsWith(\"It\") || pdfFont.psName?.includes(\"Italic\") || pdfFont.psName?.endsWith(\"It\")) {\n property += \"italic\";\n }\n }\n if (!property) {\n property = \"regular\";\n }\n font[property] = pdfFont;\n }\n getDefault() {\n return this.defaultFont;\n }\n find(fontName, mustWarn = true) {\n let font = this.fonts.get(fontName) || this.cache.get(fontName);\n if (font) {\n return font;\n }\n const pattern = /,|-|_| |bolditalic|bold|italic|regular|it/gi;\n let name = fontName.replaceAll(pattern, \"\");\n font = this.fonts.get(name);\n if (font) {\n this.cache.set(fontName, font);\n return font;\n }\n name = name.toLowerCase();\n const maybe = [];\n for (const [family, pdfFont] of this.fonts.entries()) {\n if (family.replaceAll(pattern, \"\").toLowerCase().startsWith(name)) {\n maybe.push(pdfFont);\n }\n }\n if (maybe.length === 0) {\n for (const [, pdfFont] of this.fonts.entries()) {\n if (pdfFont.regular.name?.replaceAll(pattern, \"\").toLowerCase().startsWith(name)) {\n maybe.push(pdfFont);\n }\n }\n }\n if (maybe.length === 0) {\n name = name.replaceAll(/psmt|mt/gi, \"\");\n for (const [family, pdfFont] of this.fonts.entries()) {\n if (family.replaceAll(pattern, \"\").toLowerCase().startsWith(name)) {\n maybe.push(pdfFont);\n }\n }\n }\n if (maybe.length === 0) {\n for (const pdfFont of this.fonts.values()) {\n if (pdfFont.regular.name?.replaceAll(pattern, \"\").toLowerCase().startsWith(name)) {\n maybe.push(pdfFont);\n }\n }\n }\n if (maybe.length >= 1) {\n if (maybe.length !== 1 && mustWarn) {\n (0, _util.warn)(`XFA - Too many choices to guess the correct font: ${fontName}`);\n }\n this.cache.set(fontName, maybe[0]);\n return maybe[0];\n }\n if (mustWarn && !this.warned.has(fontName)) {\n this.warned.add(fontName);\n (0, _util.warn)(`XFA - Cannot find the font: ${fontName}`);\n }\n return null;\n }\n}\nexports.FontFinder = FontFinder;\nfunction selectFont(xfaFont, typeface) {\n if (xfaFont.posture === \"italic\") {\n if (xfaFont.weight === \"bold\") {\n return typeface.bolditalic;\n }\n return typeface.italic;\n } else if (xfaFont.weight === \"bold\") {\n return typeface.bold;\n }\n return typeface.regular;\n}\nfunction getMetrics(xfaFont, real = false) {\n let pdfFont = null;\n if (xfaFont) {\n const name = (0, _utils.stripQuotes)(xfaFont.typeface);\n const typeface = xfaFont[_symbol_utils.$globalData].fontFinder.find(name);\n pdfFont = selectFont(xfaFont, typeface);\n }\n if (!pdfFont) {\n return {\n lineHeight: 12,\n lineGap: 2,\n lineNoGap: 10\n };\n }\n const size = xfaFont.size || 10;\n const lineHeight = pdfFont.lineHeight ? Math.max(real ? 0 : 1.2, pdfFont.lineHeight) : 1.2;\n const lineGap = pdfFont.lineGap === undefined ? 0.2 : pdfFont.lineGap;\n return {\n lineHeight: lineHeight * size,\n lineGap: lineGap * size,\n lineNoGap: Math.max(1, lineHeight - lineGap) * size\n };\n}\n\n/***/ }),\n/* 86 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextMeasure = void 0;\nvar _fonts = __w_pdfjs_require__(85);\nconst WIDTH_FACTOR = 1.02;\nclass FontInfo {\n constructor(xfaFont, margin, lineHeight, fontFinder) {\n this.lineHeight = lineHeight;\n this.paraMargin = margin || {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n if (!xfaFont) {\n [this.pdfFont, this.xfaFont] = this.defaultFont(fontFinder);\n return;\n }\n this.xfaFont = {\n typeface: xfaFont.typeface,\n posture: xfaFont.posture,\n weight: xfaFont.weight,\n size: xfaFont.size,\n letterSpacing: xfaFont.letterSpacing\n };\n const typeface = fontFinder.find(xfaFont.typeface);\n if (!typeface) {\n [this.pdfFont, this.xfaFont] = this.defaultFont(fontFinder);\n return;\n }\n this.pdfFont = (0, _fonts.selectFont)(xfaFont, typeface);\n if (!this.pdfFont) {\n [this.pdfFont, this.xfaFont] = this.defaultFont(fontFinder);\n }\n }\n defaultFont(fontFinder) {\n const font = fontFinder.find(\"Helvetica\", false) || fontFinder.find(\"Myriad Pro\", false) || fontFinder.find(\"Arial\", false) || fontFinder.getDefault();\n if (font?.regular) {\n const pdfFont = font.regular;\n const info = pdfFont.cssFontInfo;\n const xfaFont = {\n typeface: info.fontFamily,\n posture: \"normal\",\n weight: \"normal\",\n size: 10,\n letterSpacing: 0\n };\n return [pdfFont, xfaFont];\n }\n const xfaFont = {\n typeface: \"Courier\",\n posture: \"normal\",\n weight: \"normal\",\n size: 10,\n letterSpacing: 0\n };\n return [null, xfaFont];\n }\n}\nclass FontSelector {\n constructor(defaultXfaFont, defaultParaMargin, defaultLineHeight, fontFinder) {\n this.fontFinder = fontFinder;\n this.stack = [new FontInfo(defaultXfaFont, defaultParaMargin, defaultLineHeight, fontFinder)];\n }\n pushData(xfaFont, margin, lineHeight) {\n const lastFont = this.stack.at(-1);\n for (const name of [\"typeface\", \"posture\", \"weight\", \"size\", \"letterSpacing\"]) {\n if (!xfaFont[name]) {\n xfaFont[name] = lastFont.xfaFont[name];\n }\n }\n for (const name of [\"top\", \"bottom\", \"left\", \"right\"]) {\n if (isNaN(margin[name])) {\n margin[name] = lastFont.paraMargin[name];\n }\n }\n const fontInfo = new FontInfo(xfaFont, margin, lineHeight || lastFont.lineHeight, this.fontFinder);\n if (!fontInfo.pdfFont) {\n fontInfo.pdfFont = lastFont.pdfFont;\n }\n this.stack.push(fontInfo);\n }\n popFont() {\n this.stack.pop();\n }\n topFont() {\n return this.stack.at(-1);\n }\n}\nclass TextMeasure {\n constructor(defaultXfaFont, defaultParaMargin, defaultLineHeight, fonts) {\n this.glyphs = [];\n this.fontSelector = new FontSelector(defaultXfaFont, defaultParaMargin, defaultLineHeight, fonts);\n this.extraHeight = 0;\n }\n pushData(xfaFont, margin, lineHeight) {\n this.fontSelector.pushData(xfaFont, margin, lineHeight);\n }\n popFont(xfaFont) {\n return this.fontSelector.popFont();\n }\n addPara() {\n const lastFont = this.fontSelector.topFont();\n this.extraHeight += lastFont.paraMargin.top + lastFont.paraMargin.bottom;\n }\n addString(str) {\n if (!str) {\n return;\n }\n const lastFont = this.fontSelector.topFont();\n const fontSize = lastFont.xfaFont.size;\n if (lastFont.pdfFont) {\n const letterSpacing = lastFont.xfaFont.letterSpacing;\n const pdfFont = lastFont.pdfFont;\n const fontLineHeight = pdfFont.lineHeight || 1.2;\n const lineHeight = lastFont.lineHeight || Math.max(1.2, fontLineHeight) * fontSize;\n const lineGap = pdfFont.lineGap === undefined ? 0.2 : pdfFont.lineGap;\n const noGap = fontLineHeight - lineGap;\n const firstLineHeight = Math.max(1, noGap) * fontSize;\n const scale = fontSize / 1000;\n const fallbackWidth = pdfFont.defaultWidth || pdfFont.charsToGlyphs(\" \")[0].width;\n for (const line of str.split(/[\\u2029\\n]/)) {\n const encodedLine = pdfFont.encodeString(line).join(\"\");\n const glyphs = pdfFont.charsToGlyphs(encodedLine);\n for (const glyph of glyphs) {\n const width = glyph.width || fallbackWidth;\n this.glyphs.push([width * scale + letterSpacing, lineHeight, firstLineHeight, glyph.unicode, false]);\n }\n this.glyphs.push([0, 0, 0, \"\\n\", true]);\n }\n this.glyphs.pop();\n return;\n }\n for (const line of str.split(/[\\u2029\\n]/)) {\n for (const char of line.split(\"\")) {\n this.glyphs.push([fontSize, 1.2 * fontSize, fontSize, char, false]);\n }\n this.glyphs.push([0, 0, 0, \"\\n\", true]);\n }\n this.glyphs.pop();\n }\n compute(maxWidth) {\n let lastSpacePos = -1,\n lastSpaceWidth = 0,\n width = 0,\n height = 0,\n currentLineWidth = 0,\n currentLineHeight = 0;\n let isBroken = false;\n let isFirstLine = true;\n for (let i = 0, ii = this.glyphs.length; i < ii; i++) {\n const [glyphWidth, lineHeight, firstLineHeight, char, isEOL] = this.glyphs[i];\n const isSpace = char === \" \";\n const glyphHeight = isFirstLine ? firstLineHeight : lineHeight;\n if (isEOL) {\n width = Math.max(width, currentLineWidth);\n currentLineWidth = 0;\n height += currentLineHeight;\n currentLineHeight = glyphHeight;\n lastSpacePos = -1;\n lastSpaceWidth = 0;\n isFirstLine = false;\n continue;\n }\n if (isSpace) {\n if (currentLineWidth + glyphWidth > maxWidth) {\n width = Math.max(width, currentLineWidth);\n currentLineWidth = 0;\n height += currentLineHeight;\n currentLineHeight = glyphHeight;\n lastSpacePos = -1;\n lastSpaceWidth = 0;\n isBroken = true;\n isFirstLine = false;\n } else {\n currentLineHeight = Math.max(glyphHeight, currentLineHeight);\n lastSpaceWidth = currentLineWidth;\n currentLineWidth += glyphWidth;\n lastSpacePos = i;\n }\n continue;\n }\n if (currentLineWidth + glyphWidth > maxWidth) {\n height += currentLineHeight;\n currentLineHeight = glyphHeight;\n if (lastSpacePos !== -1) {\n i = lastSpacePos;\n width = Math.max(width, lastSpaceWidth);\n currentLineWidth = 0;\n lastSpacePos = -1;\n lastSpaceWidth = 0;\n } else {\n width = Math.max(width, currentLineWidth);\n currentLineWidth = glyphWidth;\n }\n isBroken = true;\n isFirstLine = false;\n continue;\n }\n currentLineWidth += glyphWidth;\n currentLineHeight = Math.max(glyphHeight, currentLineHeight);\n }\n width = Math.max(width, currentLineWidth);\n height += currentLineHeight + this.extraHeight;\n return {\n width: WIDTH_FACTOR * width,\n height,\n isBroken\n };\n }\n}\nexports.TextMeasure = TextMeasure;\n\n/***/ }),\n/* 87 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XmlObject = exports.XFAObjectArray = exports.XFAObject = exports.XFAAttribute = exports.StringObject = exports.OptionObject = exports.Option10 = exports.Option01 = exports.IntegerObject = exports.ContentObject = void 0;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _utils = __w_pdfjs_require__(84);\nvar _util = __w_pdfjs_require__(2);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _namespaces = __w_pdfjs_require__(81);\nvar _som = __w_pdfjs_require__(88);\nconst _applyPrototype = Symbol();\nconst _attributes = Symbol();\nconst _attributeNames = Symbol();\nconst _children = Symbol(\"_children\");\nconst _cloneAttribute = Symbol();\nconst _dataValue = Symbol();\nconst _defaultValue = Symbol();\nconst _filteredChildrenGenerator = Symbol();\nconst _getPrototype = Symbol();\nconst _getUnsetAttributes = Symbol();\nconst _hasChildren = Symbol();\nconst _max = Symbol();\nconst _options = Symbol();\nconst _parent = Symbol(\"parent\");\nconst _resolvePrototypesHelper = Symbol();\nconst _setAttributes = Symbol();\nconst _validator = Symbol();\nlet uid = 0;\nconst NS_DATASETS = _namespaces.NamespaceIds.datasets.id;\nclass XFAObject {\n constructor(nsId, name, hasChildren = false) {\n this[_symbol_utils.$namespaceId] = nsId;\n this[_symbol_utils.$nodeName] = name;\n this[_hasChildren] = hasChildren;\n this[_parent] = null;\n this[_children] = [];\n this[_symbol_utils.$uid] = `${name}${uid++}`;\n this[_symbol_utils.$globalData] = null;\n }\n get isXFAObject() {\n return true;\n }\n get isXFAObjectArray() {\n return false;\n }\n createNodes(path) {\n let root = this,\n node = null;\n for (const {\n name,\n index\n } of path) {\n for (let i = 0, ii = isFinite(index) ? index : 0; i <= ii; i++) {\n const nsId = root[_symbol_utils.$namespaceId] === NS_DATASETS ? -1 : root[_symbol_utils.$namespaceId];\n node = new XmlObject(nsId, name);\n root[_symbol_utils.$appendChild](node);\n }\n root = node;\n }\n return node;\n }\n [_symbol_utils.$onChild](child) {\n if (!this[_hasChildren] || !this[_symbol_utils.$onChildCheck](child)) {\n return false;\n }\n const name = child[_symbol_utils.$nodeName];\n const node = this[name];\n if (node instanceof XFAObjectArray) {\n if (node.push(child)) {\n this[_symbol_utils.$appendChild](child);\n return true;\n }\n } else {\n if (node !== null) {\n this[_symbol_utils.$removeChild](node);\n }\n this[name] = child;\n this[_symbol_utils.$appendChild](child);\n return true;\n }\n let id = \"\";\n if (this.id) {\n id = ` (id: ${this.id})`;\n } else if (this.name) {\n id = ` (name: ${this.name} ${this.h.value})`;\n }\n (0, _util.warn)(`XFA - node \"${this[_symbol_utils.$nodeName]}\"${id} has already enough \"${name}\"!`);\n return false;\n }\n [_symbol_utils.$onChildCheck](child) {\n return this.hasOwnProperty(child[_symbol_utils.$nodeName]) && child[_symbol_utils.$namespaceId] === this[_symbol_utils.$namespaceId];\n }\n [_symbol_utils.$isNsAgnostic]() {\n return false;\n }\n [_symbol_utils.$acceptWhitespace]() {\n return false;\n }\n [_symbol_utils.$isCDATAXml]() {\n return false;\n }\n [_symbol_utils.$isBindable]() {\n return false;\n }\n [_symbol_utils.$popPara]() {\n if (this.para) {\n this[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].paraStack.pop();\n }\n }\n [_symbol_utils.$pushPara]() {\n this[_symbol_utils.$getTemplateRoot]()[_symbol_utils.$extra].paraStack.push(this.para);\n }\n [_symbol_utils.$setId](ids) {\n if (this.id && this[_symbol_utils.$namespaceId] === _namespaces.NamespaceIds.template.id) {\n ids.set(this.id, this);\n }\n }\n [_symbol_utils.$getTemplateRoot]() {\n return this[_symbol_utils.$globalData].template;\n }\n [_symbol_utils.$isSplittable]() {\n return false;\n }\n [_symbol_utils.$isThereMoreWidth]() {\n return false;\n }\n [_symbol_utils.$appendChild](child) {\n child[_parent] = this;\n this[_children].push(child);\n if (!child[_symbol_utils.$globalData] && this[_symbol_utils.$globalData]) {\n child[_symbol_utils.$globalData] = this[_symbol_utils.$globalData];\n }\n }\n [_symbol_utils.$removeChild](child) {\n const i = this[_children].indexOf(child);\n this[_children].splice(i, 1);\n }\n [_symbol_utils.$hasSettableValue]() {\n return this.hasOwnProperty(\"value\");\n }\n [_symbol_utils.$setValue](_) {}\n [_symbol_utils.$onText](_) {}\n [_symbol_utils.$finalize]() {}\n [_symbol_utils.$clean](builder) {\n delete this[_hasChildren];\n if (this[_symbol_utils.$cleanup]) {\n builder.clean(this[_symbol_utils.$cleanup]);\n delete this[_symbol_utils.$cleanup];\n }\n }\n [_symbol_utils.$indexOf](child) {\n return this[_children].indexOf(child);\n }\n [_symbol_utils.$insertAt](i, child) {\n child[_parent] = this;\n this[_children].splice(i, 0, child);\n if (!child[_symbol_utils.$globalData] && this[_symbol_utils.$globalData]) {\n child[_symbol_utils.$globalData] = this[_symbol_utils.$globalData];\n }\n }\n [_symbol_utils.$isTransparent]() {\n return !this.name;\n }\n [_symbol_utils.$lastAttribute]() {\n return \"\";\n }\n [_symbol_utils.$text]() {\n if (this[_children].length === 0) {\n return this[_symbol_utils.$content];\n }\n return this[_children].map(c => c[_symbol_utils.$text]()).join(\"\");\n }\n get [_attributeNames]() {\n const proto = Object.getPrototypeOf(this);\n if (!proto._attributes) {\n const attributes = proto._attributes = new Set();\n for (const name of Object.getOwnPropertyNames(this)) {\n if (this[name] === null || this[name] instanceof XFAObject || this[name] instanceof XFAObjectArray) {\n break;\n }\n attributes.add(name);\n }\n }\n return (0, _util.shadow)(this, _attributeNames, proto._attributes);\n }\n [_symbol_utils.$isDescendent](parent) {\n let node = this;\n while (node) {\n if (node === parent) {\n return true;\n }\n node = node[_symbol_utils.$getParent]();\n }\n return false;\n }\n [_symbol_utils.$getParent]() {\n return this[_parent];\n }\n [_symbol_utils.$getSubformParent]() {\n return this[_symbol_utils.$getParent]();\n }\n [_symbol_utils.$getChildren](name = null) {\n if (!name) {\n return this[_children];\n }\n return this[name];\n }\n [_symbol_utils.$dump]() {\n const dumped = Object.create(null);\n if (this[_symbol_utils.$content]) {\n dumped.$content = this[_symbol_utils.$content];\n }\n for (const name of Object.getOwnPropertyNames(this)) {\n const value = this[name];\n if (value === null) {\n continue;\n }\n if (value instanceof XFAObject) {\n dumped[name] = value[_symbol_utils.$dump]();\n } else if (value instanceof XFAObjectArray) {\n if (!value.isEmpty()) {\n dumped[name] = value.dump();\n }\n } else {\n dumped[name] = value;\n }\n }\n return dumped;\n }\n [_symbol_utils.$toStyle]() {\n return null;\n }\n [_symbol_utils.$toHTML]() {\n return _utils.HTMLResult.EMPTY;\n }\n *[_symbol_utils.$getContainedChildren]() {\n for (const node of this[_symbol_utils.$getChildren]()) {\n yield node;\n }\n }\n *[_filteredChildrenGenerator](filter, include) {\n for (const node of this[_symbol_utils.$getContainedChildren]()) {\n if (!filter || include === filter.has(node[_symbol_utils.$nodeName])) {\n const availableSpace = this[_symbol_utils.$getAvailableSpace]();\n const res = node[_symbol_utils.$toHTML](availableSpace);\n if (!res.success) {\n this[_symbol_utils.$extra].failingNode = node;\n }\n yield res;\n }\n }\n }\n [_symbol_utils.$flushHTML]() {\n return null;\n }\n [_symbol_utils.$addHTML](html, bbox) {\n this[_symbol_utils.$extra].children.push(html);\n }\n [_symbol_utils.$getAvailableSpace]() {}\n [_symbol_utils.$childrenToHTML]({\n filter = null,\n include = true\n }) {\n if (!this[_symbol_utils.$extra].generator) {\n this[_symbol_utils.$extra].generator = this[_filteredChildrenGenerator](filter, include);\n } else {\n const availableSpace = this[_symbol_utils.$getAvailableSpace]();\n const res = this[_symbol_utils.$extra].failingNode[_symbol_utils.$toHTML](availableSpace);\n if (!res.success) {\n return res;\n }\n if (res.html) {\n this[_symbol_utils.$addHTML](res.html, res.bbox);\n }\n delete this[_symbol_utils.$extra].failingNode;\n }\n while (true) {\n const gen = this[_symbol_utils.$extra].generator.next();\n if (gen.done) {\n break;\n }\n const res = gen.value;\n if (!res.success) {\n return res;\n }\n if (res.html) {\n this[_symbol_utils.$addHTML](res.html, res.bbox);\n }\n }\n this[_symbol_utils.$extra].generator = null;\n return _utils.HTMLResult.EMPTY;\n }\n [_symbol_utils.$setSetAttributes](attributes) {\n this[_setAttributes] = new Set(Object.keys(attributes));\n }\n [_getUnsetAttributes](protoAttributes) {\n const allAttr = this[_attributeNames];\n const setAttr = this[_setAttributes];\n return [...protoAttributes].filter(x => allAttr.has(x) && !setAttr.has(x));\n }\n [_symbol_utils.$resolvePrototypes](ids, ancestors = new Set()) {\n for (const child of this[_children]) {\n child[_resolvePrototypesHelper](ids, ancestors);\n }\n }\n [_resolvePrototypesHelper](ids, ancestors) {\n const proto = this[_getPrototype](ids, ancestors);\n if (proto) {\n this[_applyPrototype](proto, ids, ancestors);\n } else {\n this[_symbol_utils.$resolvePrototypes](ids, ancestors);\n }\n }\n [_getPrototype](ids, ancestors) {\n const {\n use,\n usehref\n } = this;\n if (!use && !usehref) {\n return null;\n }\n let proto = null;\n let somExpression = null;\n let id = null;\n let ref = use;\n if (usehref) {\n ref = usehref;\n if (usehref.startsWith(\"#som(\") && usehref.endsWith(\")\")) {\n somExpression = usehref.slice(\"#som(\".length, -1);\n } else if (usehref.startsWith(\".#som(\") && usehref.endsWith(\")\")) {\n somExpression = usehref.slice(\".#som(\".length, -1);\n } else if (usehref.startsWith(\"#\")) {\n id = usehref.slice(1);\n } else if (usehref.startsWith(\".#\")) {\n id = usehref.slice(2);\n }\n } else if (use.startsWith(\"#\")) {\n id = use.slice(1);\n } else {\n somExpression = use;\n }\n this.use = this.usehref = \"\";\n if (id) {\n proto = ids.get(id);\n } else {\n proto = (0, _som.searchNode)(ids.get(_symbol_utils.$root), this, somExpression, true, false);\n if (proto) {\n proto = proto[0];\n }\n }\n if (!proto) {\n (0, _util.warn)(`XFA - Invalid prototype reference: ${ref}.`);\n return null;\n }\n if (proto[_symbol_utils.$nodeName] !== this[_symbol_utils.$nodeName]) {\n (0, _util.warn)(`XFA - Incompatible prototype: ${proto[_symbol_utils.$nodeName]} !== ${this[_symbol_utils.$nodeName]}.`);\n return null;\n }\n if (ancestors.has(proto)) {\n (0, _util.warn)(`XFA - Cycle detected in prototypes use.`);\n return null;\n }\n ancestors.add(proto);\n const protoProto = proto[_getPrototype](ids, ancestors);\n if (protoProto) {\n proto[_applyPrototype](protoProto, ids, ancestors);\n }\n proto[_symbol_utils.$resolvePrototypes](ids, ancestors);\n ancestors.delete(proto);\n return proto;\n }\n [_applyPrototype](proto, ids, ancestors) {\n if (ancestors.has(proto)) {\n (0, _util.warn)(`XFA - Cycle detected in prototypes use.`);\n return;\n }\n if (!this[_symbol_utils.$content] && proto[_symbol_utils.$content]) {\n this[_symbol_utils.$content] = proto[_symbol_utils.$content];\n }\n const newAncestors = new Set(ancestors);\n newAncestors.add(proto);\n for (const unsetAttrName of this[_getUnsetAttributes](proto[_setAttributes])) {\n this[unsetAttrName] = proto[unsetAttrName];\n if (this[_setAttributes]) {\n this[_setAttributes].add(unsetAttrName);\n }\n }\n for (const name of Object.getOwnPropertyNames(this)) {\n if (this[_attributeNames].has(name)) {\n continue;\n }\n const value = this[name];\n const protoValue = proto[name];\n if (value instanceof XFAObjectArray) {\n for (const child of value[_children]) {\n child[_resolvePrototypesHelper](ids, ancestors);\n }\n for (let i = value[_children].length, ii = protoValue[_children].length; i < ii; i++) {\n const child = proto[_children][i][_symbol_utils.$clone]();\n if (value.push(child)) {\n child[_parent] = this;\n this[_children].push(child);\n child[_resolvePrototypesHelper](ids, ancestors);\n } else {\n break;\n }\n }\n continue;\n }\n if (value !== null) {\n value[_symbol_utils.$resolvePrototypes](ids, ancestors);\n if (protoValue) {\n value[_applyPrototype](protoValue, ids, ancestors);\n }\n continue;\n }\n if (protoValue !== null) {\n const child = protoValue[_symbol_utils.$clone]();\n child[_parent] = this;\n this[name] = child;\n this[_children].push(child);\n child[_resolvePrototypesHelper](ids, ancestors);\n }\n }\n }\n static [_cloneAttribute](obj) {\n if (Array.isArray(obj)) {\n return obj.map(x => XFAObject[_cloneAttribute](x));\n }\n if (typeof obj === \"object\" && obj !== null) {\n return Object.assign({}, obj);\n }\n return obj;\n }\n [_symbol_utils.$clone]() {\n const clone = Object.create(Object.getPrototypeOf(this));\n for (const $symbol of Object.getOwnPropertySymbols(this)) {\n try {\n clone[$symbol] = this[$symbol];\n } catch {\n (0, _util.shadow)(clone, $symbol, this[$symbol]);\n }\n }\n clone[_symbol_utils.$uid] = `${clone[_symbol_utils.$nodeName]}${uid++}`;\n clone[_children] = [];\n for (const name of Object.getOwnPropertyNames(this)) {\n if (this[_attributeNames].has(name)) {\n clone[name] = XFAObject[_cloneAttribute](this[name]);\n continue;\n }\n const value = this[name];\n clone[name] = value instanceof XFAObjectArray ? new XFAObjectArray(value[_max]) : null;\n }\n for (const child of this[_children]) {\n const name = child[_symbol_utils.$nodeName];\n const clonedChild = child[_symbol_utils.$clone]();\n clone[_children].push(clonedChild);\n clonedChild[_parent] = clone;\n if (clone[name] === null) {\n clone[name] = clonedChild;\n } else {\n clone[name][_children].push(clonedChild);\n }\n }\n return clone;\n }\n [_symbol_utils.$getChildren](name = null) {\n if (!name) {\n return this[_children];\n }\n return this[_children].filter(c => c[_symbol_utils.$nodeName] === name);\n }\n [_symbol_utils.$getChildrenByClass](name) {\n return this[name];\n }\n [_symbol_utils.$getChildrenByName](name, allTransparent, first = true) {\n return Array.from(this[_symbol_utils.$getChildrenByNameIt](name, allTransparent, first));\n }\n *[_symbol_utils.$getChildrenByNameIt](name, allTransparent, first = true) {\n if (name === \"parent\") {\n yield this[_parent];\n return;\n }\n for (const child of this[_children]) {\n if (child[_symbol_utils.$nodeName] === name) {\n yield child;\n }\n if (child.name === name) {\n yield child;\n }\n if (allTransparent || child[_symbol_utils.$isTransparent]()) {\n yield* child[_symbol_utils.$getChildrenByNameIt](name, allTransparent, false);\n }\n }\n if (first && this[_attributeNames].has(name)) {\n yield new XFAAttribute(this, name, this[name]);\n }\n }\n}\nexports.XFAObject = XFAObject;\nclass XFAObjectArray {\n constructor(max = Infinity) {\n this[_max] = max;\n this[_children] = [];\n }\n get isXFAObject() {\n return false;\n }\n get isXFAObjectArray() {\n return true;\n }\n push(child) {\n const len = this[_children].length;\n if (len <= this[_max]) {\n this[_children].push(child);\n return true;\n }\n (0, _util.warn)(`XFA - node \"${child[_symbol_utils.$nodeName]}\" accepts no more than ${this[_max]} children`);\n return false;\n }\n isEmpty() {\n return this[_children].length === 0;\n }\n dump() {\n return this[_children].length === 1 ? this[_children][0][_symbol_utils.$dump]() : this[_children].map(x => x[_symbol_utils.$dump]());\n }\n [_symbol_utils.$clone]() {\n const clone = new XFAObjectArray(this[_max]);\n clone[_children] = this[_children].map(c => c[_symbol_utils.$clone]());\n return clone;\n }\n get children() {\n return this[_children];\n }\n clear() {\n this[_children].length = 0;\n }\n}\nexports.XFAObjectArray = XFAObjectArray;\nclass XFAAttribute {\n constructor(node, name, value) {\n this[_parent] = node;\n this[_symbol_utils.$nodeName] = name;\n this[_symbol_utils.$content] = value;\n this[_symbol_utils.$consumed] = false;\n this[_symbol_utils.$uid] = `attribute${uid++}`;\n }\n [_symbol_utils.$getParent]() {\n return this[_parent];\n }\n [_symbol_utils.$isDataValue]() {\n return true;\n }\n [_symbol_utils.$getDataValue]() {\n return this[_symbol_utils.$content].trim();\n }\n [_symbol_utils.$setValue](value) {\n value = value.value || \"\";\n this[_symbol_utils.$content] = value.toString();\n }\n [_symbol_utils.$text]() {\n return this[_symbol_utils.$content];\n }\n [_symbol_utils.$isDescendent](parent) {\n return this[_parent] === parent || this[_parent][_symbol_utils.$isDescendent](parent);\n }\n}\nexports.XFAAttribute = XFAAttribute;\nclass XmlObject extends XFAObject {\n constructor(nsId, name, attributes = {}) {\n super(nsId, name);\n this[_symbol_utils.$content] = \"\";\n this[_dataValue] = null;\n if (name !== \"#text\") {\n const map = new Map();\n this[_attributes] = map;\n for (const [attrName, value] of Object.entries(attributes)) {\n map.set(attrName, new XFAAttribute(this, attrName, value));\n }\n if (attributes.hasOwnProperty(_symbol_utils.$nsAttributes)) {\n const dataNode = attributes[_symbol_utils.$nsAttributes].xfa.dataNode;\n if (dataNode !== undefined) {\n if (dataNode === \"dataGroup\") {\n this[_dataValue] = false;\n } else if (dataNode === \"dataValue\") {\n this[_dataValue] = true;\n }\n }\n }\n }\n this[_symbol_utils.$consumed] = false;\n }\n [_symbol_utils.$toString](buf) {\n const tagName = this[_symbol_utils.$nodeName];\n if (tagName === \"#text\") {\n buf.push((0, _core_utils.encodeToXmlString)(this[_symbol_utils.$content]));\n return;\n }\n const utf8TagName = (0, _util.utf8StringToString)(tagName);\n const prefix = this[_symbol_utils.$namespaceId] === NS_DATASETS ? \"xfa:\" : \"\";\n buf.push(`<${prefix}${utf8TagName}`);\n for (const [name, value] of this[_attributes].entries()) {\n const utf8Name = (0, _util.utf8StringToString)(name);\n buf.push(` ${utf8Name}=\"${(0, _core_utils.encodeToXmlString)(value[_symbol_utils.$content])}\"`);\n }\n if (this[_dataValue] !== null) {\n if (this[_dataValue]) {\n buf.push(` xfa:dataNode=\"dataValue\"`);\n } else {\n buf.push(` xfa:dataNode=\"dataGroup\"`);\n }\n }\n if (!this[_symbol_utils.$content] && this[_children].length === 0) {\n buf.push(\"/>\");\n return;\n }\n buf.push(\">\");\n if (this[_symbol_utils.$content]) {\n if (typeof this[_symbol_utils.$content] === \"string\") {\n buf.push((0, _core_utils.encodeToXmlString)(this[_symbol_utils.$content]));\n } else {\n this[_symbol_utils.$content][_symbol_utils.$toString](buf);\n }\n } else {\n for (const child of this[_children]) {\n child[_symbol_utils.$toString](buf);\n }\n }\n buf.push(``);\n }\n [_symbol_utils.$onChild](child) {\n if (this[_symbol_utils.$content]) {\n const node = new XmlObject(this[_symbol_utils.$namespaceId], \"#text\");\n this[_symbol_utils.$appendChild](node);\n node[_symbol_utils.$content] = this[_symbol_utils.$content];\n this[_symbol_utils.$content] = \"\";\n }\n this[_symbol_utils.$appendChild](child);\n return true;\n }\n [_symbol_utils.$onText](str) {\n this[_symbol_utils.$content] += str;\n }\n [_symbol_utils.$finalize]() {\n if (this[_symbol_utils.$content] && this[_children].length > 0) {\n const node = new XmlObject(this[_symbol_utils.$namespaceId], \"#text\");\n this[_symbol_utils.$appendChild](node);\n node[_symbol_utils.$content] = this[_symbol_utils.$content];\n delete this[_symbol_utils.$content];\n }\n }\n [_symbol_utils.$toHTML]() {\n if (this[_symbol_utils.$nodeName] === \"#text\") {\n return _utils.HTMLResult.success({\n name: \"#text\",\n value: this[_symbol_utils.$content]\n });\n }\n return _utils.HTMLResult.EMPTY;\n }\n [_symbol_utils.$getChildren](name = null) {\n if (!name) {\n return this[_children];\n }\n return this[_children].filter(c => c[_symbol_utils.$nodeName] === name);\n }\n [_symbol_utils.$getAttributes]() {\n return this[_attributes];\n }\n [_symbol_utils.$getChildrenByClass](name) {\n const value = this[_attributes].get(name);\n if (value !== undefined) {\n return value;\n }\n return this[_symbol_utils.$getChildren](name);\n }\n *[_symbol_utils.$getChildrenByNameIt](name, allTransparent) {\n const value = this[_attributes].get(name);\n if (value) {\n yield value;\n }\n for (const child of this[_children]) {\n if (child[_symbol_utils.$nodeName] === name) {\n yield child;\n }\n if (allTransparent) {\n yield* child[_symbol_utils.$getChildrenByNameIt](name, allTransparent);\n }\n }\n }\n *[_symbol_utils.$getAttributeIt](name, skipConsumed) {\n const value = this[_attributes].get(name);\n if (value && (!skipConsumed || !value[_symbol_utils.$consumed])) {\n yield value;\n }\n for (const child of this[_children]) {\n yield* child[_symbol_utils.$getAttributeIt](name, skipConsumed);\n }\n }\n *[_symbol_utils.$getRealChildrenByNameIt](name, allTransparent, skipConsumed) {\n for (const child of this[_children]) {\n if (child[_symbol_utils.$nodeName] === name && (!skipConsumed || !child[_symbol_utils.$consumed])) {\n yield child;\n }\n if (allTransparent) {\n yield* child[_symbol_utils.$getRealChildrenByNameIt](name, allTransparent, skipConsumed);\n }\n }\n }\n [_symbol_utils.$isDataValue]() {\n if (this[_dataValue] === null) {\n return this[_children].length === 0 || this[_children][0][_symbol_utils.$namespaceId] === _namespaces.NamespaceIds.xhtml.id;\n }\n return this[_dataValue];\n }\n [_symbol_utils.$getDataValue]() {\n if (this[_dataValue] === null) {\n if (this[_children].length === 0) {\n return this[_symbol_utils.$content].trim();\n }\n if (this[_children][0][_symbol_utils.$namespaceId] === _namespaces.NamespaceIds.xhtml.id) {\n return this[_children][0][_symbol_utils.$text]().trim();\n }\n return null;\n }\n return this[_symbol_utils.$content].trim();\n }\n [_symbol_utils.$setValue](value) {\n value = value.value || \"\";\n this[_symbol_utils.$content] = value.toString();\n }\n [_symbol_utils.$dump](hasNS = false) {\n const dumped = Object.create(null);\n if (hasNS) {\n dumped.$ns = this[_symbol_utils.$namespaceId];\n }\n if (this[_symbol_utils.$content]) {\n dumped.$content = this[_symbol_utils.$content];\n }\n dumped.$name = this[_symbol_utils.$nodeName];\n dumped.children = [];\n for (const child of this[_children]) {\n dumped.children.push(child[_symbol_utils.$dump](hasNS));\n }\n dumped.attributes = Object.create(null);\n for (const [name, value] of this[_attributes]) {\n dumped.attributes[name] = value[_symbol_utils.$content];\n }\n return dumped;\n }\n}\nexports.XmlObject = XmlObject;\nclass ContentObject extends XFAObject {\n constructor(nsId, name) {\n super(nsId, name);\n this[_symbol_utils.$content] = \"\";\n }\n [_symbol_utils.$onText](text) {\n this[_symbol_utils.$content] += text;\n }\n [_symbol_utils.$finalize]() {}\n}\nexports.ContentObject = ContentObject;\nclass OptionObject extends ContentObject {\n constructor(nsId, name, options) {\n super(nsId, name);\n this[_options] = options;\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = (0, _utils.getKeyword)({\n data: this[_symbol_utils.$content],\n defaultValue: this[_options][0],\n validate: k => this[_options].includes(k)\n });\n }\n [_symbol_utils.$clean](builder) {\n super[_symbol_utils.$clean](builder);\n delete this[_options];\n }\n}\nexports.OptionObject = OptionObject;\nclass StringObject extends ContentObject {\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = this[_symbol_utils.$content].trim();\n }\n}\nexports.StringObject = StringObject;\nclass IntegerObject extends ContentObject {\n constructor(nsId, name, defaultValue, validator) {\n super(nsId, name);\n this[_defaultValue] = defaultValue;\n this[_validator] = validator;\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = (0, _utils.getInteger)({\n data: this[_symbol_utils.$content],\n defaultValue: this[_defaultValue],\n validate: this[_validator]\n });\n }\n [_symbol_utils.$clean](builder) {\n super[_symbol_utils.$clean](builder);\n delete this[_defaultValue];\n delete this[_validator];\n }\n}\nexports.IntegerObject = IntegerObject;\nclass Option01 extends IntegerObject {\n constructor(nsId, name) {\n super(nsId, name, 0, n => n === 1);\n }\n}\nexports.Option01 = Option01;\nclass Option10 extends IntegerObject {\n constructor(nsId, name) {\n super(nsId, name, 1, n => n === 0);\n }\n}\nexports.Option10 = Option10;\n\n/***/ }),\n/* 88 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createDataNode = createDataNode;\nexports.searchNode = searchNode;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _util = __w_pdfjs_require__(2);\nconst namePattern = /^[^.[]+/;\nconst indexPattern = /^[^\\]]+/;\nconst operators = {\n dot: 0,\n dotDot: 1,\n dotHash: 2,\n dotBracket: 3,\n dotParen: 4\n};\nconst shortcuts = new Map([[\"$data\", (root, current) => root.datasets ? root.datasets.data : root], [\"$record\", (root, current) => (root.datasets ? root.datasets.data : root)[_symbol_utils.$getChildren]()[0]], [\"$template\", (root, current) => root.template], [\"$connectionSet\", (root, current) => root.connectionSet], [\"$form\", (root, current) => root.form], [\"$layout\", (root, current) => root.layout], [\"$host\", (root, current) => root.host], [\"$dataWindow\", (root, current) => root.dataWindow], [\"$event\", (root, current) => root.event], [\"!\", (root, current) => root.datasets], [\"$xfa\", (root, current) => root], [\"xfa\", (root, current) => root], [\"$\", (root, current) => current]]);\nconst somCache = new WeakMap();\nfunction parseIndex(index) {\n index = index.trim();\n if (index === \"*\") {\n return Infinity;\n }\n return parseInt(index, 10) || 0;\n}\nfunction parseExpression(expr, dotDotAllowed, noExpr = true) {\n let match = expr.match(namePattern);\n if (!match) {\n return null;\n }\n let [name] = match;\n const parsed = [{\n name,\n cacheName: \".\" + name,\n index: 0,\n js: null,\n formCalc: null,\n operator: operators.dot\n }];\n let pos = name.length;\n while (pos < expr.length) {\n const spos = pos;\n const char = expr.charAt(pos++);\n if (char === \"[\") {\n match = expr.slice(pos).match(indexPattern);\n if (!match) {\n (0, _util.warn)(\"XFA - Invalid index in SOM expression\");\n return null;\n }\n parsed.at(-1).index = parseIndex(match[0]);\n pos += match[0].length + 1;\n continue;\n }\n let operator;\n switch (expr.charAt(pos)) {\n case \".\":\n if (!dotDotAllowed) {\n return null;\n }\n pos++;\n operator = operators.dotDot;\n break;\n case \"#\":\n pos++;\n operator = operators.dotHash;\n break;\n case \"[\":\n if (noExpr) {\n (0, _util.warn)(\"XFA - SOM expression contains a FormCalc subexpression which is not supported for now.\");\n return null;\n }\n operator = operators.dotBracket;\n break;\n case \"(\":\n if (noExpr) {\n (0, _util.warn)(\"XFA - SOM expression contains a JavaScript subexpression which is not supported for now.\");\n return null;\n }\n operator = operators.dotParen;\n break;\n default:\n operator = operators.dot;\n break;\n }\n match = expr.slice(pos).match(namePattern);\n if (!match) {\n break;\n }\n [name] = match;\n pos += name.length;\n parsed.push({\n name,\n cacheName: expr.slice(spos, pos),\n operator,\n index: 0,\n js: null,\n formCalc: null\n });\n }\n return parsed;\n}\nfunction searchNode(root, container, expr, dotDotAllowed = true, useCache = true) {\n const parsed = parseExpression(expr, dotDotAllowed);\n if (!parsed) {\n return null;\n }\n const fn = shortcuts.get(parsed[0].name);\n let i = 0;\n let isQualified;\n if (fn) {\n isQualified = true;\n root = [fn(root, container)];\n i = 1;\n } else {\n isQualified = container === null;\n root = [container || root];\n }\n for (let ii = parsed.length; i < ii; i++) {\n const {\n name,\n cacheName,\n operator,\n index\n } = parsed[i];\n const nodes = [];\n for (const node of root) {\n if (!node.isXFAObject) {\n continue;\n }\n let children, cached;\n if (useCache) {\n cached = somCache.get(node);\n if (!cached) {\n cached = new Map();\n somCache.set(node, cached);\n }\n children = cached.get(cacheName);\n }\n if (!children) {\n switch (operator) {\n case operators.dot:\n children = node[_symbol_utils.$getChildrenByName](name, false);\n break;\n case operators.dotDot:\n children = node[_symbol_utils.$getChildrenByName](name, true);\n break;\n case operators.dotHash:\n children = node[_symbol_utils.$getChildrenByClass](name);\n children = children.isXFAObjectArray ? children.children : [children];\n break;\n default:\n break;\n }\n if (useCache) {\n cached.set(cacheName, children);\n }\n }\n if (children.length > 0) {\n nodes.push(children);\n }\n }\n if (nodes.length === 0 && !isQualified && i === 0) {\n const parent = container[_symbol_utils.$getParent]();\n container = parent;\n if (!container) {\n return null;\n }\n i = -1;\n root = [container];\n continue;\n }\n root = isFinite(index) ? nodes.filter(node => index < node.length).map(node => node[index]) : nodes.flat();\n }\n if (root.length === 0) {\n return null;\n }\n return root;\n}\nfunction createDataNode(root, container, expr) {\n const parsed = parseExpression(expr);\n if (!parsed) {\n return null;\n }\n if (parsed.some(x => x.operator === operators.dotDot)) {\n return null;\n }\n const fn = shortcuts.get(parsed[0].name);\n let i = 0;\n if (fn) {\n root = fn(root, container);\n i = 1;\n } else {\n root = container || root;\n }\n for (let ii = parsed.length; i < ii; i++) {\n const {\n name,\n operator,\n index\n } = parsed[i];\n if (!isFinite(index)) {\n parsed[i].index = 0;\n return root.createNodes(parsed.slice(i));\n }\n let children;\n switch (operator) {\n case operators.dot:\n children = root[_symbol_utils.$getChildrenByName](name, false);\n break;\n case operators.dotDot:\n children = root[_symbol_utils.$getChildrenByName](name, true);\n break;\n case operators.dotHash:\n children = root[_symbol_utils.$getChildrenByClass](name);\n children = children.isXFAObjectArray ? children.children : [children];\n break;\n default:\n break;\n }\n if (children.length === 0) {\n return root.createNodes(parsed.slice(i));\n }\n if (index < children.length) {\n const child = children[index];\n if (!child.isXFAObject) {\n (0, _util.warn)(`XFA - Cannot create a node.`);\n return null;\n }\n root = child;\n } else {\n parsed[i].index = index - children.length;\n return root.createNodes(parsed.slice(i));\n }\n }\n return null;\n}\n\n/***/ }),\n/* 89 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DataHandler = void 0;\nvar _symbol_utils = __w_pdfjs_require__(78);\nclass DataHandler {\n constructor(root, data) {\n this.data = data;\n this.dataset = root.datasets || null;\n }\n serialize(storage) {\n const stack = [[-1, this.data[_symbol_utils.$getChildren]()]];\n while (stack.length > 0) {\n const last = stack.at(-1);\n const [i, children] = last;\n if (i + 1 === children.length) {\n stack.pop();\n continue;\n }\n const child = children[++last[0]];\n const storageEntry = storage.get(child[_symbol_utils.$uid]);\n if (storageEntry) {\n child[_symbol_utils.$setValue](storageEntry);\n } else {\n const attributes = child[_symbol_utils.$getAttributes]();\n for (const value of attributes.values()) {\n const entry = storage.get(value[_symbol_utils.$uid]);\n if (entry) {\n value[_symbol_utils.$setValue](entry);\n break;\n }\n }\n }\n const nodes = child[_symbol_utils.$getChildren]();\n if (nodes.length > 0) {\n stack.push([-1, nodes]);\n }\n }\n const buf = [``];\n if (this.dataset) {\n for (const child of this.dataset[_symbol_utils.$getChildren]()) {\n if (child[_symbol_utils.$nodeName] !== \"data\") {\n child[_symbol_utils.$toString](buf);\n }\n }\n }\n this.data[_symbol_utils.$toString](buf);\n buf.push(\"\");\n return buf.join(\"\");\n }\n}\nexports.DataHandler = DataHandler;\n\n/***/ }),\n/* 90 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XFAParser = void 0;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _xml_parser = __w_pdfjs_require__(71);\nvar _builder = __w_pdfjs_require__(91);\nvar _util = __w_pdfjs_require__(2);\nclass XFAParser extends _xml_parser.XMLParserBase {\n constructor(rootNameSpace = null, richText = false) {\n super();\n this._builder = new _builder.Builder(rootNameSpace);\n this._stack = [];\n this._globalData = {\n usedTypefaces: new Set()\n };\n this._ids = new Map();\n this._current = this._builder.buildRoot(this._ids);\n this._errorCode = _xml_parser.XMLParserErrorCode.NoError;\n this._whiteRegex = /^\\s+$/;\n this._nbsps = /\\xa0+/g;\n this._richText = richText;\n }\n parse(data) {\n this.parseXml(data);\n if (this._errorCode !== _xml_parser.XMLParserErrorCode.NoError) {\n return undefined;\n }\n this._current[_symbol_utils.$finalize]();\n return this._current.element;\n }\n onText(text) {\n text = text.replace(this._nbsps, match => match.slice(1) + \" \");\n if (this._richText || this._current[_symbol_utils.$acceptWhitespace]()) {\n this._current[_symbol_utils.$onText](text, this._richText);\n return;\n }\n if (this._whiteRegex.test(text)) {\n return;\n }\n this._current[_symbol_utils.$onText](text.trim());\n }\n onCdata(text) {\n this._current[_symbol_utils.$onText](text);\n }\n _mkAttributes(attributes, tagName) {\n let namespace = null;\n let prefixes = null;\n const attributeObj = Object.create({});\n for (const {\n name,\n value\n } of attributes) {\n if (name === \"xmlns\") {\n if (!namespace) {\n namespace = value;\n } else {\n (0, _util.warn)(`XFA - multiple namespace definition in <${tagName}>`);\n }\n } else if (name.startsWith(\"xmlns:\")) {\n const prefix = name.substring(\"xmlns:\".length);\n if (!prefixes) {\n prefixes = [];\n }\n prefixes.push({\n prefix,\n value\n });\n } else {\n const i = name.indexOf(\":\");\n if (i === -1) {\n attributeObj[name] = value;\n } else {\n let nsAttrs = attributeObj[_symbol_utils.$nsAttributes];\n if (!nsAttrs) {\n nsAttrs = attributeObj[_symbol_utils.$nsAttributes] = Object.create(null);\n }\n const [ns, attrName] = [name.slice(0, i), name.slice(i + 1)];\n const attrs = nsAttrs[ns] ||= Object.create(null);\n attrs[attrName] = value;\n }\n }\n }\n return [namespace, prefixes, attributeObj];\n }\n _getNameAndPrefix(name, nsAgnostic) {\n const i = name.indexOf(\":\");\n if (i === -1) {\n return [name, null];\n }\n return [name.substring(i + 1), nsAgnostic ? \"\" : name.substring(0, i)];\n }\n onBeginElement(tagName, attributes, isEmpty) {\n const [namespace, prefixes, attributesObj] = this._mkAttributes(attributes, tagName);\n const [name, nsPrefix] = this._getNameAndPrefix(tagName, this._builder.isNsAgnostic());\n const node = this._builder.build({\n nsPrefix,\n name,\n attributes: attributesObj,\n namespace,\n prefixes\n });\n node[_symbol_utils.$globalData] = this._globalData;\n if (isEmpty) {\n node[_symbol_utils.$finalize]();\n if (this._current[_symbol_utils.$onChild](node)) {\n node[_symbol_utils.$setId](this._ids);\n }\n node[_symbol_utils.$clean](this._builder);\n return;\n }\n this._stack.push(this._current);\n this._current = node;\n }\n onEndElement(name) {\n const node = this._current;\n if (node[_symbol_utils.$isCDATAXml]() && typeof node[_symbol_utils.$content] === \"string\") {\n const parser = new XFAParser();\n parser._globalData = this._globalData;\n const root = parser.parse(node[_symbol_utils.$content]);\n node[_symbol_utils.$content] = null;\n node[_symbol_utils.$onChild](root);\n }\n node[_symbol_utils.$finalize]();\n this._current = this._stack.pop();\n if (this._current[_symbol_utils.$onChild](node)) {\n node[_symbol_utils.$setId](this._ids);\n }\n node[_symbol_utils.$clean](this._builder);\n }\n onError(code) {\n this._errorCode = code;\n }\n}\nexports.XFAParser = XFAParser;\n\n/***/ }),\n/* 91 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Builder = void 0;\nvar _namespaces = __w_pdfjs_require__(81);\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _setup = __w_pdfjs_require__(92);\nvar _template = __w_pdfjs_require__(80);\nvar _unknown = __w_pdfjs_require__(101);\nvar _util = __w_pdfjs_require__(2);\nvar _xfa_object = __w_pdfjs_require__(87);\nclass Root extends _xfa_object.XFAObject {\n constructor(ids) {\n super(-1, \"root\", Object.create(null));\n this.element = null;\n this[_symbol_utils.$ids] = ids;\n }\n [_symbol_utils.$onChild](child) {\n this.element = child;\n return true;\n }\n [_symbol_utils.$finalize]() {\n super[_symbol_utils.$finalize]();\n if (this.element.template instanceof _template.Template) {\n this[_symbol_utils.$ids].set(_symbol_utils.$root, this.element);\n this.element.template[_symbol_utils.$resolvePrototypes](this[_symbol_utils.$ids]);\n this.element.template[_symbol_utils.$ids] = this[_symbol_utils.$ids];\n }\n }\n}\nclass Empty extends _xfa_object.XFAObject {\n constructor() {\n super(-1, \"\", Object.create(null));\n }\n [_symbol_utils.$onChild](_) {\n return false;\n }\n}\nclass Builder {\n constructor(rootNameSpace = null) {\n this._namespaceStack = [];\n this._nsAgnosticLevel = 0;\n this._namespacePrefixes = new Map();\n this._namespaces = new Map();\n this._nextNsId = Math.max(...Object.values(_namespaces.NamespaceIds).map(({\n id\n }) => id));\n this._currentNamespace = rootNameSpace || new _unknown.UnknownNamespace(++this._nextNsId);\n }\n buildRoot(ids) {\n return new Root(ids);\n }\n build({\n nsPrefix,\n name,\n attributes,\n namespace,\n prefixes\n }) {\n const hasNamespaceDef = namespace !== null;\n if (hasNamespaceDef) {\n this._namespaceStack.push(this._currentNamespace);\n this._currentNamespace = this._searchNamespace(namespace);\n }\n if (prefixes) {\n this._addNamespacePrefix(prefixes);\n }\n if (attributes.hasOwnProperty(_symbol_utils.$nsAttributes)) {\n const dataTemplate = _setup.NamespaceSetUp.datasets;\n const nsAttrs = attributes[_symbol_utils.$nsAttributes];\n let xfaAttrs = null;\n for (const [ns, attrs] of Object.entries(nsAttrs)) {\n const nsToUse = this._getNamespaceToUse(ns);\n if (nsToUse === dataTemplate) {\n xfaAttrs = {\n xfa: attrs\n };\n break;\n }\n }\n if (xfaAttrs) {\n attributes[_symbol_utils.$nsAttributes] = xfaAttrs;\n } else {\n delete attributes[_symbol_utils.$nsAttributes];\n }\n }\n const namespaceToUse = this._getNamespaceToUse(nsPrefix);\n const node = namespaceToUse?.[_namespaces.$buildXFAObject](name, attributes) || new Empty();\n if (node[_symbol_utils.$isNsAgnostic]()) {\n this._nsAgnosticLevel++;\n }\n if (hasNamespaceDef || prefixes || node[_symbol_utils.$isNsAgnostic]()) {\n node[_symbol_utils.$cleanup] = {\n hasNamespace: hasNamespaceDef,\n prefixes,\n nsAgnostic: node[_symbol_utils.$isNsAgnostic]()\n };\n }\n return node;\n }\n isNsAgnostic() {\n return this._nsAgnosticLevel > 0;\n }\n _searchNamespace(nsName) {\n let ns = this._namespaces.get(nsName);\n if (ns) {\n return ns;\n }\n for (const [name, {\n check\n }] of Object.entries(_namespaces.NamespaceIds)) {\n if (check(nsName)) {\n ns = _setup.NamespaceSetUp[name];\n if (ns) {\n this._namespaces.set(nsName, ns);\n return ns;\n }\n break;\n }\n }\n ns = new _unknown.UnknownNamespace(++this._nextNsId);\n this._namespaces.set(nsName, ns);\n return ns;\n }\n _addNamespacePrefix(prefixes) {\n for (const {\n prefix,\n value\n } of prefixes) {\n const namespace = this._searchNamespace(value);\n let prefixStack = this._namespacePrefixes.get(prefix);\n if (!prefixStack) {\n prefixStack = [];\n this._namespacePrefixes.set(prefix, prefixStack);\n }\n prefixStack.push(namespace);\n }\n }\n _getNamespaceToUse(prefix) {\n if (!prefix) {\n return this._currentNamespace;\n }\n const prefixStack = this._namespacePrefixes.get(prefix);\n if (prefixStack?.length > 0) {\n return prefixStack.at(-1);\n }\n (0, _util.warn)(`Unknown namespace prefix: ${prefix}.`);\n return null;\n }\n clean(data) {\n const {\n hasNamespace,\n prefixes,\n nsAgnostic\n } = data;\n if (hasNamespace) {\n this._currentNamespace = this._namespaceStack.pop();\n }\n if (prefixes) {\n prefixes.forEach(({\n prefix\n }) => {\n this._namespacePrefixes.get(prefix).pop();\n });\n }\n if (nsAgnostic) {\n this._nsAgnosticLevel--;\n }\n }\n}\nexports.Builder = Builder;\n\n/***/ }),\n/* 92 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NamespaceSetUp = void 0;\nvar _config = __w_pdfjs_require__(93);\nvar _connection_set = __w_pdfjs_require__(94);\nvar _datasets = __w_pdfjs_require__(95);\nvar _locale_set = __w_pdfjs_require__(96);\nvar _signature = __w_pdfjs_require__(97);\nvar _stylesheet = __w_pdfjs_require__(98);\nvar _template = __w_pdfjs_require__(80);\nvar _xdp = __w_pdfjs_require__(99);\nvar _xhtml = __w_pdfjs_require__(100);\nconst NamespaceSetUp = {\n config: _config.ConfigNamespace,\n connection: _connection_set.ConnectionSetNamespace,\n datasets: _datasets.DatasetsNamespace,\n localeSet: _locale_set.LocaleSetNamespace,\n signature: _signature.SignatureNamespace,\n stylesheet: _stylesheet.StylesheetNamespace,\n template: _template.TemplateNamespace,\n xdp: _xdp.XdpNamespace,\n xhtml: _xhtml.XhtmlNamespace\n};\nexports.NamespaceSetUp = NamespaceSetUp;\n\n/***/ }),\n/* 93 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ConfigNamespace = void 0;\nvar _namespaces = __w_pdfjs_require__(81);\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _xfa_object = __w_pdfjs_require__(87);\nvar _utils = __w_pdfjs_require__(84);\nvar _util = __w_pdfjs_require__(2);\nconst CONFIG_NS_ID = _namespaces.NamespaceIds.config.id;\nclass Acrobat extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"acrobat\", true);\n this.acrobat7 = null;\n this.autoSave = null;\n this.common = null;\n this.validate = null;\n this.validateApprovalSignatures = null;\n this.submitUrl = new _xfa_object.XFAObjectArray();\n }\n}\nclass Acrobat7 extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"acrobat7\", true);\n this.dynamicRender = null;\n }\n}\nclass ADBE_JSConsole extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"ADBE_JSConsole\", [\"delegate\", \"Enable\", \"Disable\"]);\n }\n}\nclass ADBE_JSDebugger extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"ADBE_JSDebugger\", [\"delegate\", \"Enable\", \"Disable\"]);\n }\n}\nclass AddSilentPrint extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"addSilentPrint\");\n }\n}\nclass AddViewerPreferences extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"addViewerPreferences\");\n }\n}\nclass AdjustData extends _xfa_object.Option10 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"adjustData\");\n }\n}\nclass AdobeExtensionLevel extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"adobeExtensionLevel\", 0, n => n >= 1 && n <= 8);\n }\n}\nclass Agent extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"agent\", true);\n this.name = attributes.name ? attributes.name.trim() : \"\";\n this.common = new _xfa_object.XFAObjectArray();\n }\n}\nclass AlwaysEmbed extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"alwaysEmbed\");\n }\n}\nclass Amd extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"amd\");\n }\n}\nclass Area extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"area\");\n this.level = (0, _utils.getInteger)({\n data: attributes.level,\n defaultValue: 0,\n validate: n => n >= 1 && n <= 3\n });\n this.name = (0, _utils.getStringOption)(attributes.name, [\"\", \"barcode\", \"coreinit\", \"deviceDriver\", \"font\", \"general\", \"layout\", \"merge\", \"script\", \"signature\", \"sourceSet\", \"templateCache\"]);\n }\n}\nclass Attributes extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"attributes\", [\"preserve\", \"delegate\", \"ignore\"]);\n }\n}\nclass AutoSave extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"autoSave\", [\"disabled\", \"enabled\"]);\n }\n}\nclass Base extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"base\");\n }\n}\nclass BatchOutput extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"batchOutput\");\n this.format = (0, _utils.getStringOption)(attributes.format, [\"none\", \"concat\", \"zip\", \"zipCompress\"]);\n }\n}\nclass BehaviorOverride extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"behaviorOverride\");\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = new Map(this[_symbol_utils.$content].trim().split(/\\s+/).filter(x => x.includes(\":\")).map(x => x.split(\":\", 2)));\n }\n}\nclass Cache extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"cache\", true);\n this.templateCache = null;\n }\n}\nclass Change extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"change\");\n }\n}\nclass Common extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"common\", true);\n this.data = null;\n this.locale = null;\n this.localeSet = null;\n this.messaging = null;\n this.suppressBanner = null;\n this.template = null;\n this.validationMessaging = null;\n this.versionControl = null;\n this.log = new _xfa_object.XFAObjectArray();\n }\n}\nclass Compress extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"compress\");\n this.scope = (0, _utils.getStringOption)(attributes.scope, [\"imageOnly\", \"document\"]);\n }\n}\nclass CompressLogicalStructure extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"compressLogicalStructure\");\n }\n}\nclass CompressObjectStream extends _xfa_object.Option10 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"compressObjectStream\");\n }\n}\nclass Compression extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"compression\", true);\n this.compressLogicalStructure = null;\n this.compressObjectStream = null;\n this.level = null;\n this.type = null;\n }\n}\nclass Config extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"config\", true);\n this.acrobat = null;\n this.present = null;\n this.trace = null;\n this.agent = new _xfa_object.XFAObjectArray();\n }\n}\nclass Conformance extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"conformance\", [\"A\", \"B\"]);\n }\n}\nclass ContentCopy extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"contentCopy\");\n }\n}\nclass Copies extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"copies\", 1, n => n >= 1);\n }\n}\nclass Creator extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"creator\");\n }\n}\nclass CurrentPage extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"currentPage\", 0, n => n >= 0);\n }\n}\nclass Data extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"data\", true);\n this.adjustData = null;\n this.attributes = null;\n this.incrementalLoad = null;\n this.outputXSL = null;\n this.range = null;\n this.record = null;\n this.startNode = null;\n this.uri = null;\n this.window = null;\n this.xsl = null;\n this.excludeNS = new _xfa_object.XFAObjectArray();\n this.transform = new _xfa_object.XFAObjectArray();\n }\n}\nclass Debug extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"debug\", true);\n this.uri = null;\n }\n}\nclass DefaultTypeface extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"defaultTypeface\");\n this.writingScript = (0, _utils.getStringOption)(attributes.writingScript, [\"*\", \"Arabic\", \"Cyrillic\", \"EastEuropeanRoman\", \"Greek\", \"Hebrew\", \"Japanese\", \"Korean\", \"Roman\", \"SimplifiedChinese\", \"Thai\", \"TraditionalChinese\", \"Vietnamese\"]);\n }\n}\nclass Destination extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"destination\", [\"pdf\", \"pcl\", \"ps\", \"webClient\", \"zpl\"]);\n }\n}\nclass DocumentAssembly extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"documentAssembly\");\n }\n}\nclass Driver extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"driver\", true);\n this.name = attributes.name ? attributes.name.trim() : \"\";\n this.fontInfo = null;\n this.xdc = null;\n }\n}\nclass DuplexOption extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"duplexOption\", [\"simplex\", \"duplexFlipLongEdge\", \"duplexFlipShortEdge\"]);\n }\n}\nclass DynamicRender extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"dynamicRender\", [\"forbidden\", \"required\"]);\n }\n}\nclass Embed extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"embed\");\n }\n}\nclass Encrypt extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"encrypt\");\n }\n}\nclass Encryption extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"encryption\", true);\n this.encrypt = null;\n this.encryptionLevel = null;\n this.permissions = null;\n }\n}\nclass EncryptionLevel extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"encryptionLevel\", [\"40bit\", \"128bit\"]);\n }\n}\nclass Enforce extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"enforce\");\n }\n}\nclass Equate extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"equate\");\n this.force = (0, _utils.getInteger)({\n data: attributes.force,\n defaultValue: 1,\n validate: n => n === 0\n });\n this.from = attributes.from || \"\";\n this.to = attributes.to || \"\";\n }\n}\nclass EquateRange extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"equateRange\");\n this.from = attributes.from || \"\";\n this.to = attributes.to || \"\";\n this._unicodeRange = attributes.unicodeRange || \"\";\n }\n get unicodeRange() {\n const ranges = [];\n const unicodeRegex = /U\\+([0-9a-fA-F]+)/;\n const unicodeRange = this._unicodeRange;\n for (let range of unicodeRange.split(\",\").map(x => x.trim()).filter(x => !!x)) {\n range = range.split(\"-\", 2).map(x => {\n const found = x.match(unicodeRegex);\n if (!found) {\n return 0;\n }\n return parseInt(found[1], 16);\n });\n if (range.length === 1) {\n range.push(range[0]);\n }\n ranges.push(range);\n }\n return (0, _util.shadow)(this, \"unicodeRange\", ranges);\n }\n}\nclass Exclude extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"exclude\");\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = this[_symbol_utils.$content].trim().split(/\\s+/).filter(x => x && [\"calculate\", \"close\", \"enter\", \"exit\", \"initialize\", \"ready\", \"validate\"].includes(x));\n }\n}\nclass ExcludeNS extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"excludeNS\");\n }\n}\nclass FlipLabel extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"flipLabel\", [\"usePrinterSetting\", \"on\", \"off\"]);\n }\n}\nclass FontInfo extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"fontInfo\", true);\n this.embed = null;\n this.map = null;\n this.subsetBelow = null;\n this.alwaysEmbed = new _xfa_object.XFAObjectArray();\n this.defaultTypeface = new _xfa_object.XFAObjectArray();\n this.neverEmbed = new _xfa_object.XFAObjectArray();\n }\n}\nclass FormFieldFilling extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"formFieldFilling\");\n }\n}\nclass GroupParent extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"groupParent\");\n }\n}\nclass IfEmpty extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"ifEmpty\", [\"dataValue\", \"dataGroup\", \"ignore\", \"remove\"]);\n }\n}\nclass IncludeXDPContent extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"includeXDPContent\");\n }\n}\nclass IncrementalLoad extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"incrementalLoad\", [\"none\", \"forwardOnly\"]);\n }\n}\nclass IncrementalMerge extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"incrementalMerge\");\n }\n}\nclass Interactive extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"interactive\");\n }\n}\nclass Jog extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"jog\", [\"usePrinterSetting\", \"none\", \"pageSet\"]);\n }\n}\nclass LabelPrinter extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"labelPrinter\", true);\n this.name = (0, _utils.getStringOption)(attributes.name, [\"zpl\", \"dpl\", \"ipl\", \"tcpl\"]);\n this.batchOutput = null;\n this.flipLabel = null;\n this.fontInfo = null;\n this.xdc = null;\n }\n}\nclass Layout extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"layout\", [\"paginate\", \"panel\"]);\n }\n}\nclass Level extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"level\", 0, n => n > 0);\n }\n}\nclass Linearized extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"linearized\");\n }\n}\nclass Locale extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"locale\");\n }\n}\nclass LocaleSet extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"localeSet\");\n }\n}\nclass Log extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"log\", true);\n this.mode = null;\n this.threshold = null;\n this.to = null;\n this.uri = null;\n }\n}\nclass MapElement extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"map\", true);\n this.equate = new _xfa_object.XFAObjectArray();\n this.equateRange = new _xfa_object.XFAObjectArray();\n }\n}\nclass MediumInfo extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"mediumInfo\", true);\n this.map = null;\n }\n}\nclass Message extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"message\", true);\n this.msgId = null;\n this.severity = null;\n }\n}\nclass Messaging extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"messaging\", true);\n this.message = new _xfa_object.XFAObjectArray();\n }\n}\nclass Mode extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"mode\", [\"append\", \"overwrite\"]);\n }\n}\nclass ModifyAnnots extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"modifyAnnots\");\n }\n}\nclass MsgId extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"msgId\", 1, n => n >= 1);\n }\n}\nclass NameAttr extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"nameAttr\");\n }\n}\nclass NeverEmbed extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"neverEmbed\");\n }\n}\nclass NumberOfCopies extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"numberOfCopies\", null, n => n >= 2 && n <= 5);\n }\n}\nclass OpenAction extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"openAction\", true);\n this.destination = null;\n }\n}\nclass Output extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"output\", true);\n this.to = null;\n this.type = null;\n this.uri = null;\n }\n}\nclass OutputBin extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"outputBin\");\n }\n}\nclass OutputXSL extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"outputXSL\", true);\n this.uri = null;\n }\n}\nclass Overprint extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"overprint\", [\"none\", \"both\", \"draw\", \"field\"]);\n }\n}\nclass Packets extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"packets\");\n }\n [_symbol_utils.$finalize]() {\n if (this[_symbol_utils.$content] === \"*\") {\n return;\n }\n this[_symbol_utils.$content] = this[_symbol_utils.$content].trim().split(/\\s+/).filter(x => [\"config\", \"datasets\", \"template\", \"xfdf\", \"xslt\"].includes(x));\n }\n}\nclass PageOffset extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"pageOffset\");\n this.x = (0, _utils.getInteger)({\n data: attributes.x,\n defaultValue: \"useXDCSetting\",\n validate: n => true\n });\n this.y = (0, _utils.getInteger)({\n data: attributes.y,\n defaultValue: \"useXDCSetting\",\n validate: n => true\n });\n }\n}\nclass PageRange extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"pageRange\");\n }\n [_symbol_utils.$finalize]() {\n const numbers = this[_symbol_utils.$content].trim().split(/\\s+/).map(x => parseInt(x, 10));\n const ranges = [];\n for (let i = 0, ii = numbers.length; i < ii; i += 2) {\n ranges.push(numbers.slice(i, i + 2));\n }\n this[_symbol_utils.$content] = ranges;\n }\n}\nclass Pagination extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"pagination\", [\"simplex\", \"duplexShortEdge\", \"duplexLongEdge\"]);\n }\n}\nclass PaginationOverride extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"paginationOverride\", [\"none\", \"forceDuplex\", \"forceDuplexLongEdge\", \"forceDuplexShortEdge\", \"forceSimplex\"]);\n }\n}\nclass Part extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"part\", 1, n => false);\n }\n}\nclass Pcl extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"pcl\", true);\n this.name = attributes.name || \"\";\n this.batchOutput = null;\n this.fontInfo = null;\n this.jog = null;\n this.mediumInfo = null;\n this.outputBin = null;\n this.pageOffset = null;\n this.staple = null;\n this.xdc = null;\n }\n}\nclass Pdf extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"pdf\", true);\n this.name = attributes.name || \"\";\n this.adobeExtensionLevel = null;\n this.batchOutput = null;\n this.compression = null;\n this.creator = null;\n this.encryption = null;\n this.fontInfo = null;\n this.interactive = null;\n this.linearized = null;\n this.openAction = null;\n this.pdfa = null;\n this.producer = null;\n this.renderPolicy = null;\n this.scriptModel = null;\n this.silentPrint = null;\n this.submitFormat = null;\n this.tagged = null;\n this.version = null;\n this.viewerPreferences = null;\n this.xdc = null;\n }\n}\nclass Pdfa extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"pdfa\", true);\n this.amd = null;\n this.conformance = null;\n this.includeXDPContent = null;\n this.part = null;\n }\n}\nclass Permissions extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"permissions\", true);\n this.accessibleContent = null;\n this.change = null;\n this.contentCopy = null;\n this.documentAssembly = null;\n this.formFieldFilling = null;\n this.modifyAnnots = null;\n this.plaintextMetadata = null;\n this.print = null;\n this.printHighQuality = null;\n }\n}\nclass PickTrayByPDFSize extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"pickTrayByPDFSize\");\n }\n}\nclass Picture extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"picture\");\n }\n}\nclass PlaintextMetadata extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"plaintextMetadata\");\n }\n}\nclass Presence extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"presence\", [\"preserve\", \"dissolve\", \"dissolveStructure\", \"ignore\", \"remove\"]);\n }\n}\nclass Present extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"present\", true);\n this.behaviorOverride = null;\n this.cache = null;\n this.common = null;\n this.copies = null;\n this.destination = null;\n this.incrementalMerge = null;\n this.layout = null;\n this.output = null;\n this.overprint = null;\n this.pagination = null;\n this.paginationOverride = null;\n this.script = null;\n this.validate = null;\n this.xdp = null;\n this.driver = new _xfa_object.XFAObjectArray();\n this.labelPrinter = new _xfa_object.XFAObjectArray();\n this.pcl = new _xfa_object.XFAObjectArray();\n this.pdf = new _xfa_object.XFAObjectArray();\n this.ps = new _xfa_object.XFAObjectArray();\n this.submitUrl = new _xfa_object.XFAObjectArray();\n this.webClient = new _xfa_object.XFAObjectArray();\n this.zpl = new _xfa_object.XFAObjectArray();\n }\n}\nclass Print extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"print\");\n }\n}\nclass PrintHighQuality extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"printHighQuality\");\n }\n}\nclass PrintScaling extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"printScaling\", [\"appdefault\", \"noScaling\"]);\n }\n}\nclass PrinterName extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"printerName\");\n }\n}\nclass Producer extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"producer\");\n }\n}\nclass Ps extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"ps\", true);\n this.name = attributes.name || \"\";\n this.batchOutput = null;\n this.fontInfo = null;\n this.jog = null;\n this.mediumInfo = null;\n this.outputBin = null;\n this.staple = null;\n this.xdc = null;\n }\n}\nclass Range extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"range\");\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = this[_symbol_utils.$content].trim().split(/\\s*,\\s*/, 2).map(range => range.split(\"-\").map(x => parseInt(x.trim(), 10))).filter(range => range.every(x => !isNaN(x))).map(range => {\n if (range.length === 1) {\n range.push(range[0]);\n }\n return range;\n });\n }\n}\nclass Record extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"record\");\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = this[_symbol_utils.$content].trim();\n const n = parseInt(this[_symbol_utils.$content], 10);\n if (!isNaN(n) && n >= 0) {\n this[_symbol_utils.$content] = n;\n }\n }\n}\nclass Relevant extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"relevant\");\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = this[_symbol_utils.$content].trim().split(/\\s+/);\n }\n}\nclass Rename extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"rename\");\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = this[_symbol_utils.$content].trim();\n if (this[_symbol_utils.$content].toLowerCase().startsWith(\"xml\") || new RegExp(\"[\\\\p{L}_][\\\\p{L}\\\\d._\\\\p{M}-]*\", \"u\").test(this[_symbol_utils.$content])) {\n (0, _util.warn)(\"XFA - Rename: invalid XFA name\");\n }\n }\n}\nclass RenderPolicy extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"renderPolicy\", [\"server\", \"client\"]);\n }\n}\nclass RunScripts extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"runScripts\", [\"both\", \"client\", \"none\", \"server\"]);\n }\n}\nclass Script extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"script\", true);\n this.currentPage = null;\n this.exclude = null;\n this.runScripts = null;\n }\n}\nclass ScriptModel extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"scriptModel\", [\"XFA\", \"none\"]);\n }\n}\nclass Severity extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"severity\", [\"ignore\", \"error\", \"information\", \"trace\", \"warning\"]);\n }\n}\nclass SilentPrint extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"silentPrint\", true);\n this.addSilentPrint = null;\n this.printerName = null;\n }\n}\nclass Staple extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"staple\");\n this.mode = (0, _utils.getStringOption)(attributes.mode, [\"usePrinterSetting\", \"on\", \"off\"]);\n }\n}\nclass StartNode extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"startNode\");\n }\n}\nclass StartPage extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"startPage\", 0, n => true);\n }\n}\nclass SubmitFormat extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"submitFormat\", [\"html\", \"delegate\", \"fdf\", \"xml\", \"pdf\"]);\n }\n}\nclass SubmitUrl extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"submitUrl\");\n }\n}\nclass SubsetBelow extends _xfa_object.IntegerObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"subsetBelow\", 100, n => n >= 0 && n <= 100);\n }\n}\nclass SuppressBanner extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"suppressBanner\");\n }\n}\nclass Tagged extends _xfa_object.Option01 {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"tagged\");\n }\n}\nclass Template extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"template\", true);\n this.base = null;\n this.relevant = null;\n this.startPage = null;\n this.uri = null;\n this.xsl = null;\n }\n}\nclass Threshold extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"threshold\", [\"trace\", \"error\", \"information\", \"warning\"]);\n }\n}\nclass To extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"to\", [\"null\", \"memory\", \"stderr\", \"stdout\", \"system\", \"uri\"]);\n }\n}\nclass TemplateCache extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"templateCache\");\n this.maxEntries = (0, _utils.getInteger)({\n data: attributes.maxEntries,\n defaultValue: 5,\n validate: n => n >= 0\n });\n }\n}\nclass Trace extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"trace\", true);\n this.area = new _xfa_object.XFAObjectArray();\n }\n}\nclass Transform extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"transform\", true);\n this.groupParent = null;\n this.ifEmpty = null;\n this.nameAttr = null;\n this.picture = null;\n this.presence = null;\n this.rename = null;\n this.whitespace = null;\n }\n}\nclass Type extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"type\", [\"none\", \"ascii85\", \"asciiHex\", \"ccittfax\", \"flate\", \"lzw\", \"runLength\", \"native\", \"xdp\", \"mergedXDP\"]);\n }\n}\nclass Uri extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"uri\");\n }\n}\nclass Validate extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"validate\", [\"preSubmit\", \"prePrint\", \"preExecute\", \"preSave\"]);\n }\n}\nclass ValidateApprovalSignatures extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"validateApprovalSignatures\");\n }\n [_symbol_utils.$finalize]() {\n this[_symbol_utils.$content] = this[_symbol_utils.$content].trim().split(/\\s+/).filter(x => [\"docReady\", \"postSign\"].includes(x));\n }\n}\nclass ValidationMessaging extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"validationMessaging\", [\"allMessagesIndividually\", \"allMessagesTogether\", \"firstMessageOnly\", \"noMessages\"]);\n }\n}\nclass Version extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"version\", [\"1.7\", \"1.6\", \"1.5\", \"1.4\", \"1.3\", \"1.2\"]);\n }\n}\nclass VersionControl extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"VersionControl\");\n this.outputBelow = (0, _utils.getStringOption)(attributes.outputBelow, [\"warn\", \"error\", \"update\"]);\n this.sourceAbove = (0, _utils.getStringOption)(attributes.sourceAbove, [\"warn\", \"error\"]);\n this.sourceBelow = (0, _utils.getStringOption)(attributes.sourceBelow, [\"update\", \"maintain\"]);\n }\n}\nclass ViewerPreferences extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"viewerPreferences\", true);\n this.ADBE_JSConsole = null;\n this.ADBE_JSDebugger = null;\n this.addViewerPreferences = null;\n this.duplexOption = null;\n this.enforce = null;\n this.numberOfCopies = null;\n this.pageRange = null;\n this.pickTrayByPDFSize = null;\n this.printScaling = null;\n }\n}\nclass WebClient extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"webClient\", true);\n this.name = attributes.name ? attributes.name.trim() : \"\";\n this.fontInfo = null;\n this.xdc = null;\n }\n}\nclass Whitespace extends _xfa_object.OptionObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"whitespace\", [\"preserve\", \"ltrim\", \"normalize\", \"rtrim\", \"trim\"]);\n }\n}\nclass Window extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"window\");\n }\n [_symbol_utils.$finalize]() {\n const pair = this[_symbol_utils.$content].trim().split(/\\s*,\\s*/, 2).map(x => parseInt(x, 10));\n if (pair.some(x => isNaN(x))) {\n this[_symbol_utils.$content] = [0, 0];\n return;\n }\n if (pair.length === 1) {\n pair.push(pair[0]);\n }\n this[_symbol_utils.$content] = pair;\n }\n}\nclass Xdc extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"xdc\", true);\n this.uri = new _xfa_object.XFAObjectArray();\n this.xsl = new _xfa_object.XFAObjectArray();\n }\n}\nclass Xdp extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"xdp\", true);\n this.packets = null;\n }\n}\nclass Xsl extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"xsl\", true);\n this.debug = null;\n this.uri = null;\n }\n}\nclass Zpl extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONFIG_NS_ID, \"zpl\", true);\n this.name = attributes.name ? attributes.name.trim() : \"\";\n this.batchOutput = null;\n this.flipLabel = null;\n this.fontInfo = null;\n this.xdc = null;\n }\n}\nclass ConfigNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (ConfigNamespace.hasOwnProperty(name)) {\n return ConfigNamespace[name](attributes);\n }\n return undefined;\n }\n static acrobat(attrs) {\n return new Acrobat(attrs);\n }\n static acrobat7(attrs) {\n return new Acrobat7(attrs);\n }\n static ADBE_JSConsole(attrs) {\n return new ADBE_JSConsole(attrs);\n }\n static ADBE_JSDebugger(attrs) {\n return new ADBE_JSDebugger(attrs);\n }\n static addSilentPrint(attrs) {\n return new AddSilentPrint(attrs);\n }\n static addViewerPreferences(attrs) {\n return new AddViewerPreferences(attrs);\n }\n static adjustData(attrs) {\n return new AdjustData(attrs);\n }\n static adobeExtensionLevel(attrs) {\n return new AdobeExtensionLevel(attrs);\n }\n static agent(attrs) {\n return new Agent(attrs);\n }\n static alwaysEmbed(attrs) {\n return new AlwaysEmbed(attrs);\n }\n static amd(attrs) {\n return new Amd(attrs);\n }\n static area(attrs) {\n return new Area(attrs);\n }\n static attributes(attrs) {\n return new Attributes(attrs);\n }\n static autoSave(attrs) {\n return new AutoSave(attrs);\n }\n static base(attrs) {\n return new Base(attrs);\n }\n static batchOutput(attrs) {\n return new BatchOutput(attrs);\n }\n static behaviorOverride(attrs) {\n return new BehaviorOverride(attrs);\n }\n static cache(attrs) {\n return new Cache(attrs);\n }\n static change(attrs) {\n return new Change(attrs);\n }\n static common(attrs) {\n return new Common(attrs);\n }\n static compress(attrs) {\n return new Compress(attrs);\n }\n static compressLogicalStructure(attrs) {\n return new CompressLogicalStructure(attrs);\n }\n static compressObjectStream(attrs) {\n return new CompressObjectStream(attrs);\n }\n static compression(attrs) {\n return new Compression(attrs);\n }\n static config(attrs) {\n return new Config(attrs);\n }\n static conformance(attrs) {\n return new Conformance(attrs);\n }\n static contentCopy(attrs) {\n return new ContentCopy(attrs);\n }\n static copies(attrs) {\n return new Copies(attrs);\n }\n static creator(attrs) {\n return new Creator(attrs);\n }\n static currentPage(attrs) {\n return new CurrentPage(attrs);\n }\n static data(attrs) {\n return new Data(attrs);\n }\n static debug(attrs) {\n return new Debug(attrs);\n }\n static defaultTypeface(attrs) {\n return new DefaultTypeface(attrs);\n }\n static destination(attrs) {\n return new Destination(attrs);\n }\n static documentAssembly(attrs) {\n return new DocumentAssembly(attrs);\n }\n static driver(attrs) {\n return new Driver(attrs);\n }\n static duplexOption(attrs) {\n return new DuplexOption(attrs);\n }\n static dynamicRender(attrs) {\n return new DynamicRender(attrs);\n }\n static embed(attrs) {\n return new Embed(attrs);\n }\n static encrypt(attrs) {\n return new Encrypt(attrs);\n }\n static encryption(attrs) {\n return new Encryption(attrs);\n }\n static encryptionLevel(attrs) {\n return new EncryptionLevel(attrs);\n }\n static enforce(attrs) {\n return new Enforce(attrs);\n }\n static equate(attrs) {\n return new Equate(attrs);\n }\n static equateRange(attrs) {\n return new EquateRange(attrs);\n }\n static exclude(attrs) {\n return new Exclude(attrs);\n }\n static excludeNS(attrs) {\n return new ExcludeNS(attrs);\n }\n static flipLabel(attrs) {\n return new FlipLabel(attrs);\n }\n static fontInfo(attrs) {\n return new FontInfo(attrs);\n }\n static formFieldFilling(attrs) {\n return new FormFieldFilling(attrs);\n }\n static groupParent(attrs) {\n return new GroupParent(attrs);\n }\n static ifEmpty(attrs) {\n return new IfEmpty(attrs);\n }\n static includeXDPContent(attrs) {\n return new IncludeXDPContent(attrs);\n }\n static incrementalLoad(attrs) {\n return new IncrementalLoad(attrs);\n }\n static incrementalMerge(attrs) {\n return new IncrementalMerge(attrs);\n }\n static interactive(attrs) {\n return new Interactive(attrs);\n }\n static jog(attrs) {\n return new Jog(attrs);\n }\n static labelPrinter(attrs) {\n return new LabelPrinter(attrs);\n }\n static layout(attrs) {\n return new Layout(attrs);\n }\n static level(attrs) {\n return new Level(attrs);\n }\n static linearized(attrs) {\n return new Linearized(attrs);\n }\n static locale(attrs) {\n return new Locale(attrs);\n }\n static localeSet(attrs) {\n return new LocaleSet(attrs);\n }\n static log(attrs) {\n return new Log(attrs);\n }\n static map(attrs) {\n return new MapElement(attrs);\n }\n static mediumInfo(attrs) {\n return new MediumInfo(attrs);\n }\n static message(attrs) {\n return new Message(attrs);\n }\n static messaging(attrs) {\n return new Messaging(attrs);\n }\n static mode(attrs) {\n return new Mode(attrs);\n }\n static modifyAnnots(attrs) {\n return new ModifyAnnots(attrs);\n }\n static msgId(attrs) {\n return new MsgId(attrs);\n }\n static nameAttr(attrs) {\n return new NameAttr(attrs);\n }\n static neverEmbed(attrs) {\n return new NeverEmbed(attrs);\n }\n static numberOfCopies(attrs) {\n return new NumberOfCopies(attrs);\n }\n static openAction(attrs) {\n return new OpenAction(attrs);\n }\n static output(attrs) {\n return new Output(attrs);\n }\n static outputBin(attrs) {\n return new OutputBin(attrs);\n }\n static outputXSL(attrs) {\n return new OutputXSL(attrs);\n }\n static overprint(attrs) {\n return new Overprint(attrs);\n }\n static packets(attrs) {\n return new Packets(attrs);\n }\n static pageOffset(attrs) {\n return new PageOffset(attrs);\n }\n static pageRange(attrs) {\n return new PageRange(attrs);\n }\n static pagination(attrs) {\n return new Pagination(attrs);\n }\n static paginationOverride(attrs) {\n return new PaginationOverride(attrs);\n }\n static part(attrs) {\n return new Part(attrs);\n }\n static pcl(attrs) {\n return new Pcl(attrs);\n }\n static pdf(attrs) {\n return new Pdf(attrs);\n }\n static pdfa(attrs) {\n return new Pdfa(attrs);\n }\n static permissions(attrs) {\n return new Permissions(attrs);\n }\n static pickTrayByPDFSize(attrs) {\n return new PickTrayByPDFSize(attrs);\n }\n static picture(attrs) {\n return new Picture(attrs);\n }\n static plaintextMetadata(attrs) {\n return new PlaintextMetadata(attrs);\n }\n static presence(attrs) {\n return new Presence(attrs);\n }\n static present(attrs) {\n return new Present(attrs);\n }\n static print(attrs) {\n return new Print(attrs);\n }\n static printHighQuality(attrs) {\n return new PrintHighQuality(attrs);\n }\n static printScaling(attrs) {\n return new PrintScaling(attrs);\n }\n static printerName(attrs) {\n return new PrinterName(attrs);\n }\n static producer(attrs) {\n return new Producer(attrs);\n }\n static ps(attrs) {\n return new Ps(attrs);\n }\n static range(attrs) {\n return new Range(attrs);\n }\n static record(attrs) {\n return new Record(attrs);\n }\n static relevant(attrs) {\n return new Relevant(attrs);\n }\n static rename(attrs) {\n return new Rename(attrs);\n }\n static renderPolicy(attrs) {\n return new RenderPolicy(attrs);\n }\n static runScripts(attrs) {\n return new RunScripts(attrs);\n }\n static script(attrs) {\n return new Script(attrs);\n }\n static scriptModel(attrs) {\n return new ScriptModel(attrs);\n }\n static severity(attrs) {\n return new Severity(attrs);\n }\n static silentPrint(attrs) {\n return new SilentPrint(attrs);\n }\n static staple(attrs) {\n return new Staple(attrs);\n }\n static startNode(attrs) {\n return new StartNode(attrs);\n }\n static startPage(attrs) {\n return new StartPage(attrs);\n }\n static submitFormat(attrs) {\n return new SubmitFormat(attrs);\n }\n static submitUrl(attrs) {\n return new SubmitUrl(attrs);\n }\n static subsetBelow(attrs) {\n return new SubsetBelow(attrs);\n }\n static suppressBanner(attrs) {\n return new SuppressBanner(attrs);\n }\n static tagged(attrs) {\n return new Tagged(attrs);\n }\n static template(attrs) {\n return new Template(attrs);\n }\n static templateCache(attrs) {\n return new TemplateCache(attrs);\n }\n static threshold(attrs) {\n return new Threshold(attrs);\n }\n static to(attrs) {\n return new To(attrs);\n }\n static trace(attrs) {\n return new Trace(attrs);\n }\n static transform(attrs) {\n return new Transform(attrs);\n }\n static type(attrs) {\n return new Type(attrs);\n }\n static uri(attrs) {\n return new Uri(attrs);\n }\n static validate(attrs) {\n return new Validate(attrs);\n }\n static validateApprovalSignatures(attrs) {\n return new ValidateApprovalSignatures(attrs);\n }\n static validationMessaging(attrs) {\n return new ValidationMessaging(attrs);\n }\n static version(attrs) {\n return new Version(attrs);\n }\n static versionControl(attrs) {\n return new VersionControl(attrs);\n }\n static viewerPreferences(attrs) {\n return new ViewerPreferences(attrs);\n }\n static webClient(attrs) {\n return new WebClient(attrs);\n }\n static whitespace(attrs) {\n return new Whitespace(attrs);\n }\n static window(attrs) {\n return new Window(attrs);\n }\n static xdc(attrs) {\n return new Xdc(attrs);\n }\n static xdp(attrs) {\n return new Xdp(attrs);\n }\n static xsl(attrs) {\n return new Xsl(attrs);\n }\n static zpl(attrs) {\n return new Zpl(attrs);\n }\n}\nexports.ConfigNamespace = ConfigNamespace;\n\n/***/ }),\n/* 94 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ConnectionSetNamespace = void 0;\nvar _namespaces = __w_pdfjs_require__(81);\nvar _xfa_object = __w_pdfjs_require__(87);\nconst CONNECTION_SET_NS_ID = _namespaces.NamespaceIds.connectionSet.id;\nclass ConnectionSet extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"connectionSet\", true);\n this.wsdlConnection = new _xfa_object.XFAObjectArray();\n this.xmlConnection = new _xfa_object.XFAObjectArray();\n this.xsdConnection = new _xfa_object.XFAObjectArray();\n }\n}\nclass EffectiveInputPolicy extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"effectiveInputPolicy\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass EffectiveOutputPolicy extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"effectiveOutputPolicy\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Operation extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"operation\");\n this.id = attributes.id || \"\";\n this.input = attributes.input || \"\";\n this.name = attributes.name || \"\";\n this.output = attributes.output || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass RootElement extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"rootElement\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass SoapAction extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"soapAction\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass SoapAddress extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"soapAddress\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass Uri extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"uri\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass WsdlAddress extends _xfa_object.StringObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"wsdlAddress\");\n this.id = attributes.id || \"\";\n this.name = attributes.name || \"\";\n this.use = attributes.use || \"\";\n this.usehref = attributes.usehref || \"\";\n }\n}\nclass WsdlConnection extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"wsdlConnection\", true);\n this.dataDescription = attributes.dataDescription || \"\";\n this.name = attributes.name || \"\";\n this.effectiveInputPolicy = null;\n this.effectiveOutputPolicy = null;\n this.operation = null;\n this.soapAction = null;\n this.soapAddress = null;\n this.wsdlAddress = null;\n }\n}\nclass XmlConnection extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"xmlConnection\", true);\n this.dataDescription = attributes.dataDescription || \"\";\n this.name = attributes.name || \"\";\n this.uri = null;\n }\n}\nclass XsdConnection extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(CONNECTION_SET_NS_ID, \"xsdConnection\", true);\n this.dataDescription = attributes.dataDescription || \"\";\n this.name = attributes.name || \"\";\n this.rootElement = null;\n this.uri = null;\n }\n}\nclass ConnectionSetNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (ConnectionSetNamespace.hasOwnProperty(name)) {\n return ConnectionSetNamespace[name](attributes);\n }\n return undefined;\n }\n static connectionSet(attrs) {\n return new ConnectionSet(attrs);\n }\n static effectiveInputPolicy(attrs) {\n return new EffectiveInputPolicy(attrs);\n }\n static effectiveOutputPolicy(attrs) {\n return new EffectiveOutputPolicy(attrs);\n }\n static operation(attrs) {\n return new Operation(attrs);\n }\n static rootElement(attrs) {\n return new RootElement(attrs);\n }\n static soapAction(attrs) {\n return new SoapAction(attrs);\n }\n static soapAddress(attrs) {\n return new SoapAddress(attrs);\n }\n static uri(attrs) {\n return new Uri(attrs);\n }\n static wsdlAddress(attrs) {\n return new WsdlAddress(attrs);\n }\n static wsdlConnection(attrs) {\n return new WsdlConnection(attrs);\n }\n static xmlConnection(attrs) {\n return new XmlConnection(attrs);\n }\n static xsdConnection(attrs) {\n return new XsdConnection(attrs);\n }\n}\nexports.ConnectionSetNamespace = ConnectionSetNamespace;\n\n/***/ }),\n/* 95 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DatasetsNamespace = void 0;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _namespaces = __w_pdfjs_require__(81);\nvar _xfa_object = __w_pdfjs_require__(87);\nconst DATASETS_NS_ID = _namespaces.NamespaceIds.datasets.id;\nclass Data extends _xfa_object.XmlObject {\n constructor(attributes) {\n super(DATASETS_NS_ID, \"data\", attributes);\n }\n [_symbol_utils.$isNsAgnostic]() {\n return true;\n }\n}\nclass Datasets extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(DATASETS_NS_ID, \"datasets\", true);\n this.data = null;\n this.Signature = null;\n }\n [_symbol_utils.$onChild](child) {\n const name = child[_symbol_utils.$nodeName];\n if (name === \"data\" && child[_symbol_utils.$namespaceId] === DATASETS_NS_ID || name === \"Signature\" && child[_symbol_utils.$namespaceId] === _namespaces.NamespaceIds.signature.id) {\n this[name] = child;\n }\n this[_symbol_utils.$appendChild](child);\n }\n}\nclass DatasetsNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (DatasetsNamespace.hasOwnProperty(name)) {\n return DatasetsNamespace[name](attributes);\n }\n return undefined;\n }\n static datasets(attributes) {\n return new Datasets(attributes);\n }\n static data(attributes) {\n return new Data(attributes);\n }\n}\nexports.DatasetsNamespace = DatasetsNamespace;\n\n/***/ }),\n/* 96 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.LocaleSetNamespace = void 0;\nvar _namespaces = __w_pdfjs_require__(81);\nvar _xfa_object = __w_pdfjs_require__(87);\nvar _utils = __w_pdfjs_require__(84);\nconst LOCALE_SET_NS_ID = _namespaces.NamespaceIds.localeSet.id;\nclass CalendarSymbols extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"calendarSymbols\", true);\n this.name = \"gregorian\";\n this.dayNames = new _xfa_object.XFAObjectArray(2);\n this.eraNames = null;\n this.meridiemNames = null;\n this.monthNames = new _xfa_object.XFAObjectArray(2);\n }\n}\nclass CurrencySymbol extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"currencySymbol\");\n this.name = (0, _utils.getStringOption)(attributes.name, [\"symbol\", \"isoname\", \"decimal\"]);\n }\n}\nclass CurrencySymbols extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"currencySymbols\", true);\n this.currencySymbol = new _xfa_object.XFAObjectArray(3);\n }\n}\nclass DatePattern extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"datePattern\");\n this.name = (0, _utils.getStringOption)(attributes.name, [\"full\", \"long\", \"med\", \"short\"]);\n }\n}\nclass DatePatterns extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"datePatterns\", true);\n this.datePattern = new _xfa_object.XFAObjectArray(4);\n }\n}\nclass DateTimeSymbols extends _xfa_object.ContentObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"dateTimeSymbols\");\n }\n}\nclass Day extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"day\");\n }\n}\nclass DayNames extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"dayNames\", true);\n this.abbr = (0, _utils.getInteger)({\n data: attributes.abbr,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.day = new _xfa_object.XFAObjectArray(7);\n }\n}\nclass Era extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"era\");\n }\n}\nclass EraNames extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"eraNames\", true);\n this.era = new _xfa_object.XFAObjectArray(2);\n }\n}\nclass Locale extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"locale\", true);\n this.desc = attributes.desc || \"\";\n this.name = \"isoname\";\n this.calendarSymbols = null;\n this.currencySymbols = null;\n this.datePatterns = null;\n this.dateTimeSymbols = null;\n this.numberPatterns = null;\n this.numberSymbols = null;\n this.timePatterns = null;\n this.typeFaces = null;\n }\n}\nclass LocaleSet extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"localeSet\", true);\n this.locale = new _xfa_object.XFAObjectArray();\n }\n}\nclass Meridiem extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"meridiem\");\n }\n}\nclass MeridiemNames extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"meridiemNames\", true);\n this.meridiem = new _xfa_object.XFAObjectArray(2);\n }\n}\nclass Month extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"month\");\n }\n}\nclass MonthNames extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"monthNames\", true);\n this.abbr = (0, _utils.getInteger)({\n data: attributes.abbr,\n defaultValue: 0,\n validate: x => x === 1\n });\n this.month = new _xfa_object.XFAObjectArray(12);\n }\n}\nclass NumberPattern extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"numberPattern\");\n this.name = (0, _utils.getStringOption)(attributes.name, [\"full\", \"long\", \"med\", \"short\"]);\n }\n}\nclass NumberPatterns extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"numberPatterns\", true);\n this.numberPattern = new _xfa_object.XFAObjectArray(4);\n }\n}\nclass NumberSymbol extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"numberSymbol\");\n this.name = (0, _utils.getStringOption)(attributes.name, [\"decimal\", \"grouping\", \"percent\", \"minus\", \"zero\"]);\n }\n}\nclass NumberSymbols extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"numberSymbols\", true);\n this.numberSymbol = new _xfa_object.XFAObjectArray(5);\n }\n}\nclass TimePattern extends _xfa_object.StringObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"timePattern\");\n this.name = (0, _utils.getStringOption)(attributes.name, [\"full\", \"long\", \"med\", \"short\"]);\n }\n}\nclass TimePatterns extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"timePatterns\", true);\n this.timePattern = new _xfa_object.XFAObjectArray(4);\n }\n}\nclass TypeFace extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"typeFace\", true);\n this.name = attributes.name | \"\";\n }\n}\nclass TypeFaces extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(LOCALE_SET_NS_ID, \"typeFaces\", true);\n this.typeFace = new _xfa_object.XFAObjectArray();\n }\n}\nclass LocaleSetNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (LocaleSetNamespace.hasOwnProperty(name)) {\n return LocaleSetNamespace[name](attributes);\n }\n return undefined;\n }\n static calendarSymbols(attrs) {\n return new CalendarSymbols(attrs);\n }\n static currencySymbol(attrs) {\n return new CurrencySymbol(attrs);\n }\n static currencySymbols(attrs) {\n return new CurrencySymbols(attrs);\n }\n static datePattern(attrs) {\n return new DatePattern(attrs);\n }\n static datePatterns(attrs) {\n return new DatePatterns(attrs);\n }\n static dateTimeSymbols(attrs) {\n return new DateTimeSymbols(attrs);\n }\n static day(attrs) {\n return new Day(attrs);\n }\n static dayNames(attrs) {\n return new DayNames(attrs);\n }\n static era(attrs) {\n return new Era(attrs);\n }\n static eraNames(attrs) {\n return new EraNames(attrs);\n }\n static locale(attrs) {\n return new Locale(attrs);\n }\n static localeSet(attrs) {\n return new LocaleSet(attrs);\n }\n static meridiem(attrs) {\n return new Meridiem(attrs);\n }\n static meridiemNames(attrs) {\n return new MeridiemNames(attrs);\n }\n static month(attrs) {\n return new Month(attrs);\n }\n static monthNames(attrs) {\n return new MonthNames(attrs);\n }\n static numberPattern(attrs) {\n return new NumberPattern(attrs);\n }\n static numberPatterns(attrs) {\n return new NumberPatterns(attrs);\n }\n static numberSymbol(attrs) {\n return new NumberSymbol(attrs);\n }\n static numberSymbols(attrs) {\n return new NumberSymbols(attrs);\n }\n static timePattern(attrs) {\n return new TimePattern(attrs);\n }\n static timePatterns(attrs) {\n return new TimePatterns(attrs);\n }\n static typeFace(attrs) {\n return new TypeFace(attrs);\n }\n static typeFaces(attrs) {\n return new TypeFaces(attrs);\n }\n}\nexports.LocaleSetNamespace = LocaleSetNamespace;\n\n/***/ }),\n/* 97 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SignatureNamespace = void 0;\nvar _namespaces = __w_pdfjs_require__(81);\nvar _xfa_object = __w_pdfjs_require__(87);\nconst SIGNATURE_NS_ID = _namespaces.NamespaceIds.signature.id;\nclass Signature extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(SIGNATURE_NS_ID, \"signature\", true);\n }\n}\nclass SignatureNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (SignatureNamespace.hasOwnProperty(name)) {\n return SignatureNamespace[name](attributes);\n }\n return undefined;\n }\n static signature(attributes) {\n return new Signature(attributes);\n }\n}\nexports.SignatureNamespace = SignatureNamespace;\n\n/***/ }),\n/* 98 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StylesheetNamespace = void 0;\nvar _namespaces = __w_pdfjs_require__(81);\nvar _xfa_object = __w_pdfjs_require__(87);\nconst STYLESHEET_NS_ID = _namespaces.NamespaceIds.stylesheet.id;\nclass Stylesheet extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(STYLESHEET_NS_ID, \"stylesheet\", true);\n }\n}\nclass StylesheetNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (StylesheetNamespace.hasOwnProperty(name)) {\n return StylesheetNamespace[name](attributes);\n }\n return undefined;\n }\n static stylesheet(attributes) {\n return new Stylesheet(attributes);\n }\n}\nexports.StylesheetNamespace = StylesheetNamespace;\n\n/***/ }),\n/* 99 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XdpNamespace = void 0;\nvar _namespaces = __w_pdfjs_require__(81);\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _xfa_object = __w_pdfjs_require__(87);\nconst XDP_NS_ID = _namespaces.NamespaceIds.xdp.id;\nclass Xdp extends _xfa_object.XFAObject {\n constructor(attributes) {\n super(XDP_NS_ID, \"xdp\", true);\n this.uuid = attributes.uuid || \"\";\n this.timeStamp = attributes.timeStamp || \"\";\n this.config = null;\n this.connectionSet = null;\n this.datasets = null;\n this.localeSet = null;\n this.stylesheet = new _xfa_object.XFAObjectArray();\n this.template = null;\n }\n [_symbol_utils.$onChildCheck](child) {\n const ns = _namespaces.NamespaceIds[child[_symbol_utils.$nodeName]];\n return ns && child[_symbol_utils.$namespaceId] === ns.id;\n }\n}\nclass XdpNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (XdpNamespace.hasOwnProperty(name)) {\n return XdpNamespace[name](attributes);\n }\n return undefined;\n }\n static xdp(attributes) {\n return new Xdp(attributes);\n }\n}\nexports.XdpNamespace = XdpNamespace;\n\n/***/ }),\n/* 100 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XhtmlNamespace = void 0;\nvar _symbol_utils = __w_pdfjs_require__(78);\nvar _namespaces = __w_pdfjs_require__(81);\nvar _html_utils = __w_pdfjs_require__(83);\nvar _utils = __w_pdfjs_require__(84);\nvar _xfa_object = __w_pdfjs_require__(87);\nconst XHTML_NS_ID = _namespaces.NamespaceIds.xhtml.id;\nconst $richText = Symbol();\nconst VALID_STYLES = new Set([\"color\", \"font\", \"font-family\", \"font-size\", \"font-stretch\", \"font-style\", \"font-weight\", \"margin\", \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\", \"letter-spacing\", \"line-height\", \"orphans\", \"page-break-after\", \"page-break-before\", \"page-break-inside\", \"tab-interval\", \"tab-stop\", \"text-align\", \"text-decoration\", \"text-indent\", \"vertical-align\", \"widows\", \"kerning-mode\", \"xfa-font-horizontal-scale\", \"xfa-font-vertical-scale\", \"xfa-spacerun\", \"xfa-tab-stops\"]);\nconst StyleMapping = new Map([[\"page-break-after\", \"breakAfter\"], [\"page-break-before\", \"breakBefore\"], [\"page-break-inside\", \"breakInside\"], [\"kerning-mode\", value => value === \"none\" ? \"none\" : \"normal\"], [\"xfa-font-horizontal-scale\", value => `scaleX(${Math.max(0, Math.min(parseInt(value) / 100)).toFixed(2)})`], [\"xfa-font-vertical-scale\", value => `scaleY(${Math.max(0, Math.min(parseInt(value) / 100)).toFixed(2)})`], [\"xfa-spacerun\", \"\"], [\"xfa-tab-stops\", \"\"], [\"font-size\", (value, original) => {\n value = original.fontSize = (0, _utils.getMeasurement)(value);\n return (0, _html_utils.measureToString)(0.99 * value);\n}], [\"letter-spacing\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))], [\"line-height\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))], [\"margin\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))], [\"margin-bottom\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))], [\"margin-left\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))], [\"margin-right\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))], [\"margin-top\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))], [\"text-indent\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))], [\"font-family\", value => value], [\"vertical-align\", value => (0, _html_utils.measureToString)((0, _utils.getMeasurement)(value))]]);\nconst spacesRegExp = /\\s+/g;\nconst crlfRegExp = /[\\r\\n]+/g;\nconst crlfForRichTextRegExp = /\\r\\n?/g;\nfunction mapStyle(styleStr, node, richText) {\n const style = Object.create(null);\n if (!styleStr) {\n return style;\n }\n const original = Object.create(null);\n for (const [key, value] of styleStr.split(\";\").map(s => s.split(\":\", 2))) {\n const mapping = StyleMapping.get(key);\n if (mapping === \"\") {\n continue;\n }\n let newValue = value;\n if (mapping) {\n newValue = typeof mapping === \"string\" ? mapping : mapping(value, original);\n }\n if (key.endsWith(\"scale\")) {\n style.transform = style.transform ? `${style[key]} ${newValue}` : newValue;\n } else {\n style[key.replaceAll(/-([a-zA-Z])/g, (_, x) => x.toUpperCase())] = newValue;\n }\n }\n if (style.fontFamily) {\n (0, _html_utils.setFontFamily)({\n typeface: style.fontFamily,\n weight: style.fontWeight || \"normal\",\n posture: style.fontStyle || \"normal\",\n size: original.fontSize || 0\n }, node, node[_symbol_utils.$globalData].fontFinder, style);\n }\n if (richText && style.verticalAlign && style.verticalAlign !== \"0px\" && style.fontSize) {\n const SUB_SUPER_SCRIPT_FACTOR = 0.583;\n const VERTICAL_FACTOR = 0.333;\n const fontSize = (0, _utils.getMeasurement)(style.fontSize);\n style.fontSize = (0, _html_utils.measureToString)(fontSize * SUB_SUPER_SCRIPT_FACTOR);\n style.verticalAlign = (0, _html_utils.measureToString)(Math.sign((0, _utils.getMeasurement)(style.verticalAlign)) * fontSize * VERTICAL_FACTOR);\n }\n if (richText && style.fontSize) {\n style.fontSize = `calc(${style.fontSize} * var(--scale-factor))`;\n }\n (0, _html_utils.fixTextIndent)(style);\n return style;\n}\nfunction checkStyle(node) {\n if (!node.style) {\n return \"\";\n }\n return node.style.trim().split(/\\s*;\\s*/).filter(s => !!s).map(s => s.split(/\\s*:\\s*/, 2)).filter(([key, value]) => {\n if (key === \"font-family\") {\n node[_symbol_utils.$globalData].usedTypefaces.add(value);\n }\n return VALID_STYLES.has(key);\n }).map(kv => kv.join(\":\")).join(\";\");\n}\nconst NoWhites = new Set([\"body\", \"html\"]);\nclass XhtmlObject extends _xfa_object.XmlObject {\n constructor(attributes, name) {\n super(XHTML_NS_ID, name);\n this[$richText] = false;\n this.style = attributes.style || \"\";\n }\n [_symbol_utils.$clean](builder) {\n super[_symbol_utils.$clean](builder);\n this.style = checkStyle(this);\n }\n [_symbol_utils.$acceptWhitespace]() {\n return !NoWhites.has(this[_symbol_utils.$nodeName]);\n }\n [_symbol_utils.$onText](str, richText = false) {\n if (!richText) {\n str = str.replaceAll(crlfRegExp, \"\");\n if (!this.style.includes(\"xfa-spacerun:yes\")) {\n str = str.replaceAll(spacesRegExp, \" \");\n }\n } else {\n this[$richText] = true;\n }\n if (str) {\n this[_symbol_utils.$content] += str;\n }\n }\n [_symbol_utils.$pushGlyphs](measure, mustPop = true) {\n const xfaFont = Object.create(null);\n const margin = {\n top: NaN,\n bottom: NaN,\n left: NaN,\n right: NaN\n };\n let lineHeight = null;\n for (const [key, value] of this.style.split(\";\").map(s => s.split(\":\", 2))) {\n switch (key) {\n case \"font-family\":\n xfaFont.typeface = (0, _utils.stripQuotes)(value);\n break;\n case \"font-size\":\n xfaFont.size = (0, _utils.getMeasurement)(value);\n break;\n case \"font-weight\":\n xfaFont.weight = value;\n break;\n case \"font-style\":\n xfaFont.posture = value;\n break;\n case \"letter-spacing\":\n xfaFont.letterSpacing = (0, _utils.getMeasurement)(value);\n break;\n case \"margin\":\n const values = value.split(/ \\t/).map(x => (0, _utils.getMeasurement)(x));\n switch (values.length) {\n case 1:\n margin.top = margin.bottom = margin.left = margin.right = values[0];\n break;\n case 2:\n margin.top = margin.bottom = values[0];\n margin.left = margin.right = values[1];\n break;\n case 3:\n margin.top = values[0];\n margin.bottom = values[2];\n margin.left = margin.right = values[1];\n break;\n case 4:\n margin.top = values[0];\n margin.left = values[1];\n margin.bottom = values[2];\n margin.right = values[3];\n break;\n }\n break;\n case \"margin-top\":\n margin.top = (0, _utils.getMeasurement)(value);\n break;\n case \"margin-bottom\":\n margin.bottom = (0, _utils.getMeasurement)(value);\n break;\n case \"margin-left\":\n margin.left = (0, _utils.getMeasurement)(value);\n break;\n case \"margin-right\":\n margin.right = (0, _utils.getMeasurement)(value);\n break;\n case \"line-height\":\n lineHeight = (0, _utils.getMeasurement)(value);\n break;\n }\n }\n measure.pushData(xfaFont, margin, lineHeight);\n if (this[_symbol_utils.$content]) {\n measure.addString(this[_symbol_utils.$content]);\n } else {\n for (const child of this[_symbol_utils.$getChildren]()) {\n if (child[_symbol_utils.$nodeName] === \"#text\") {\n measure.addString(child[_symbol_utils.$content]);\n continue;\n }\n child[_symbol_utils.$pushGlyphs](measure);\n }\n }\n if (mustPop) {\n measure.popFont();\n }\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const children = [];\n this[_symbol_utils.$extra] = {\n children\n };\n this[_symbol_utils.$childrenToHTML]({});\n if (children.length === 0 && !this[_symbol_utils.$content]) {\n return _utils.HTMLResult.EMPTY;\n }\n let value;\n if (this[$richText]) {\n value = this[_symbol_utils.$content] ? this[_symbol_utils.$content].replaceAll(crlfForRichTextRegExp, \"\\n\") : undefined;\n } else {\n value = this[_symbol_utils.$content] || undefined;\n }\n return _utils.HTMLResult.success({\n name: this[_symbol_utils.$nodeName],\n attributes: {\n href: this.href,\n style: mapStyle(this.style, this, this[$richText])\n },\n children,\n value\n });\n }\n}\nclass A extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"a\");\n this.href = (0, _html_utils.fixURL)(attributes.href) || \"\";\n }\n}\nclass B extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"b\");\n }\n [_symbol_utils.$pushGlyphs](measure) {\n measure.pushFont({\n weight: \"bold\"\n });\n super[_symbol_utils.$pushGlyphs](measure);\n measure.popFont();\n }\n}\nclass Body extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"body\");\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const res = super[_symbol_utils.$toHTML](availableSpace);\n const {\n html\n } = res;\n if (!html) {\n return _utils.HTMLResult.EMPTY;\n }\n html.name = \"div\";\n html.attributes.class = [\"xfaRich\"];\n return res;\n }\n}\nclass Br extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"br\");\n }\n [_symbol_utils.$text]() {\n return \"\\n\";\n }\n [_symbol_utils.$pushGlyphs](measure) {\n measure.addString(\"\\n\");\n }\n [_symbol_utils.$toHTML](availableSpace) {\n return _utils.HTMLResult.success({\n name: \"br\"\n });\n }\n}\nclass Html extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"html\");\n }\n [_symbol_utils.$toHTML](availableSpace) {\n const children = [];\n this[_symbol_utils.$extra] = {\n children\n };\n this[_symbol_utils.$childrenToHTML]({});\n if (children.length === 0) {\n return _utils.HTMLResult.success({\n name: \"div\",\n attributes: {\n class: [\"xfaRich\"],\n style: {}\n },\n value: this[_symbol_utils.$content] || \"\"\n });\n }\n if (children.length === 1) {\n const child = children[0];\n if (child.attributes?.class.includes(\"xfaRich\")) {\n return _utils.HTMLResult.success(child);\n }\n }\n return _utils.HTMLResult.success({\n name: \"div\",\n attributes: {\n class: [\"xfaRich\"],\n style: {}\n },\n children\n });\n }\n}\nclass I extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"i\");\n }\n [_symbol_utils.$pushGlyphs](measure) {\n measure.pushFont({\n posture: \"italic\"\n });\n super[_symbol_utils.$pushGlyphs](measure);\n measure.popFont();\n }\n}\nclass Li extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"li\");\n }\n}\nclass Ol extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"ol\");\n }\n}\nclass P extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"p\");\n }\n [_symbol_utils.$pushGlyphs](measure) {\n super[_symbol_utils.$pushGlyphs](measure, false);\n measure.addString(\"\\n\");\n measure.addPara();\n measure.popFont();\n }\n [_symbol_utils.$text]() {\n const siblings = this[_symbol_utils.$getParent]()[_symbol_utils.$getChildren]();\n if (siblings.at(-1) === this) {\n return super[_symbol_utils.$text]();\n }\n return super[_symbol_utils.$text]() + \"\\n\";\n }\n}\nclass Span extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"span\");\n }\n}\nclass Sub extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"sub\");\n }\n}\nclass Sup extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"sup\");\n }\n}\nclass Ul extends XhtmlObject {\n constructor(attributes) {\n super(attributes, \"ul\");\n }\n}\nclass XhtmlNamespace {\n static [_namespaces.$buildXFAObject](name, attributes) {\n if (XhtmlNamespace.hasOwnProperty(name)) {\n return XhtmlNamespace[name](attributes);\n }\n return undefined;\n }\n static a(attributes) {\n return new A(attributes);\n }\n static b(attributes) {\n return new B(attributes);\n }\n static body(attributes) {\n return new Body(attributes);\n }\n static br(attributes) {\n return new Br(attributes);\n }\n static html(attributes) {\n return new Html(attributes);\n }\n static i(attributes) {\n return new I(attributes);\n }\n static li(attributes) {\n return new Li(attributes);\n }\n static ol(attributes) {\n return new Ol(attributes);\n }\n static p(attributes) {\n return new P(attributes);\n }\n static span(attributes) {\n return new Span(attributes);\n }\n static sub(attributes) {\n return new Sub(attributes);\n }\n static sup(attributes) {\n return new Sup(attributes);\n }\n static ul(attributes) {\n return new Ul(attributes);\n }\n}\nexports.XhtmlNamespace = XhtmlNamespace;\n\n/***/ }),\n/* 101 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.UnknownNamespace = void 0;\nvar _namespaces = __w_pdfjs_require__(81);\nvar _xfa_object = __w_pdfjs_require__(87);\nclass UnknownNamespace {\n constructor(nsId) {\n this.namespaceId = nsId;\n }\n [_namespaces.$buildXFAObject](name, attributes) {\n return new _xfa_object.XmlObject(this.namespaceId, name, attributes);\n }\n}\nexports.UnknownNamespace = UnknownNamespace;\n\n/***/ }),\n/* 102 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DatasetReader = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _xml_parser = __w_pdfjs_require__(71);\nfunction decodeString(str) {\n try {\n return (0, _util.stringToUTF8String)(str);\n } catch (ex) {\n (0, _util.warn)(`UTF-8 decoding failed: \"${ex}\".`);\n return str;\n }\n}\nclass DatasetXMLParser extends _xml_parser.SimpleXMLParser {\n constructor(options) {\n super(options);\n this.node = null;\n }\n onEndElement(name) {\n const node = super.onEndElement(name);\n if (node && name === \"xfa:datasets\") {\n this.node = node;\n throw new Error(\"Aborting DatasetXMLParser.\");\n }\n }\n}\nclass DatasetReader {\n constructor(data) {\n if (data.datasets) {\n this.node = new _xml_parser.SimpleXMLParser({\n hasAttributes: true\n }).parseFromString(data.datasets).documentElement;\n } else {\n const parser = new DatasetXMLParser({\n hasAttributes: true\n });\n try {\n parser.parseFromString(data[\"xdp:xdp\"]);\n } catch {}\n this.node = parser.node;\n }\n }\n getValue(path) {\n if (!this.node || !path) {\n return \"\";\n }\n const node = this.node.searchNode((0, _core_utils.parseXFAPath)(path), 0);\n if (!node) {\n return \"\";\n }\n const first = node.firstChild;\n if (first?.nodeName === \"value\") {\n return node.children.map(child => decodeString(child.textContent));\n }\n return decodeString(node.textContent);\n }\n}\nexports.DatasetReader = DatasetReader;\n\n/***/ }),\n/* 103 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XRef = void 0;\nvar _util = __w_pdfjs_require__(2);\nvar _primitives = __w_pdfjs_require__(4);\nvar _parser = __w_pdfjs_require__(16);\nvar _core_utils = __w_pdfjs_require__(3);\nvar _base_stream = __w_pdfjs_require__(5);\nvar _crypto = __w_pdfjs_require__(74);\nclass XRef {\n #firstXRefStmPos = null;\n constructor(stream, pdfManager) {\n this.stream = stream;\n this.pdfManager = pdfManager;\n this.entries = [];\n this._xrefStms = new Set();\n this._cacheMap = new Map();\n this._pendingRefs = new _primitives.RefSet();\n this._newPersistentRefNum = null;\n this._newTemporaryRefNum = null;\n }\n getNewPersistentRef(obj) {\n if (this._newPersistentRefNum === null) {\n this._newPersistentRefNum = this.entries.length || 1;\n }\n const num = this._newPersistentRefNum++;\n this._cacheMap.set(num, obj);\n return _primitives.Ref.get(num, 0);\n }\n getNewTemporaryRef() {\n if (this._newTemporaryRefNum === null) {\n this._newTemporaryRefNum = this.entries.length || 1;\n }\n return _primitives.Ref.get(this._newTemporaryRefNum++, 0);\n }\n resetNewTemporaryRef() {\n this._newTemporaryRefNum = null;\n }\n setStartXRef(startXRef) {\n this.startXRefQueue = [startXRef];\n }\n parse(recoveryMode = false) {\n let trailerDict;\n if (!recoveryMode) {\n trailerDict = this.readXRef();\n } else {\n (0, _util.warn)(\"Indexing all PDF objects\");\n trailerDict = this.indexObjects();\n }\n trailerDict.assignXref(this);\n this.trailer = trailerDict;\n let encrypt;\n try {\n encrypt = trailerDict.get(\"Encrypt\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(`XRef.parse - Invalid \"Encrypt\" reference: \"${ex}\".`);\n }\n if (encrypt instanceof _primitives.Dict) {\n const ids = trailerDict.get(\"ID\");\n const fileId = ids?.length ? ids[0] : \"\";\n encrypt.suppressEncryption = true;\n this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n }\n let root;\n try {\n root = trailerDict.get(\"Root\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(`XRef.parse - Invalid \"Root\" reference: \"${ex}\".`);\n }\n if (root instanceof _primitives.Dict) {\n try {\n const pages = root.get(\"Pages\");\n if (pages instanceof _primitives.Dict) {\n this.root = root;\n return;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n (0, _util.warn)(`XRef.parse - Invalid \"Pages\" reference: \"${ex}\".`);\n }\n }\n if (!recoveryMode) {\n throw new _core_utils.XRefParseException();\n }\n throw new _util.InvalidPDFException(\"Invalid Root reference.\");\n }\n processXRefTable(parser) {\n if (!(\"tableState\" in this)) {\n this.tableState = {\n entryNum: 0,\n streamPos: parser.lexer.stream.pos,\n parserBuf1: parser.buf1,\n parserBuf2: parser.buf2\n };\n }\n const obj = this.readXRefTable(parser);\n if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n throw new _util.FormatError(\"Invalid XRef table: could not find trailer dictionary\");\n }\n let dict = parser.getObj();\n if (!(dict instanceof _primitives.Dict) && dict.dict) {\n dict = dict.dict;\n }\n if (!(dict instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"Invalid XRef table: could not parse trailer dictionary\");\n }\n delete this.tableState;\n return dict;\n }\n readXRefTable(parser) {\n const stream = parser.lexer.stream;\n const tableState = this.tableState;\n stream.pos = tableState.streamPos;\n parser.buf1 = tableState.parserBuf1;\n parser.buf2 = tableState.parserBuf2;\n let obj;\n while (true) {\n if (!(\"firstEntryNum\" in tableState) || !(\"entryCount\" in tableState)) {\n if ((0, _primitives.isCmd)(obj = parser.getObj(), \"trailer\")) {\n break;\n }\n tableState.firstEntryNum = obj;\n tableState.entryCount = parser.getObj();\n }\n let first = tableState.firstEntryNum;\n const count = tableState.entryCount;\n if (!Number.isInteger(first) || !Number.isInteger(count)) {\n throw new _util.FormatError(\"Invalid XRef table: wrong types in subsection header\");\n }\n for (let i = tableState.entryNum; i < count; i++) {\n tableState.streamPos = stream.pos;\n tableState.entryNum = i;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n const entry = {};\n entry.offset = parser.getObj();\n entry.gen = parser.getObj();\n const type = parser.getObj();\n if (type instanceof _primitives.Cmd) {\n switch (type.cmd) {\n case \"f\":\n entry.free = true;\n break;\n case \"n\":\n entry.uncompressed = true;\n break;\n }\n }\n if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n throw new _util.FormatError(`Invalid entry in XRef subsection: ${first}, ${count}`);\n }\n if (i === 0 && entry.free && first === 1) {\n first = 0;\n }\n if (!this.entries[i + first]) {\n this.entries[i + first] = entry;\n }\n }\n tableState.entryNum = 0;\n tableState.streamPos = stream.pos;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n delete tableState.firstEntryNum;\n delete tableState.entryCount;\n }\n if (this.entries[0] && !this.entries[0].free) {\n throw new _util.FormatError(\"Invalid XRef table: unexpected first object\");\n }\n return obj;\n }\n processXRefStream(stream) {\n if (!(\"streamState\" in this)) {\n const streamParameters = stream.dict;\n const byteWidths = streamParameters.get(\"W\");\n let range = streamParameters.get(\"Index\");\n if (!range) {\n range = [0, streamParameters.get(\"Size\")];\n }\n this.streamState = {\n entryRanges: range,\n byteWidths,\n entryNum: 0,\n streamPos: stream.pos\n };\n }\n this.readXRefStream(stream);\n delete this.streamState;\n return stream.dict;\n }\n readXRefStream(stream) {\n const streamState = this.streamState;\n stream.pos = streamState.streamPos;\n const [typeFieldWidth, offsetFieldWidth, generationFieldWidth] = streamState.byteWidths;\n const entryRanges = streamState.entryRanges;\n while (entryRanges.length > 0) {\n const [first, n] = entryRanges;\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(`Invalid XRef range fields: ${first}, ${n}`);\n }\n if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n throw new _util.FormatError(`Invalid XRef entry fields length: ${first}, ${n}`);\n }\n for (let i = streamState.entryNum; i < n; ++i) {\n streamState.entryNum = i;\n streamState.streamPos = stream.pos;\n let type = 0,\n offset = 0,\n generation = 0;\n for (let j = 0; j < typeFieldWidth; ++j) {\n const typeByte = stream.getByte();\n if (typeByte === -1) {\n throw new _util.FormatError(\"Invalid XRef byteWidths 'type'.\");\n }\n type = type << 8 | typeByte;\n }\n if (typeFieldWidth === 0) {\n type = 1;\n }\n for (let j = 0; j < offsetFieldWidth; ++j) {\n const offsetByte = stream.getByte();\n if (offsetByte === -1) {\n throw new _util.FormatError(\"Invalid XRef byteWidths 'offset'.\");\n }\n offset = offset << 8 | offsetByte;\n }\n for (let j = 0; j < generationFieldWidth; ++j) {\n const generationByte = stream.getByte();\n if (generationByte === -1) {\n throw new _util.FormatError(\"Invalid XRef byteWidths 'generation'.\");\n }\n generation = generation << 8 | generationByte;\n }\n const entry = {};\n entry.offset = offset;\n entry.gen = generation;\n switch (type) {\n case 0:\n entry.free = true;\n break;\n case 1:\n entry.uncompressed = true;\n break;\n case 2:\n break;\n default:\n throw new _util.FormatError(`Invalid XRef entry type: ${type}`);\n }\n if (!this.entries[first + i]) {\n this.entries[first + i] = entry;\n }\n }\n streamState.entryNum = 0;\n streamState.streamPos = stream.pos;\n entryRanges.splice(0, 2);\n }\n }\n indexObjects() {\n const TAB = 0x9,\n LF = 0xa,\n CR = 0xd,\n SPACE = 0x20;\n const PERCENT = 0x25,\n LT = 0x3c;\n function readToken(data, offset) {\n let token = \"\",\n ch = data[offset];\n while (ch !== LF && ch !== CR && ch !== LT) {\n if (++offset >= data.length) {\n break;\n }\n token += String.fromCharCode(ch);\n ch = data[offset];\n }\n return token;\n }\n function skipUntil(data, offset, what) {\n const length = what.length,\n dataLength = data.length;\n let skipped = 0;\n while (offset < dataLength) {\n let i = 0;\n while (i < length && data[offset + i] === what[i]) {\n ++i;\n }\n if (i >= length) {\n break;\n }\n offset++;\n skipped++;\n }\n return skipped;\n }\n const gEndobjRegExp = /\\b(endobj|\\d+\\s+\\d+\\s+obj|xref|trailer\\s*<<)\\b/g;\n const gStartxrefRegExp = /\\b(startxref|\\d+\\s+\\d+\\s+obj)\\b/g;\n const objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n const trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n const startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n const xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n this.entries.length = 0;\n this._cacheMap.clear();\n const stream = this.stream;\n stream.pos = 0;\n const buffer = stream.getBytes(),\n bufferStr = (0, _util.bytesToString)(buffer),\n length = buffer.length;\n let position = stream.start;\n const trailers = [],\n xrefStms = [];\n while (position < length) {\n let ch = buffer[position];\n if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n ++position;\n continue;\n }\n if (ch === PERCENT) {\n do {\n ++position;\n if (position >= length) {\n break;\n }\n ch = buffer[position];\n } while (ch !== LF && ch !== CR);\n continue;\n }\n const token = readToken(buffer, position);\n let m;\n if (token.startsWith(\"xref\") && (token.length === 4 || /\\s/.test(token[4]))) {\n position += skipUntil(buffer, position, trailerBytes);\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else if (m = objRegExp.exec(token)) {\n const num = m[1] | 0,\n gen = m[2] | 0;\n const startPos = position + token.length;\n let contentLength,\n updateEntries = false;\n if (!this.entries[num]) {\n updateEntries = true;\n } else if (this.entries[num].gen === gen) {\n try {\n const parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream.makeSubStream(startPos))\n });\n parser.getObj();\n updateEntries = true;\n } catch (ex) {\n if (ex instanceof _core_utils.ParserEOFException) {\n (0, _util.warn)(`indexObjects -- checking object (${token}): \"${ex}\".`);\n } else {\n updateEntries = true;\n }\n }\n }\n if (updateEntries) {\n this.entries[num] = {\n offset: position - stream.start,\n gen,\n uncompressed: true\n };\n }\n gEndobjRegExp.lastIndex = startPos;\n const match = gEndobjRegExp.exec(bufferStr);\n if (match) {\n const endPos = gEndobjRegExp.lastIndex + 1;\n contentLength = endPos - position;\n if (match[1] !== \"endobj\") {\n (0, _util.warn)(`indexObjects: Found \"${match[1]}\" inside of another \"obj\", ` + 'caused by missing \"endobj\" -- trying to recover.');\n contentLength -= match[1].length + 1;\n }\n } else {\n contentLength = length - position;\n }\n const content = buffer.subarray(position, position + contentLength);\n const xrefTagOffset = skipUntil(content, 0, xrefBytes);\n if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n xrefStms.push(position - stream.start);\n this._xrefStms.add(position - stream.start);\n }\n position += contentLength;\n } else if (token.startsWith(\"trailer\") && (token.length === 7 || /\\s/.test(token[7]))) {\n trailers.push(position);\n const startPos = position + token.length;\n let contentLength;\n gStartxrefRegExp.lastIndex = startPos;\n const match = gStartxrefRegExp.exec(bufferStr);\n if (match) {\n const endPos = gStartxrefRegExp.lastIndex + 1;\n contentLength = endPos - position;\n if (match[1] !== \"startxref\") {\n (0, _util.warn)(`indexObjects: Found \"${match[1]}\" after \"trailer\", ` + 'caused by missing \"startxref\" -- trying to recover.');\n contentLength -= match[1].length + 1;\n }\n } else {\n contentLength = length - position;\n }\n position += contentLength;\n } else {\n position += token.length + 1;\n }\n }\n for (const xrefStm of xrefStms) {\n this.startXRefQueue.push(xrefStm);\n this.readXRef(true);\n }\n const trailerDicts = [];\n let isEncrypted = false;\n for (const trailer of trailers) {\n stream.pos = trailer;\n const parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true,\n recoveryMode: true\n });\n const obj = parser.getObj();\n if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n continue;\n }\n const dict = parser.getObj();\n if (!(dict instanceof _primitives.Dict)) {\n continue;\n }\n trailerDicts.push(dict);\n if (dict.has(\"Encrypt\")) {\n isEncrypted = true;\n }\n }\n let trailerDict, trailerError;\n for (const dict of [...trailerDicts, \"genFallback\", ...trailerDicts]) {\n if (dict === \"genFallback\") {\n if (!trailerError) {\n break;\n }\n this._generationFallback = true;\n continue;\n }\n let validPagesDict = false;\n try {\n const rootDict = dict.get(\"Root\");\n if (!(rootDict instanceof _primitives.Dict)) {\n continue;\n }\n const pagesDict = rootDict.get(\"Pages\");\n if (!(pagesDict instanceof _primitives.Dict)) {\n continue;\n }\n const pagesCount = pagesDict.get(\"Count\");\n if (Number.isInteger(pagesCount)) {\n validPagesDict = true;\n }\n } catch (ex) {\n trailerError = ex;\n continue;\n }\n if (validPagesDict && (!isEncrypted || dict.has(\"Encrypt\")) && dict.has(\"ID\")) {\n return dict;\n }\n trailerDict = dict;\n }\n if (trailerDict) {\n return trailerDict;\n }\n if (this.topDict) {\n return this.topDict;\n }\n throw new _util.InvalidPDFException(\"Invalid PDF structure.\");\n }\n readXRef(recoveryMode = false) {\n const stream = this.stream;\n const startXRefParsedCache = new Set();\n while (this.startXRefQueue.length) {\n try {\n const startXRef = this.startXRefQueue[0];\n if (startXRefParsedCache.has(startXRef)) {\n (0, _util.warn)(\"readXRef - skipping XRef table since it was already parsed.\");\n this.startXRefQueue.shift();\n continue;\n }\n startXRefParsedCache.add(startXRef);\n stream.pos = startXRef + stream.start;\n const parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n let obj = parser.getObj();\n let dict;\n if ((0, _primitives.isCmd)(obj, \"xref\")) {\n dict = this.processXRefTable(parser);\n if (!this.topDict) {\n this.topDict = dict;\n }\n obj = dict.get(\"XRefStm\");\n if (Number.isInteger(obj) && !this._xrefStms.has(obj)) {\n this._xrefStms.add(obj);\n this.startXRefQueue.push(obj);\n this.#firstXRefStmPos ??= obj;\n }\n } else if (Number.isInteger(obj)) {\n if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), \"obj\") || !((obj = parser.getObj()) instanceof _base_stream.BaseStream)) {\n throw new _util.FormatError(\"Invalid XRef stream\");\n }\n dict = this.processXRefStream(obj);\n if (!this.topDict) {\n this.topDict = dict;\n }\n if (!dict) {\n throw new _util.FormatError(\"Failed to read XRef stream\");\n }\n } else {\n throw new _util.FormatError(\"Invalid XRef stream header\");\n }\n obj = dict.get(\"Prev\");\n if (Number.isInteger(obj)) {\n this.startXRefQueue.push(obj);\n } else if (obj instanceof _primitives.Ref) {\n this.startXRefQueue.push(obj.num);\n }\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n (0, _util.info)(\"(while reading XRef): \" + e);\n }\n this.startXRefQueue.shift();\n }\n if (this.topDict) {\n return this.topDict;\n }\n if (recoveryMode) {\n return undefined;\n }\n throw new _core_utils.XRefParseException();\n }\n get lastXRefStreamPos() {\n return this.#firstXRefStmPos ?? (this._xrefStms.size > 0 ? Math.max(...this._xrefStms) : null);\n }\n getEntry(i) {\n const xrefEntry = this.entries[i];\n if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n return xrefEntry;\n }\n return null;\n }\n fetchIfRef(obj, suppressEncryption = false) {\n if (obj instanceof _primitives.Ref) {\n return this.fetch(obj, suppressEncryption);\n }\n return obj;\n }\n fetch(ref, suppressEncryption = false) {\n if (!(ref instanceof _primitives.Ref)) {\n throw new Error(\"ref object is not a reference\");\n }\n const num = ref.num;\n const cacheEntry = this._cacheMap.get(num);\n if (cacheEntry !== undefined) {\n if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n cacheEntry.objId = ref.toString();\n }\n return cacheEntry;\n }\n let xrefEntry = this.getEntry(num);\n if (xrefEntry === null) {\n this._cacheMap.set(num, xrefEntry);\n return xrefEntry;\n }\n if (this._pendingRefs.has(ref)) {\n this._pendingRefs.remove(ref);\n (0, _util.warn)(`Ignoring circular reference: ${ref}.`);\n return _primitives.CIRCULAR_REF;\n }\n this._pendingRefs.put(ref);\n try {\n xrefEntry = xrefEntry.uncompressed ? this.fetchUncompressed(ref, xrefEntry, suppressEncryption) : this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n this._pendingRefs.remove(ref);\n } catch (ex) {\n this._pendingRefs.remove(ref);\n throw ex;\n }\n if (xrefEntry instanceof _primitives.Dict) {\n xrefEntry.objId = ref.toString();\n } else if (xrefEntry instanceof _base_stream.BaseStream) {\n xrefEntry.dict.objId = ref.toString();\n }\n return xrefEntry;\n }\n fetchUncompressed(ref, xrefEntry, suppressEncryption = false) {\n const gen = ref.gen;\n let num = ref.num;\n if (xrefEntry.gen !== gen) {\n const msg = `Inconsistent generation in XRef: ${ref}`;\n if (this._generationFallback && xrefEntry.gen < gen) {\n (0, _util.warn)(msg);\n return this.fetchUncompressed(_primitives.Ref.get(num, xrefEntry.gen), xrefEntry, suppressEncryption);\n }\n throw new _core_utils.XRefEntryException(msg);\n }\n const stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n const parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n const obj1 = parser.getObj();\n const obj2 = parser.getObj();\n const obj3 = parser.getObj();\n if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {\n throw new _core_utils.XRefEntryException(`Bad (uncompressed) XRef entry: ${ref}`);\n }\n if (obj3.cmd !== \"obj\") {\n if (obj3.cmd.startsWith(\"obj\")) {\n num = parseInt(obj3.cmd.substring(3), 10);\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n throw new _core_utils.XRefEntryException(`Bad (uncompressed) XRef entry: ${ref}`);\n }\n xrefEntry = this.encrypt && !suppressEncryption ? parser.getObj(this.encrypt.createCipherTransform(num, gen)) : parser.getObj();\n if (!(xrefEntry instanceof _base_stream.BaseStream)) {\n this._cacheMap.set(num, xrefEntry);\n }\n return xrefEntry;\n }\n fetchCompressed(ref, xrefEntry, suppressEncryption = false) {\n const tableOffset = xrefEntry.offset;\n const stream = this.fetch(_primitives.Ref.get(tableOffset, 0));\n if (!(stream instanceof _base_stream.BaseStream)) {\n throw new _util.FormatError(\"bad ObjStm stream\");\n }\n const first = stream.dict.get(\"First\");\n const n = stream.dict.get(\"N\");\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"invalid first and n parameters for ObjStm stream\");\n }\n let parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n const nums = new Array(n);\n const offsets = new Array(n);\n for (let i = 0; i < n; ++i) {\n const num = parser.getObj();\n if (!Number.isInteger(num)) {\n throw new _util.FormatError(`invalid object number in the ObjStm stream: ${num}`);\n }\n const offset = parser.getObj();\n if (!Number.isInteger(offset)) {\n throw new _util.FormatError(`invalid object offset in the ObjStm stream: ${offset}`);\n }\n nums[i] = num;\n offsets[i] = offset;\n }\n const start = (stream.start || 0) + first;\n const entries = new Array(n);\n for (let i = 0; i < n; ++i) {\n const length = i < n - 1 ? offsets[i + 1] - offsets[i] : undefined;\n if (length < 0) {\n throw new _util.FormatError(\"Invalid offset in the ObjStm stream.\");\n }\n parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream.makeSubStream(start + offsets[i], length, stream.dict)),\n xref: this,\n allowStreams: true\n });\n const obj = parser.getObj();\n entries[i] = obj;\n if (obj instanceof _base_stream.BaseStream) {\n continue;\n }\n const num = nums[i],\n entry = this.entries[num];\n if (entry && entry.offset === tableOffset && entry.gen === i) {\n this._cacheMap.set(num, obj);\n }\n }\n xrefEntry = entries[xrefEntry.gen];\n if (xrefEntry === undefined) {\n throw new _core_utils.XRefEntryException(`Bad (compressed) XRef entry: ${ref}`);\n }\n return xrefEntry;\n }\n async fetchIfRefAsync(obj, suppressEncryption) {\n if (obj instanceof _primitives.Ref) {\n return this.fetchAsync(obj, suppressEncryption);\n }\n return obj;\n }\n async fetchAsync(ref, suppressEncryption) {\n try {\n return this.fetch(ref, suppressEncryption);\n } catch (ex) {\n if (!(ex instanceof _core_utils.MissingDataException)) {\n throw ex;\n }\n await this.pdfManager.requestRange(ex.begin, ex.end);\n return this.fetchAsync(ref, suppressEncryption);\n }\n }\n getCatalogObj() {\n return this.root;\n }\n}\nexports.XRef = XRef;\n\n/***/ }),\n/* 104 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\nvar _util = __w_pdfjs_require__(2);\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n this._onComObjOnMessage = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this.#processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this.#createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = new _util.PromiseCapability();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = new _util.PromiseCapability();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n #createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = new _util.PromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: new _util.PromiseCapability(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n #processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull?.());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.isClosed = true;\n streamController.controller.close();\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n new Promise(function (resolve) {\n resolve(streamSink.onCancel?.(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async #deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);\n delete this.streamControllers[streamId];\n }\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n}\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 105 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFWorkerStream = void 0;\nvar _util = __w_pdfjs_require__(2);\nclass PDFWorkerStream {\n constructor(msgHandler) {\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFWorkerStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFWorkerStream = PDFWorkerStream;\nclass PDFWorkerStreamReader {\n constructor(msgHandler) {\n this._msgHandler = msgHandler;\n this.onProgress = null;\n this._contentLength = null;\n this._isRangeSupported = false;\n this._isStreamingSupported = false;\n const readableStream = this._msgHandler.sendWithStream(\"GetReader\");\n this._reader = readableStream.getReader();\n this._headersReady = this._msgHandler.sendWithPromise(\"ReaderHeadersReady\").then(data => {\n this._isStreamingSupported = data.isStreamingSupported;\n this._isRangeSupported = data.isRangeSupported;\n this._contentLength = data.contentLength;\n });\n }\n get headersReady() {\n return this._headersReady;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n async read() {\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value: undefined,\n done: true\n };\n }\n return {\n value: value.buffer,\n done: false\n };\n }\n cancel(reason) {\n this._reader.cancel(reason);\n }\n}\nclass PDFWorkerStreamRangeReader {\n constructor(begin, end, msgHandler) {\n this._msgHandler = msgHandler;\n this.onProgress = null;\n const readableStream = this._msgHandler.sendWithStream(\"GetRangeReader\", {\n begin,\n end\n });\n this._reader = readableStream.getReader();\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value: undefined,\n done: true\n };\n }\n return {\n value: value.buffer,\n done: false\n };\n }\n cancel(reason) {\n this._reader.cancel(reason);\n }\n}\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"WorkerMessageHandler\", ({\n enumerable: true,\n get: function () {\n return _worker.WorkerMessageHandler;\n }\n}));\nvar _worker = __w_pdfjs_require__(1);\nconst pdfjsVersion = '3.11.174';\nconst pdfjsBuild = 'ce8716743';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.worker.js.map"],"names":["root","factory","globalThis","__webpack_modules__","__unused_webpack_module","exports","__w_pdfjs_require__","Object","defineProperty","value","WorkerTask","WorkerMessageHandler","maybePort","_util","_core_utils","_primitives","_pdf_manager","_annotation","_cleanup_helper","_writer","_message_handler","_worker_stream","_struct_tree","constructor","name","terminated","_capability","PromiseCapability","finished","this","promise","finish","resolve","terminate","ensureNotTerminated","Error","handler","port","testMessageProcessed","on","data","send","Uint8Array","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","Set","getVerbosityLevel","docId","apiVersion","enumerableProperties","property","push","length","join","workerHandlerName","MessageHandler","startWorkerTask","task","add","finishWorkerTask","delete","loadDocument","recoveryMode","ensureDoc","isPureXfa","Promise","all","loadXfaFonts","catch","reason","then","loadXfaImages","numPages","fingerprints","htmlForXfa","getPdfManager","password","disableAutoFetch","rangeChunkSize","docBaseUrl","enableXfa","evaluatorOptions","pdfManagerArgs","source","pdfManagerCapability","newPdfManager","LocalPdfManager","ex","reject","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","contentLength","isStreamingSupported","NetworkPdfManager","chunk","sendProgressiveData","loaded","readChunk","done","pdfFile","arrayBuffersToBytes","warn","flushChunks","byteLength","total","Math","max","read","e","cancelAllRequests","getPage","pageIndex","page","ensure","rotate","ref","userUnit","view","pageRef","Ref","get","num","gen","ensureCatalog","id","requestLoadedStream","stream","bytes","intent","getAnnotationsData","async","annotationStorage","filename","globalPromises","promises","newAnnotationsByPage","getNewAnnotationsMap","acroForm","acroFormRef","startXRef","xref","linearization","_structTreeRoot","catalogRef","trailer","getRaw","structTreeRoot","canUpdateStructTree","StructTreeRoot","canCreateStructureTree","imagePromises","AnnotationFactory","generateImages","values","isOffscreenCanvasSupported","newAnnotationPromises","undefined","annotations","saveNewAnnotations","finally","createStructureTree","newRefs","updateStructureTree","serializeXfaData","save","refs","xfaData","flat","needAppearances","Dict","some","xfa","xfaDatasetsRef","hasXfaDatasetsEntry","Array","isArray","i","ii","getNewTemporaryRef","newXrefInfo","create","infoObj","xrefInfo","forEach","key","stringToPDFString","rootRef","encryptRef","newRef","infoRef","info","fileIds","lastXRefStreamPos","incrementalUpdate","originalData","hasXfa","resetNewTemporaryRef","sink","start","VerbosityLevel","INFOS","Date","now","getOperatorList","cacheKey","operatorListInfo","close","error","includeMarkedContent","disableNormalization","extractTextContent","fontFallback","cleanup","waitOn","AbortException","cleanupPromise","clearGlobalCaches","destroy","onSuccess","doc","pdfInfo","onFailure","PasswordException","code","sendWithPromise","updatePassword","pdfManagerReady","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","toString","XRefParseException","setupDoc","setup","window","isNodeJS","self","postMessage","initializeFromPort","Util","TextRenderingMode","RenderingIntentFlag","PermissionFlag","PasswordResponses","PageActionEventType","OPS","MAX_IMAGE_SIZE_TO_CACHE","LINE_FACTOR","LINE_DESCENT_FACTOR","ImageKind","IDENTITY_MATRIX","FormatError","FeatureTest","FONT_IDENTITY_MATRIX","DocumentActionEventType","CMapCompressionType","BaseException","BASELINE_FACTOR","AnnotationType","AnnotationReplyType","AnnotationPrefix","AnnotationMode","AnnotationFlag","AnnotationFieldFlag","AnnotationEditorType","AnnotationEditorPrefix","AnnotationEditorParamsType","AnnotationBorderStyleType","AnnotationActionEventType","assert","cond","msg","unreachable","bytesToString","createValidAbsoluteUrl","url","baseUrl","options","addDefaultProtocol","startsWith","dots","match","tryConvertEncoding","stringToUTF8String","absoluteUrl","URL","_isValidProtocol","getModificationDate","date","buffer","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUuid","crypto","_crypto2","randomUUID","buf","_crypto3","getRandomValues","floor","random","console","log","isArrayBuffer","v","isArrayEqual","arr1","arr2","normalizeUnicode","str","NormalizeRegex","NormalizationMap","Map","replaceAll","_","p1","p2","normalize","objectFromMap","map","obj","objectSize","keys","level","Number","isInteger","shadow","string32","String","fromCharCode","stringToBytes","encoding","decoder","TextDecoder","fatal","decode","strBuf","PDFStringTranslateTable","charCodeAt","charAt","utf8StringToString","unescape","encodeURIComponent","process","versions","nw","electron","type","ANY","DISPLAY","PRINT","SAVE","ANNOTATIONS_FORMS","ANNOTATIONS_STORAGE","ANNOTATIONS_DISABLE","OPLIST","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","NONE","FREETEXT","STAMP","INK","RESIZE","CREATE","FREETEXT_SIZE","FREETEXT_COLOR","FREETEXT_OPACITY","INK_COLOR","INK_THICKNESS","INK_OPACITY","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","CARET","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","F","V","C","WC","WS","DS","WP","DP","O","ERRORS","WARNINGS","BINARY","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotation","endAnnotation","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","NEED_PASSWORD","INCORRECT_PASSWORD","protocol","prop","nonSerializable","enumerable","configurable","writable","prototype","apply","chunkEnd","min","subarray","details","status","isLittleEndian","buffer8","Uint32Array","isEvalSupported","Function","OffscreenCanvas","platform","navigator","isWin","isMac","includes","isCSSRoundSupported","CSS","_globalThis$CSS","supports","_globalThis$CSS$suppo","hexNumbers","n","r","g","b","minMax","temp","m1","m2","p","m","d","applyTransform","slice","p3","p4","transpose","a","c","first","second","sqrt","sx","sy","rect","rect1","rect2","xLow","xHigh","yLow","yHigh","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t","t1","t2","b2ac","sqrtb2ac","abs","mt","j","jlen","decodeURIComponent","escape","settled","XRefEntryException","ParserEOFException","PDF_VERSION_REGEXP","MissingDataException","arr","dataLength","pos","item","set","collectActions","dict","eventType","actions","additionalActionsDicts","getInheritableProperty","stopWhenFound","additionalActions","getKeys","action","actionDict","parents","RefSet","list","_collectJS","has","Action","encodeToXmlString","char","codePointAt","entity","XMLEntities","substring","toUpperCase","escapePDFName","escapeString","getLookupTableFactory","initializer","lookup","size","getRotationMatrix","rotation","width","height","isAscii","test","isWhiteSpace","ch","log2","x","ceil","numberToString","roundedValue","round","toFixed","parseXFAPath","path","positionPattern","split","component","parseInt","readInt8","offset","readUint16","readUint32","recoverJsURL","jsUrl","RegExp","exec","newWindow","stringToUTF16HexString","stringToUTF16String","bigEndian","toRomanNumerals","number","lowerCase","romanBuf","ROMAN_NUMBER_MAP","romanStr","toLowerCase","validateCSSFont","cssFontInfo","CSS_FONT_WEIGHT_VALUES","fontFamily","fontWeight","italicAngle","validateFontName","weight","angle","parseFloat","isNaN","_base_stream","begin","end","getArray","visited","objId","put","entry","parent","fetch","element","isName","js","BaseStream","getString","remove","mustWarn","ident","RefSetCache","Name","EOF","Cmd","CIRCULAR_REF","clearPrimitiveCaches","CmdCache","NameCache","RefCache","isCmd","cmd","isDict","isRefsEqual","v1","v2","Symbol","_NameCache","_CmdCache","_map","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","fetchAsync","getRawValues","callback","empty","emptyDict","dictArray","mergeSubDicts","mergedDict","properties","entries","subDict","clear","clone","_RefCache","_set","iterator","putAlias","aliasRef","isEmpty","isDataLoaded","getByte","getBytes","peekByte","peekedByte","peekBytes","getUint16","b0","b1","getInt32","getByteRange","skip","reset","moveStart","makeSubStream","getBaseStreams","_chunked_stream","_document","_stream","BasePdfManager","args","_docBaseUrl","href","parseDocBaseUrl","_docId","_password","catalog","pdfDocument","ensureXRef","manuallyTriggered","requestRange","Stream","PDFDocument","_loadedStreamPromise","streamManager","ChunkedStreamManager","msgHandler","getStream","noFetch","requestAllChunks","onReceiveData","abort","ChunkedStream","chunkSize","manager","_loadedChunks","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","getMissingChunks","chunks","numChunksLoaded","beginChunk","endChunk","curChunk","onReceiveProgressiveData","position","ensureByte","ensureRange","nextEmptyChunk","hasChunk","strEnd","ChunkedStreamSubstream","missingChunks","subStream","pdfNetworkStream","currRequestId","_chunksNeededByRequest","_requestsByChunk","_promisesByRequest","aborted","_loadedStreamCapability","sendRequest","rangeReader","getRangeReader","onProgress","bind","_ref10","chunkData","_requestChunks","requestId","chunksNeeded","capability","chunksToRequest","requestIds","groupedChunksToRequest","groupChunks","groupedChunk","getBeginChunk","getEndChunk","requestRanges","ranges","range","sort","groupedChunks","prevChunk","isProgressive","loadedRequests","lastChunk","onError","err","StringStream","NullStream","arrayBuffer","Page","_xfa_fonts","_crypto","_catalog","_dataset_reader","_parser","_object_loader","_operator_list","_evaluator","_decode_stream","_factory","_xref","LETTER_SIZE_MEDIABOX","pageDict","globalIdFactory","fontCache","builtInCMapCache","standardFontDataCache","globalImageCache","systemFontCache","nonBlendModesSet","xfaFactory","resourcesPromise","idCounters","_localIdFactory","_getInheritableProperty","merge","content","resources","_getBoundingBox","bbox","box","normalizeRect","mediaBox","cropBox","intersect","_onSubStreamError","ignoreErrors","getContentStream","StreamsSequenceStream","getBoundingBox","partialEvaluator","PartialEvaluator","idFactory","deletedAnnotations","existingAnnotations","annotationsArray","filter","newData","savedDict","writeObject","objects","dependencies","_parsedAnnotations","newRefsPromises","annotation","mustBePrinted","loadResources","ObjectLoader","load","contentStreamPromise","newAnnotationsPromise","newAnnotations","annotationGlobalsPromise","missingBitmaps","bitmapId","bitmap","annotationWithBitmaps","annotationGlobals","printNewAnnotations","pageListPromise","_ref14","contentStream","opList","OperatorList","transparency","hasBlendModes","operatorList","pageOpList","newAnnotation","refToReplace","findIndex","splice","concat","flush","totalLength","renderForms","intentAny","intentDisplay","intentPrint","opListPromises","mustBeViewed","separateForm","separateCanvas","opLists","form","canvas","addOpList","_ref17","getTextContent","viewBox","serializable","_parseStructTree","tree","StructTreePage","parse","annotationsData","textContentPromises","isVisible","viewable","printable","hasTextContent","Infinity","annots","annotationPromises","annotationRef","sortedAnnotations","popupAnnotations","PopupAnnotation","jsActions","fromString","deleted","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","find","signature","limit","backwards","signatureLength","scanBytes","scanLength","signatureEnd","fieldRef","field","fetchIfRef","partName","getFieldObject","kid","XRef","_pagePromises","_version","font","_globalIdFactory","Catalog","Linearization","step","startXRefLength","found","checkHeader","version","parseStartXRef","setStartXRef","hasActualNumPages","getNumPages","_hasOnlyDocumentSignatures","fields","recursionDepth","every","isSignature","isInvisible","_xfaStreams","template","datasets","config","connectionSet","localeSet","stylesheet","hasOwnProperty","xfaDatasets","streams","DatasetReader","needsRendering","formInfo","hasAcroForm","XFAFactory","isValid","getPages","xfaImagesDict","objectLoader","xfaImages","setImages","getAsync","fontRes","assign","useSystemFonts","pdfFonts","initialState","at","fonts","fontName","descriptor","handleSetFont","missingFonts","setFonts","reallyMissingFonts","missing","getXfaFontName","fontInfo","getXfaFontDict","appendFonts","serializeData","hasFields","hasSignatures","hasOnlyDocumentSignatures","documentInfo","docInfo","PDFFormatVersion","Language","lang","EncryptFilterName","encrypt","filterName","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","collection","IsSignaturesPresent","infoDict","customValue","Custom","validate","hexString","hash","hex","idArray","hashOriginal","hashModified","calculateMD5","objectNumberFirst","pageKidsCountCache","pageIndexCache","getPageDict","cachedPromise","pageFirst","_getLinearizationPage","_ref18","setActualNumPages","pagesTree","getAllPageDicts","reasonAll","fieldObjects","allFields","fieldPromises","allPromises","hasJSActions","catalogJsActions","fieldObject","object","calculationOrderIds","calculationOrder","ids","createGlobals","MarkupAnnotation","AnnotationBorderStyle","Annotation","getQuadPoints","_default_appearance","_bidi","_colorspace","_file_spec","_jpeg_stream","getRgbColor","color","defaultColor","Uint8ClampedArray","rgbColor","ColorSpace","singletons","gray","getRgbItem","rgb","cmyk","getPdfColorArray","from","quadPoints","quadPointsLists","minX","maxX","minY","maxY","jj","y","getTransformMatrix","matrix","getAxialAlignedBoundingBox","xRatio","yRatio","_ref19","attachments","collectFields","_getPageIndex","createObjId","subtype","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","SignatureWidgetAnnotation","WidgetAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","annotDict","fetchIfRefAsync","annotRef","createImage","evaluator","baseFontRef","annotationType","baseFont","createNewAnnotation","image","imageStream","smaskStream","smaskRef","imageRef","createNewPrintAnnotation","JpegStream","params","setTitle","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","setOptionalContent","MK","setBorderAndBackgroundColors","setRotation","_streams","appearance","isLocked","flags","isContentLocked","structParent","addAnnotationIdToPage","annotationFlags","borderStyle","backgroundColor","borderColor","contentsObj","_contents","hasAppearance","modificationDate","hasOwnCanvas","noRotate","noHTML","kids","kidIds","fieldName","_constructFieldName","_isOffscreenCanvasSupported","_fallbackFontDict","_needAppearances","_hasFlag","flag","_isViewable","_isPrintable","_renderForms","noView","_annotationStorage$ge","noPrint","_annotationStorage$ge2","_parseStringHelper","dir","bidi","setDefaultAppearance","defaultAppearance","_defaultAppearance","defaultAppearanceData","parseDefaultAppearance","title","_title","contents","hasFlag","setLineEndings","lineEndings","mk","dictType","setWidth","setStyle","setDashArray","array","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","as","oc","isUsingOwnCanvas","appearanceDict","optionalContent","parseMarkedContentProps","addOp","fallbackFontDict","text","firstPosition","desiredSize","ready","enqueue","items","hasEOL","textPosition","textContent","strokeColor","fillColor","unshift","loopDict","style","dashArray","horizontalCornerRadius","verticalCornerRadius","maxWidth","maxHeight","forceStyle","allZeros","radius","rawIRT","inReplyTo","rt","replyType","popupRef","titleObj","setCreationDate","creationDate","richText","getRichTextAsHtml","_setDefaultAppearance","extra","blendMode","strokeAlpha","fillAlpha","pointsCallback","MAX_VALUE","MIN_VALUE","pointsArray","points","mX","MX","mY","MY","formDict","appearanceStreamDict","appearanceStream","gsDict","stateDict","ap","createNewAppearanceStream","annotationDict","apRef","createNewDict","parentTreeId","fieldValue","_decodeFormValue","defaultFieldValue","_hasValueFromXFA","getValue","alternativeText","localResources","acroFormResources","appearanceResources","_this$appearance","_fieldResources","mergedResources","fieldFlags","readOnly","hasFieldFlag","required","hidden","formValue","super","_annotationStorage$ge3","getBorderAndBackgroundAppearances","_annotationStorage$ge4","getPdfColor","borderWidth","_hasText","_getAppearance","_getMKDict","amendSavedDict","storageEntry","_appearance","originalDict","encoder","val","maybeMK","changes","AP","_getSaveFieldResources","rotationMatrix","formattedValue","colors","trim","combo","option","_ref21","exportValue","displayValue","lines","lineCount","multiLine","line","replace","totalHeight","totalWidth","fontSize","lineHeight","_getFontData","encodedLines","encodingError","encodedString","encodeString","comb","fakeUnicodeFont","FakeUnicodeFont","createFontResources","newFont","oldFont","savedDefaultAppearance","_computeFontSize","descent","defaultVPadding","alignment","textAlignment","_getMultilineAppearance","_getCombAppearance","bottomPadding","renderedText","_renderText","shift","appearanceData","_getTextWidth","charsToGlyphs","reduce","glyph","numberOfLines","roundWithTwoDigits","textWidth","cachedLines","encoded","glyphs","positions","getCharPositions","isTooBig","fsize","cache","_splitLine","fontColor","createDefaultAppearance","prevInfo","hPadding","vPadding","shiftStr","_this$data$defaultApp","localFont","acroFormFont","subFontDict","subResourcesDict","maximumLength","maxLen","doNotScroll","combWidth","renderedComb","vShift","scale","lastSpacePosInStringStart","lastSpacePosInStringEnd","lastSpacePos","startChunk","currentWidth","glyphWidth","unicode","defaultValue","multiline","charLimit","editable","checkedAppearance","uncheckedAppearance","checkBox","radioButton","pushButton","isTooltipOnly","_processCheckBox","_processRadioButton","_processPushButton","buttonValue","savedAppearance","savedMatrix","_saveCheckbox","_saveRadioButton","parentData","_getDefaultCheckedAppearance","metrics","xShift","yShift","customAppearance","normalAppearance","asValue","yes","exportValues","otherYes","fieldParent","fieldParentValue","parseDestDictionary","destDict","resultObj","docAttachments","indices","hasIndices","isOptionArray","multiSelect","numItems","multipleSelection","_annotationStorage$ge5","exportedValue","valueIndices","lineWidth","numberOfVisibleLines","firstIndex","minIndex","maxIndex","index","vpadding","state","stateModel","parentItem","parentRect","parentFlags","open","parseAppearanceStream","createAppearance","toUnicodeStream","user","freetext","da","helv","w","h","hscale","vscale","lineAscent","newFontSize","firstPoint","clipBox","lineCoordinates","interiorColor","borderAdjust","controlPointsDistance","tan","xMid","yMid","xOffset","yOffset","vertices","rawVertices","vertex","inkLists","rawInkLists","inkList","opacity","paths","thickness","ink","bs","appearanceBuffer","bezier","curve","extGState","r0","_this$appearance2","dy","xEnd","ctx","getContext","alpha","drawImage","getImageData","buf32","hasAlpha","fillStyle","fillRect","jpegBufferPromise","convertToBlob","quality","blob","xobjectName","imageName","alphaBuffer","smask","stamp","xobject","file","FileSpec","AppearanceStreamEvaluator","DefaultAppearanceEvaluator","_image_utils","_function","EvaluatorPreprocessor","operation","fn","result","savedStatesDepth","_stream$dict","scaleFactor","fillColorSpace","breakLoop","stack","pop","hypot","cs","pdfFunctionFactory","_pdfFunctionFactory","localColorSpaceCache","_localColorSpaceCache","LocalColorSpaceCache","PDFFunctionFactory","isFill","widths","firstChar","lastChar","ctxMeasure","_fontNameId","toUnicodeRef","_toUnicodeRef","toUnicode","toUnicodeDict","getNewPersistentRef","fontDescriptorRef","_fontDescriptorRef","fontDescriptor","descendantFontRef","descendantFont","chars","currentChar","currentWidths","cidSystemInfo","_createContext","measureText","bgColor","lineDescent","numComps","getRgb","src","srcOffset","dest","destOffset","getRgbBuffer","count","bits","alpha01","getOutputLength","inputLength","isPassthrough","isDefaultDecode","decodeMap","bpc","fillRgb","originalWidth","originalHeight","actualHeight","comps","rgbBuf","numComponentColors","needsResizing","allColors","Uint16Array","colorMap","rgbPos","destPos","w1","h1","w2","h2","oldIndex","newIndex","xScaled","w1Scanline","py","resizeRgbImage","usesZeroToOneRange","parsedColorSpace","csName","csRef","localColorSpace","getByRef","getByName","_parse","_cache","cachedColorSpace","getCached","PatternCS","colorSpaces","resourcesCS","mode","baseCS","whitePoint","blackPoint","gamma","CalGrayCS","CalRGBCS","alt","altCS","hiVal","IndexedCS","tintFn","AlternateCS","LabCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","base","tmpBuf","Float32Array","baseNumComps","baseBuf","scaled","tinted","highVal","outputDelta","lookupPos","q","srcScale","k","XW","YW","ZW","XB","YB","ZB","G","AG","L","GR","GG","GB","MXA","MYA","MZA","MXB","MYB","MZB","MXC","MYC","MZC","sourceWhitePoint","LMS","sourceBlackPoint","XYZ_Flat","zeroDecodeL","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","XYZ_In","LMS_Flat","LMS_D65","A","B","AGR","BGG","CGB","Y","Z","XYZ","XYZ_Black","XYZ_D65","SRGB","_classPrivateMethodGet","amin","amax","bmin","bmax","maxVal","high1","low2","high2","Ls","M","N","_cmap","_fonts","_encodings","_standard_fonts","_pattern","_to_unicode_map","_fonts_utils","_font_substitutions","_glyphlist","_metrics","_unicode","_image_resizer","_murmurhash","_image","DefaultPartialEvaluatorOptions","freeze","maxImageSize","disableFontFace","canvasMaxAreaInBytes","fontExtraProperties","cMapUrl","standardFontDataUrl","PatternType","deferred","normalizeBlendMode","parsingArray","maybeBM","incrementCachedImageMaskCount","TimeSlotManager","check","checked","CHECK_TIME_EVERY","endTime","TIME_SLOT_DURATION_MS","parsingType3Font","_regionalImageCache","RegionalImageCache","_fetchBuiltInCMapBound","fetchBuiltInCMap","ImageResizer","setMaxArea","newOptions","newEvaluator","processed","nodes","node","graphicStates","graphicState","bm","xObjects","xObject","xResources","cachedData","response","ok","statusText","cMapData","compressionType","getFontNameToFileMap","xobj","groupOptions","group","isolated","knockout","groupSubtype","colorSpace","parseColorSpace","backdrop","_sendImgData","imgData","cacheGlobally","transfers","isInline","localImageCache","interpolate","bitStrideLength","imgArray","PDFImage","createRawMask","imageIsFromDecodeStream","DecodeStream","inverseDecode","cached","addImageOps","cacheData","createMask","isSingleOpaquePixel","addDependency","imageObj","res","createImageData","getDocId","shouldCache","buildImage","addByteSize","setData","byteSize","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","tmp","buildFormXObject","handleTransferFunction","tr","transferArray","transferMaps","numFns","numEffectfulFns","handleTilingType","pattern","patternDict","localTilingPatternCache","tilingOpList","patternResources","operatorListIR","getIR","tilingPatternIR","getTilingPatternIR","addDependencies","fontArgs","fontRef","loadFont","translated","isType3Font","loadType3Data","type3Dependencies","TranslatedFont","loadedName","ErrorFont","handleText","textRenderingMode","buildFontPaths","ensureStateFont","gState","localGStateCache","gStateRef","isSimpleGState","gStateObj","errorFont","type3FontRefs","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontID","fontAliases","aliasFontRef","createFontId","_fontID","translateFont","translatedFont","buildPath","parsingText","lastIndex","fnArray","opArgs","argsArray","parseAsync","parseShading","shading","localShadingPatternCache","patternIR","Pattern","handleColorN","patterns","patternName","rawPattern","localTilingPattern","typeNum","_parseVisibilityExpression","nestingCounter","currentResult","operator","raw","nestedResult","contentProperties","optionalContentType","_optionalContent$get","expression","optionalContentGroups","groupIds","ocg","policy","EvalState","LocalImageCache","LocalGStateCache","LocalTilingPatternCache","xobjs","StateManager","preprocessor","timeSlotManager","closePendingRestoreOPS","argument","promiseBody","next","stop","isValidName","localImage","resolveXObject","rejectXObject","globalImage","getData","buildPaintImageXObject","combinedGlyphs","arrItem","strokeColorSpace","shadingRes","localGStateObj","resolveGState","rejectGState","seenStyles","markedContentData","TextState","styles","textContentItem","initialized","vertical","prevTransform","textAdvanceScale","spaceInFlowMin","spaceInFlowMax","trackingSpaceMin","negativeSpaceMax","notASpace","twoLastChars","twoLastCharsPos","saveLastChar","nextPos","ret","shouldAddWhitepsace","resetLastChars","showSpacedTextBuffer","emptyXObjectCache","emptyGStateCache","textState","pushWhitespace","getCurrentTextTransform","tsm","textHScale","textRise","isCharBBox","fontMatrix","glyphHeight","ctm","textMatrix","ensureTextContentItem","fallbackName","ascent","trm","scaleLineX","textLineMatrix","scaleCtmX","updateAdvanceScale","applyInverseRotation","compareWithLastPosition","currentTransform","posX","posY","_textState$font","lastPosX","lastPosY","advanceY","advanceX","textOrientation","sign","appendEOL","flushTextContentItem","addFakeSpaces","buildTextContentItem","extraSpacing","charSpacing","translateTextMatrix","category","isInvisibleFormatMark","vmetric","scaledDim","isWhitespace","wordSpacing","isZeroWidthDiacritic","textChunk","glyphUnicode","transf","bidiResult","runBidiTransform","enqueueChunk","batch","previousState","fontNameArg","fontSizeArg","leading","translateTextLineMatrix","carriageReturn","setTextLineMatrix","spaceFactor","elements","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","tag","mcid","getPageObjId","extractDataStructures","baseDict","cidToGidBytes","toUnicodePromise","readToUnicode","composite","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","nonEmbeddedFont","isInternalFont","isSymbolsFontName","getSymbolsFonts","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","builtToUnicode","readCidToGidMap","_simpleFontToUnicode","forceGlyphs","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","codeStr","getUnicodeForGlyph","baseEncoding","fromCodePoint","hasIncludedToUnicodeMap","fallbackToUnicode","ToUnicodeMap","cMap","builtInCMap","IdentityCMap","ucs2CMapName","ucs2CMap","CMapFactory","useCMap","cid","ucs2","IdentityToUnicodeMap","cmapObj","cmap","getMap","charCode","token","glyphsData","glyphID","extractWidths","glyphsWidths","defaultWidth","glyphsVMetrics","defaultVMetrics","vmetrics","baseFontName","getBaseFontMetrics","buildCharCodeToWidth","isMonospace","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","monospace","lookupName","getStdFontMap","Metrics","getMetrics","glyphWidths","widthsByGlyphName","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","uint8array","bufferLength","widthsBuf","compositeWidths","subWidthsBuf","hexdigest","Serif","systemFontInfo","isSimulatedFlags","xHeight","capHeight","standardFontName","getStandardFontName","fetchStandardFontData","getFontSubstitution","newProperties","Font","fontNameStr","_fontName","baseFontStr","_baseFont","isKnownFontName","fontFile","length1","length2","length3","glyphScaleFactors","subtypeEntry","factors","fixedPitch","scaleFactors","cidEncoding","fontChar","renderer","hasBuiltPath","getPathJs","accent","_evaluatorOptions","type3Loaded","sent","exportData","fallback","glyphCacheValues","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcOperatorList","fontBBox","fontBBoxSize","glyphStream","_removeType3ColorOperators","dummyOperatorList","_bbox","NaN","charBBox","charBBoxSize","gStateKey","stateStack","old","prev","f","opMap","numArgs","variableArgs","J","ri","gs","Q","cm","l","re","S","s","W","BT","ET","Tc","Tw","Tz","TL","Tf","Tr","Ts","Td","TD","Tm","Tj","TJ","d0","d1","CS","SC","SCN","sc","scn","RG","rg","sh","BI","ID","EI","Do","MP","BMC","BDC","EMC","BX","EX","BM","BD","true","fa","fal","fals","false","nu","nul","null","parser","Parser","lexer","Lexer","nonProcessedArgs","_isPathOp","_numInvalidPathOPS","getObj","opSpec","argsLength","partialMsg","MAX_INVALID_PATH_OPS","preprocessCommand","CMap","_binary_cmap","BUILT_IN_CMAPS","codespaceRanges","numCodespaceRanges","addCodespaceRange","low","high","mapCidRange","dstLow","mapBfRange","lastByte","nextCharCode","mapBfRangeToArray","mapOne","dst","contains","charCodeOf","indexOf","readCharCode","out","nn","codespaceRange","kk","getCharCodeLength","isIdentityCMap","strToInt","expectString","expectInt","parseBfChar","parseBfRange","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","previous","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","useCodespaceRanges","BinaryCMapReader","parsedCMap","hexToInt","hexToStr","addHex","incHex","BinaryCMapStream","readByte","readNumber","last","readSigned","readHex","readHexNumber","sp","bufferSize","readHexSigned","readString","len","extend","header","sequence","dataSize","ucs2DataSize","subitemsCount","_ascii_85_stream","_ascii_hex_stream","_ccitt_stream","_flate_stream","_jbig2_stream","_jpx_stream","_lzw_stream","_predictor_stream","_run_length_stream","allowStreams","imageCache","_imageId","refill","buf1","buf2","tryShift","cipherTransform","makeInlineImage","makeStream","decryptString","findDefaultInlineStreamEnd","knownCommands","startPos","maybeEIPos","followingBytes","tmpLexer","_hexStringWarn","nextObj","knownCommand","endOffset","findDCTDecodeInlineStreamEnd","markerLength","foundEOI","inlineStreamSkipEI","findASCII85DecodeInlineStreamEnd","tildePos","maybeEI","findASCIIHexDecodeInlineStreamEnd","dictMap","dictLength","beginInlineImagePos","Filter","filterZero","initialStreamPos","getInlineImageCacheKey","cacheEntry","createStream","_findStreamLength","skipToNextLine","nextChar","ENDSTREAM_SIGNATURE","actualLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","makeFilter","filterArray","paramsArray","PredictorStream","FlateStream","earlyChange","LZWStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","_hexStringNumWarn","peekChar","getNumber","eNotation","divideBy","baseValue","powerValue","powerValueSign","currentDigit","numParen","charBuffered","getName","previousCh","getHexString","firstDigit","secondDigit","isFirstHex","comment","nextCh","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","obj1","obj2","obj3","hints","hintsLength","hint","getHints","endFirst","mainXRefEntriesOffset","input","readBlock","eof","ensureBuffer","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","minBufferLength","requested","buffer2","bufEnd","_onError","_stream$dict2","newLength","baseStreamsBuf","baseStreams","maxDecodeLength","digit","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","code1","eoline","byteAlign","columns","rows","eoblock","black","codingLine","refLine","codingPos","row","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code2","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","table","limitValue","codeLenCodeMap","Int32Array","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","getCode","codes","codeLen","codeVal","generateHuffmanTable","lengths","litCodeTable","distCodeTable","hdr","blockLen","block","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","codeLengths","bitsLength","bitsOffset","what","repeatLength","dist","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","ContextCache","getContexts","Int8Array","DecodingContext","ArithmeticDecoder","contextCache","decodeInteger","procedure","contexts","readBits","bit","readBit","signedValue","decodeIAID","codeLength","SegmentTypes","CodingTemplates","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmap","mmr","templateIndex","prediction","decodingContext","decodeMMRBitmap","Reader","contextLabel","pixel","row1","row2","decodeBitmapTemplate0","useskip","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","sbb_left","sbb_top","sbb_right","pseudoPixelContext","i0","j0","ltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeTextRegion","huffman","refinement","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","symbolCodeLength","transposed","dsOffset","referenceCorner","combinationOperator","huffmanTables","refinementTemplateIndex","refinementAt","logStripSize","huffmanInput","stripT","tableDeltaT","firstS","tableFirstS","currentS","currentT","symbolId","symbolIDTable","applyRefinement","symbolBitmap","symbolWidth","symbolHeight","rdw","rdh","rdx","rdy","offsetT","offsetS","s2","symbolRow","deltaS","tableDeltaS","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionMmr","RegionSegmentInformationFieldLength","searchPatternLength","searchPattern","headerEnd","readSegments","segments","segment","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","numberOfExportedSymbols","numberOfNewSymbols","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","patternWidth","patternHeight","maxPatternIndex","halftoneRegion","halftoneRegionFlags","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","genericRegion","genericRegionSegmentFlags","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","SimpleSegmentVisitor","onPageInformation","currentPageInfo","rowSize","drawBitmap","regionInfo","mask0","mask","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","arguments","onSymbolDictionary","currentSegment","referredSegments","customTables","tableDeltaHeight","tableDeltaWidth","tableBitmapSize","tableAggregateInstances","customIndex","getStandardTable","getCustomHuffmanTable","getSymbolDictionaryHuffmanTables","symbols","referredSegment","referredSymbols","newSymbols","currentHeight","tableB1","symbolWidths","firstSymbol","deltaWidth","numberOfInstances","bitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMax","bitmapWidth","xMin","exportedSymbols","currentFlag","totalSymbolsLength","runLength","decodeSymbolDictionary","onImmediateTextRegion","numberOfSymbols","reader","HuffmanLine","runCodesTable","HuffmanTable","repeatedLength","numberOfRepeats","prefixLength","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","patternBitmap","decodePatternDictionary","onImmediateHalftoneRegion","regionWidth","regionHeight","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","grayScaleBitPlanes","mmrInput","mg","ng","patternIndex","patternRow","regionRow","regionX","regionY","decodeHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","rangeLength","currentRangeLow","decodeTablesSegment","lineData","isOOB","rangeLow","prefixCode","isLowerRange","HuffmanTreeNode","children","isLeaf","buildTree","decodeNode","htOffset","prefixCodesDone","assignPrefixCodes","rootNode","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","numBits","currentIndex","endOfBlock","lookForEOFLimit","parseJbig2Chunks","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGBA","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","drawWidth","drawHeight","isSourcePDF","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","buildHuffmanTable","getBlockBufferOffset","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","maybeScanLines","blockRow","precision","decodeHuffman","receive","receiveAndExtend","decodeBaseline","blockOffset","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuCol","blockCol","decodeBlock","componentsLength","decodeFn","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","marker","quantizeAndInverse","blockBufferOffset","qt","quantizationTable","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","buildComponentData","computationBuffer","Int16Array","currentPos","maxPos","newPos","currentMarker","newMarker","_decodeTransform","_colorTransform","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","sofScanLines","componentIds","componentsCount","componentId","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","output","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","xScaleBlockOffset","lastComponentScaleX","_isColorConversionNeeded","_convertYccToRgb","Cb","Cr","_convertYccToRgba","_convertYcckToRgb","_convertYcckToRgba","_convertYcckToCmyk","_convertCmykToRgb","_convertCmykToRgba","rgbaData","grayToRGBA","grayColor","convertBlackAndWhiteToRGBA","convertToRGBA","kind","srcPos","len32","src32","s1","s3","convertRGBToRGBA","nonBlackColor","zeroMapping","oneMapping","widthInSource","widthRemainder","srcLength","elem","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","left","tileTop","top","srcPosition","dataPosition","imgRowSize","tileRowSize","rowBytes","JpxError","SubbandsGainLog2","LL","LH","HL","HH","calculateComponentDimensions","siz","XOsiz","XRsiz","Xsiz","YOsiz","YRsiz","Ysiz","calculateTileGrids","context","SIZ","tile","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","tx0","ty0","tx1","ty1","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","resolution","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","codeblock","precinctNumber","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","minWidth","minHeight","startPrecinctRowIndex","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","queue","codeblockColumn","codeblockRow","valueReady","zeroBitPlanesTree","codeblockIncluded","firstTimeInclusion","included","inclusionTree","InclusionTree","TagTree","incrementValue","nextLevel","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","delta","mb","reversible","segmentationSymbolUsed","resetContextProbabilities","right","bottom","blockWidth","blockHeight","bitModel","BitModel","currentCodingpassType","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","nb","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","mu","epsilon","gainLog2","calculate","initializeTile","qcdOrQcc","QCC","QCD","COC","failOnCorruptedImage","parseCodestream","headerSize","lbox","tbox","jumpDataLength","method","colorspace","headerType","parseImageProperties","newByte","oldByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","qcc","cqcc","cod","scod","multipleComponentTransform","blockStyle","selectiveArithmeticCodingBypass","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","resultImages","transformedTiles","tile0","fourComponents","y0items","y1items","y2items","y3items","component0","transformComponents","levelsLength","levels","currentLevel","stopValue","propagateValues","levelIndex","currentValue","contextLabelTable","HHContextLabel","HLContextLabel","LLAndLHContextsLabel","coefficientCount","neighborsSignificance","processingFlags","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","setNeighborsSignificance","column","labels","i1","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","width4","indexNext","index0","oneRowDown","twoRowsDown","threeRowsDown","iNext","indexBase","checkAllEmpty","i2","Transform","u0","ll","iterate","j1","j2","hl_lh_hh","llWidth","llHeight","llItems","u","rowBuffer","numBuffers","colBuffers","currentBuffer","current","beta","bitsCached","lzwState","nextCode","dictionaryValues","dictionaryLengths","dictionaryPrevCodes","currentSequence","currentSequenceLength","lastCode","estimatedDecodedSize","blockSize","prevCode","decodedLength","currentBufferLength","hasPrev","predictor","readBlockTiff","readBlockPng","pixBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","prevRow","up","upLeft","pa","pb","pc","repeatHeader","_cff_parser","_cff_font","_font_renderer","_glyf","_opentype_file_builder","_type1_font","PRIVATE_USE_AREAS","EXPORT_DATA_PROPERTIES","EXPORT_DATA_EXTRA_PROPERTIES","adjustWidths","amendFallbackToUnicode","amend","Glyph","originalCharCode","operatorListId","isSpace","isInFont","getCharUnicodeCategory","int16","writeSignedInt16","signedInt16","string16","safeString16","isTrueTypeCollectionFile","getFontFileType","fileType","fileSubtype","isTrueTypeFile","isOpenTypeFile","isType1File","isCFFFile","applyStandardFontGlyphMap","glyphMap","buildToFontChar","toFontChar","isMacNameRecord","language","isWinNameRecord","convertCidString","shouldThrow","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","toUnicodeExtraMap","usedGlyphIds","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","glyphId","fontCharCode","createCmapTable","numGlyphs","codeIndices","getRanges","numTables","bmpLength","trailingRangesCount","segCount","searchParams","OpenTypeFileBuilder","getSearchParams","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","bias","contiguous","format314","rangeShift","format31012","header31012","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","createPostscriptName","createNameTable","proto","strings","stringsUnicode","strBufUnicode","names","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","psName","mimetype","missingFile","_charsCache","_glyphCache","baseName","serifFonts","namePart","matches","isInvalidPDFjsFont","_this$systemFontInfo","guessFallback","css","fallbackToSystemFont","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","FontRendererFactory","SEAC_ANALYSIS_ENABLED","exportDataProperties","normalizeFontName","stdFontMap","nonStdFontMap","getNonStdFontMap","isStandardFont","isMappedToStandardFont","getFontBasicMetrics","bold","italic","isNarrow","remeasure","getGlyphMapForStandardFonts","getSupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForCalibri","unicodeCharCode","getDingbatsGlyphsUnicode","VALID_TABLES","readTables","tables","head","hhea","hmtx","maxp","post","readTableEntry","checksum","previousPosition","readOpenTypeHeader","ttf","searchRange","entrySelector","sanitizeGlyph","sourceStart","sourceEnd","destStart","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xLength","yLength","xyLength","repeat","glyphDataLength","readNameTable","records","numRecords","stringsStart","record","nameIndex","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","foldTTTable","cffFile","ttcData","ttc","numFonts","offsetTable","ttcTag","majorVersion","minorVersion","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionHeader","fontNameParts","fallbackData","potentialHeader","potentialTables","nameEntry","_nameTable$j$k","part","readTrueTypeCollectionData","isTrueType","loca","isComposite","fpgm","prep","isGlyphLocationsLong","GlyfTable","glyfTable","locaTable","isLocationLong","write","advanceWidth","numGlyphsOut","dupFirstEntry","maxFunctionDefs","maxSizeOfInstructions","cvt","checkInvalidFunctions","cvtData","sanitizeTTPrograms","headTable","caretOffset","numOfMetrics","numMissing","sanitizeMetrics","locaLength","b2","b3","indexToLocFormat","numGlyphsPlusOne","sanitizeHead","missingGlyphs","glyphsInfo","itemSize","itemDecode","itemEncode","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","locaEntries","nextOffset","writeOffset","simpleGlyph","firstEntryLength","sanitizeGlyphLocations","metricsOverride","lineGap","_this$cssFontInfo","propertiesObj","maxpNumGlyphs","glyphNames","valid","MacStandardGlyphOrdering","glyphNameIndexes","customNames","stringLength","readPostScriptTable","isCidToGidMapEmpty","cmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","correctlySorted","nextBytes","format","subHeaderKeys","maxSubHeaderKey","subHeaderKey","subHeaders","entryCount","idDelta","idRangePos","segIndex","offsetIndex","offsetsCount","rangeOffset","offsets","nGroups","startCharCode","endCharCode","glyphCode","readCmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","forcePostTable","standardGlyphName","recoverGlyphName","unicodeOrCharCode","mapping","glyphZeroId","newMapping","os2","selection","validateOS2Table","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","nameRecords","adjustTrueTypeToUnicode","builder","tableTag","addTable","toArray","builtInEncoding","adjustType1ToUnicode","getGlyphMapping","newCharCodeToGlyphId","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","cffWidths","charstring","spaceWidth","possibleSpaceReplacements","_charToGlyph","widthCode","_this$cMap","_this$vmetrics","mapSpecialUnicodeValues","_this$seacMap","buffers","currentBuf","hasCurrentBufErrors","getCharCode","CFFTopDict","CFFStrings","CFFStandardStrings","CFFPrivateDict","CFFIndex","CFFHeader","CFFFDSelect","CFFCharset","CFF","_charsets","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","endPos","topDictIndex","stringIndex","globalSubrIndex","topDictParsed","parseDict","topDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","isCIDFont","hasName","charStringOffset","charStringIndex","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","charStrings","localSubrIndex","privateDict","subrsIndex","bytesLength","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetSize","offsetStart","offsetEnd","Type","cffDict","setByKey","parseCharString","callDepth","stackSize","validationCommand","copyWithin","subrNumber","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","emptyPrivateDictionary","parentDict","privateOffset","removeByName","privateDictEnd","dictData","setByName","subrsOffset","relativeOffset","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","predefined","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","supplementsCount","sid","readSupplement","CFFEncoding","glyphZero","NUM_STANDARD_CFF_STRINGS","getSID","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","order","layout","CFFTopDictLayout","createTables","CFFPrivateDictLayout","glyphIndex","CFFOffsetTracker","isTracking","track","location","setEntryLocation","dataOffset","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","xuid","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeNumber","encodeInteger","encodeFloat","EncodeFloatRegExp","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","outputLength","subrs","offsetTracker","string","charStringsIndex","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","encodingName","MacExpertEncoding","type1FontGlyphMapping","Script","Italic","AllCap","SmallCap","ForceBold","AE","AEacute","AEmacron","AEsmall","Aacute","Aacutesmall","Abreve","Abreveacute","Abrevecyrillic","Abrevedotbelow","Abrevegrave","Abrevehookabove","Abrevetilde","Acaron","Acircle","Acircumflex","Acircumflexacute","Acircumflexdotbelow","Acircumflexgrave","Acircumflexhookabove","Acircumflexsmall","Acircumflextilde","Acute","Acutesmall","Acyrillic","Adblgrave","Adieresis","Adieresiscyrillic","Adieresismacron","Adieresissmall","Adotbelow","Adotmacron","Agrave","Agravesmall","Ahookabove","Aiecyrillic","Ainvertedbreve","Alpha","Alphatonos","Amacron","Amonospace","Aogonek","Aring","Aringacute","Aringbelow","Aringsmall","Asmall","Atilde","Atildesmall","Aybarmenian","Bcircle","Bdotaccent","Bdotbelow","Becyrillic","Benarmenian","Beta","Bhook","Blinebelow","Bmonospace","Brevesmall","Bsmall","Btopbar","Caarmenian","Cacute","Caron","Caronsmall","Ccaron","Ccedilla","Ccedillaacute","Ccedillasmall","Ccircle","Ccircumflex","Cdot","Cdotaccent","Cedillasmall","Chaarmenian","Cheabkhasiancyrillic","Checyrillic","Chedescenderabkhasiancyrillic","Chedescendercyrillic","Chedieresiscyrillic","Cheharmenian","Chekhakassiancyrillic","Cheverticalstrokecyrillic","Chi","Chook","Circumflexsmall","Cmonospace","Coarmenian","Csmall","DZ","DZcaron","Daarmenian","Dafrican","Dcaron","Dcedilla","Dcircle","Dcircumflexbelow","Dcroat","Ddotaccent","Ddotbelow","Decyrillic","Deicoptic","Delta","Deltagreek","Dhook","Dieresis","DieresisAcute","DieresisGrave","Dieresissmall","Digammagreek","Djecyrillic","Dlinebelow","Dmonospace","Dotaccentsmall","Dslash","Dsmall","Dtopbar","Dz","Dzcaron","Dzeabkhasiancyrillic","Dzecyrillic","Dzhecyrillic","Eacute","Eacutesmall","Ebreve","Ecaron","Ecedillabreve","Echarmenian","Ecircle","Ecircumflex","Ecircumflexacute","Ecircumflexbelow","Ecircumflexdotbelow","Ecircumflexgrave","Ecircumflexhookabove","Ecircumflexsmall","Ecircumflextilde","Ecyrillic","Edblgrave","Edieresis","Edieresissmall","Edot","Edotaccent","Edotbelow","Efcyrillic","Egrave","Egravesmall","Eharmenian","Ehookabove","Eightroman","Einvertedbreve","Eiotifiedcyrillic","Elcyrillic","Elevenroman","Emacron","Emacronacute","Emacrongrave","Emcyrillic","Emonospace","Encyrillic","Endescendercyrillic","Eng","Enghecyrillic","Enhookcyrillic","Eogonek","Eopen","Epsilon","Epsilontonos","Ercyrillic","Ereversed","Ereversedcyrillic","Escyrillic","Esdescendercyrillic","Esh","Esmall","Eta","Etarmenian","Etatonos","Eth","Ethsmall","Etilde","Etildebelow","Euro","Ezh","Ezhcaron","Ezhreversed","Fcircle","Fdotaccent","Feharmenian","Feicoptic","Fhook","Fitacyrillic","Fiveroman","Fmonospace","Fourroman","Fsmall","GBsquare","Gacute","Gamma","Gammaafrican","Gangiacoptic","Gbreve","Gcaron","Gcedilla","Gcircle","Gcircumflex","Gcommaaccent","Gdot","Gdotaccent","Gecyrillic","Ghadarmenian","Ghemiddlehookcyrillic","Ghestrokecyrillic","Gheupturncyrillic","Ghook","Gimarmenian","Gjecyrillic","Gmacron","Gmonospace","Grave","Gravesmall","Gsmall","Gsmallhook","Gstroke","H","H18533","H18543","H18551","H22073","HPsquare","Haabkhasiancyrillic","Hadescendercyrillic","Hardsigncyrillic","Hbar","Hbrevebelow","Hcedilla","Hcircle","Hcircumflex","Hdieresis","Hdotaccent","Hdotbelow","Hmonospace","Hoarmenian","Horicoptic","Hsmall","Hungarumlaut","Hungarumlautsmall","Hzsquare","I","IAcyrillic","IJ","IUcyrillic","Iacute","Iacutesmall","Ibreve","Icaron","Icircle","Icircumflex","Icircumflexsmall","Icyrillic","Idblgrave","Idieresis","Idieresisacute","Idieresiscyrillic","Idieresissmall","Idot","Idotaccent","Idotbelow","Iebrevecyrillic","Iecyrillic","Ifraktur","Igrave","Igravesmall","Ihookabove","Iicyrillic","Iinvertedbreve","Iishortcyrillic","Imacron","Imacroncyrillic","Imonospace","Iniarmenian","Iocyrillic","Iogonek","Iota","Iotaafrican","Iotadieresis","Iotatonos","Ismall","Istroke","Itilde","Itildebelow","Izhitsacyrillic","Izhitsadblgravecyrillic","Jaarmenian","Jcircle","Jcircumflex","Jecyrillic","Jheharmenian","Jmonospace","Jsmall","KBsquare","KKsquare","Kabashkircyrillic","Kacute","Kacyrillic","Kadescendercyrillic","Kahookcyrillic","Kappa","Kastrokecyrillic","Kaverticalstrokecyrillic","Kcaron","Kcedilla","Kcircle","Kcommaaccent","Kdotbelow","Keharmenian","Kenarmenian","Khacyrillic","Kheicoptic","Khook","Kjecyrillic","Klinebelow","Kmonospace","Koppacyrillic","Koppagreek","Ksicyrillic","Ksmall","LJ","Lacute","Lambda","Lcaron","Lcedilla","Lcircle","Lcircumflexbelow","Lcommaaccent","Ldot","Ldotaccent","Ldotbelow","Ldotbelowmacron","Liwnarmenian","Lj","Ljecyrillic","Llinebelow","Lmonospace","Lslash","Lslashsmall","Lsmall","MBsquare","Macron","Macronsmall","Macute","Mcircle","Mdotaccent","Mdotbelow","Menarmenian","Mmonospace","Msmall","Mturned","Mu","NJ","Nacute","Ncaron","Ncedilla","Ncircle","Ncircumflexbelow","Ncommaaccent","Ndotaccent","Ndotbelow","Nhookleft","Nineroman","Nj","Njecyrillic","Nlinebelow","Nmonospace","Nowarmenian","Nsmall","Ntilde","Ntildesmall","Nu","OE","OEsmall","Oacute","Oacutesmall","Obarredcyrillic","Obarreddieresiscyrillic","Obreve","Ocaron","Ocenteredtilde","Ocircle","Ocircumflex","Ocircumflexacute","Ocircumflexdotbelow","Ocircumflexgrave","Ocircumflexhookabove","Ocircumflexsmall","Ocircumflextilde","Ocyrillic","Odblacute","Odblgrave","Odieresis","Odieresiscyrillic","Odieresissmall","Odotbelow","Ogoneksmall","Ograve","Ogravesmall","Oharmenian","Ohm","Ohookabove","Ohorn","Ohornacute","Ohorndotbelow","Ohorngrave","Ohornhookabove","Ohorntilde","Ohungarumlaut","Oi","Oinvertedbreve","Omacron","Omacronacute","Omacrongrave","Omega","Omegacyrillic","Omegagreek","Omegaroundcyrillic","Omegatitlocyrillic","Omegatonos","Omicron","Omicrontonos","Omonospace","Oneroman","Oogonek","Oogonekmacron","Oopen","Oslash","Oslashacute","Oslashsmall","Osmall","Ostrokeacute","Otcyrillic","Otilde","Otildeacute","Otildedieresis","Otildesmall","P","Pacute","Pcircle","Pdotaccent","Pecyrillic","Peharmenian","Pemiddlehookcyrillic","Phi","Phook","Pi","Piwrarmenian","Pmonospace","Psi","Psicyrillic","Psmall","Qcircle","Qmonospace","Qsmall","R","Raarmenian","Racute","Rcaron","Rcedilla","Rcircle","Rcommaaccent","Rdblgrave","Rdotaccent","Rdotbelow","Rdotbelowmacron","Reharmenian","Rfraktur","Rho","Ringsmall","Rinvertedbreve","Rlinebelow","Rmonospace","Rsmall","Rsmallinverted","Rsmallinvertedsuperior","SF010000","SF020000","SF030000","SF040000","SF050000","SF060000","SF070000","SF080000","SF090000","SF100000","SF110000","SF190000","SF200000","SF210000","SF220000","SF230000","SF240000","SF250000","SF260000","SF270000","SF280000","SF360000","SF370000","SF380000","SF390000","SF400000","SF410000","SF420000","SF430000","SF440000","SF450000","SF460000","SF470000","SF480000","SF490000","SF500000","SF510000","SF520000","SF530000","SF540000","Sacute","Sacutedotaccent","Sampigreek","Scaron","Scarondotaccent","Scaronsmall","Scedilla","Schwa","Schwacyrillic","Schwadieresiscyrillic","Scircle","Scircumflex","Scommaaccent","Sdotaccent","Sdotbelow","Sdotbelowdotaccent","Seharmenian","Sevenroman","Shaarmenian","Shacyrillic","Shchacyrillic","Sheicoptic","Shhacyrillic","Shimacoptic","Sigma","Sixroman","Smonospace","Softsigncyrillic","Ssmall","Stigmagreek","T","Tau","Tbar","Tcaron","Tcedilla","Tcircle","Tcircumflexbelow","Tcommaaccent","Tdotaccent","Tdotbelow","Tecyrillic","Tedescendercyrillic","Tenroman","Tetsecyrillic","Theta","Thook","Thorn","Thornsmall","Threeroman","Tildesmall","Tiwnarmenian","Tlinebelow","Tmonospace","Toarmenian","Tonefive","Tonesix","Tonetwo","Tretroflexhook","Tsecyrillic","Tshecyrillic","Tsmall","Twelveroman","Tworoman","Uacute","Uacutesmall","Ubreve","Ucaron","Ucircle","Ucircumflex","Ucircumflexbelow","Ucircumflexsmall","Ucyrillic","Udblacute","Udblgrave","Udieresis","Udieresisacute","Udieresisbelow","Udieresiscaron","Udieresiscyrillic","Udieresisgrave","Udieresismacron","Udieresissmall","Udotbelow","Ugrave","Ugravesmall","Uhookabove","Uhorn","Uhornacute","Uhorndotbelow","Uhorngrave","Uhornhookabove","Uhorntilde","Uhungarumlaut","Uhungarumlautcyrillic","Uinvertedbreve","Ukcyrillic","Umacron","Umacroncyrillic","Umacrondieresis","Umonospace","Uogonek","Upsilon","Upsilon1","Upsilonacutehooksymbolgreek","Upsilonafrican","Upsilondieresis","Upsilondieresishooksymbolgreek","Upsilonhooksymbol","Upsilontonos","Uring","Ushortcyrillic","Usmall","Ustraightcyrillic","Ustraightstrokecyrillic","Utilde","Utildeacute","Utildebelow","Vcircle","Vdotbelow","Vecyrillic","Vewarmenian","Vhook","Vmonospace","Voarmenian","Vsmall","Vtilde","Wacute","Wcircle","Wcircumflex","Wdieresis","Wdotaccent","Wdotbelow","Wgrave","Wmonospace","Wsmall","Xcircle","Xdieresis","Xdotaccent","Xeharmenian","Xi","Xmonospace","Xsmall","Yacute","Yacutesmall","Yatcyrillic","Ycircle","Ycircumflex","Ydieresis","Ydieresissmall","Ydotaccent","Ydotbelow","Yericyrillic","Yerudieresiscyrillic","Ygrave","Yhook","Yhookabove","Yiarmenian","Yicyrillic","Yiwnarmenian","Ymonospace","Ysmall","Ytilde","Yusbigcyrillic","Yusbigiotifiedcyrillic","Yuslittlecyrillic","Yuslittleiotifiedcyrillic","Zaarmenian","Zacute","Zcaron","Zcaronsmall","Zcircle","Zcircumflex","Zdot","Zdotaccent","Zdotbelow","Zecyrillic","Zedescendercyrillic","Zedieresiscyrillic","Zeta","Zhearmenian","Zhebrevecyrillic","Zhecyrillic","Zhedescendercyrillic","Zhedieresiscyrillic","Zlinebelow","Zmonospace","Zsmall","Zstroke","aabengali","aacute","aadeva","aagujarati","aagurmukhi","aamatragurmukhi","aarusquare","aavowelsignbengali","aavowelsigndeva","aavowelsigngujarati","abbreviationmarkarmenian","abbreviationsigndeva","abengali","abopomofo","abreve","abreveacute","abrevecyrillic","abrevedotbelow","abrevegrave","abrevehookabove","abrevetilde","acaron","acircle","acircumflex","acircumflexacute","acircumflexdotbelow","acircumflexgrave","acircumflexhookabove","acircumflextilde","acute","acutebelowcmb","acutecmb","acutecomb","acutedeva","acutelowmod","acutetonecmb","acyrillic","adblgrave","addakgurmukhi","adeva","adieresis","adieresiscyrillic","adieresismacron","adotbelow","adotmacron","ae","aeacute","aekorean","aemacron","afii00208","afii08941","afii10017","afii10018","afii10019","afii10020","afii10021","afii10022","afii10023","afii10024","afii10025","afii10026","afii10027","afii10028","afii10029","afii10030","afii10031","afii10032","afii10033","afii10034","afii10035","afii10036","afii10037","afii10038","afii10039","afii10040","afii10041","afii10042","afii10043","afii10044","afii10045","afii10046","afii10047","afii10048","afii10049","afii10050","afii10051","afii10052","afii10053","afii10054","afii10055","afii10056","afii10057","afii10058","afii10059","afii10060","afii10061","afii10062","afii10063","afii10064","afii10065","afii10066","afii10067","afii10068","afii10069","afii10070","afii10071","afii10072","afii10073","afii10074","afii10075","afii10076","afii10077","afii10078","afii10079","afii10080","afii10081","afii10082","afii10083","afii10084","afii10085","afii10086","afii10087","afii10088","afii10089","afii10090","afii10091","afii10092","afii10093","afii10094","afii10095","afii10096","afii10097","afii10098","afii10099","afii10100","afii10101","afii10102","afii10103","afii10104","afii10105","afii10106","afii10107","afii10108","afii10109","afii10110","afii10145","afii10146","afii10147","afii10148","afii10192","afii10193","afii10194","afii10195","afii10196","afii10831","afii10832","afii10846","afii299","afii300","afii301","afii57381","afii57388","afii57392","afii57393","afii57394","afii57395","afii57396","afii57397","afii57398","afii57399","afii57400","afii57401","afii57403","afii57407","afii57409","afii57410","afii57411","afii57412","afii57413","afii57414","afii57415","afii57416","afii57417","afii57418","afii57419","afii57420","afii57421","afii57422","afii57423","afii57424","afii57425","afii57426","afii57427","afii57428","afii57429","afii57430","afii57431","afii57432","afii57433","afii57434","afii57440","afii57441","afii57442","afii57443","afii57444","afii57445","afii57446","afii57448","afii57449","afii57450","afii57451","afii57452","afii57453","afii57454","afii57455","afii57456","afii57457","afii57458","afii57470","afii57505","afii57506","afii57507","afii57508","afii57509","afii57511","afii57512","afii57513","afii57514","afii57519","afii57534","afii57636","afii57645","afii57658","afii57664","afii57665","afii57666","afii57667","afii57668","afii57669","afii57670","afii57671","afii57672","afii57673","afii57674","afii57675","afii57676","afii57677","afii57678","afii57679","afii57680","afii57681","afii57682","afii57683","afii57684","afii57685","afii57686","afii57687","afii57688","afii57689","afii57690","afii57694","afii57695","afii57700","afii57705","afii57716","afii57717","afii57718","afii57723","afii57793","afii57794","afii57795","afii57796","afii57797","afii57798","afii57799","afii57800","afii57801","afii57802","afii57803","afii57804","afii57806","afii57807","afii57839","afii57841","afii57842","afii57929","afii61248","afii61289","afii61352","afii61573","afii61574","afii61575","afii61664","afii63167","afii64937","agrave","agujarati","agurmukhi","ahiragana","ahookabove","aibengali","aibopomofo","aideva","aiecyrillic","aigujarati","aigurmukhi","aimatragurmukhi","ainarabic","ainfinalarabic","aininitialarabic","ainmedialarabic","ainvertedbreve","aivowelsignbengali","aivowelsigndeva","aivowelsigngujarati","akatakana","akatakanahalfwidth","akorean","alef","alefarabic","alefdageshhebrew","aleffinalarabic","alefhamzaabovearabic","alefhamzaabovefinalarabic","alefhamzabelowarabic","alefhamzabelowfinalarabic","alefhebrew","aleflamedhebrew","alefmaddaabovearabic","alefmaddaabovefinalarabic","alefmaksuraarabic","alefmaksurafinalarabic","alefmaksurainitialarabic","alefmaksuramedialarabic","alefpatahhebrew","alefqamatshebrew","aleph","allequal","alphatonos","amacron","amonospace","ampersand","ampersandmonospace","ampersandsmall","amsquare","anbopomofo","angbopomofo","angbracketleft","angbracketright","angkhankhuthai","anglebracketleft","anglebracketleftvertical","anglebracketright","anglebracketrightvertical","angleleft","angleright","angstrom","anoteleia","anudattadeva","anusvarabengali","anusvaradeva","anusvaragujarati","aogonek","apaatosquare","aparen","apostrophearmenian","apostrophemod","apple","approaches","approxequal","approxequalorimage","approximatelyequal","araeaekorean","araeakorean","arc","arighthalfring","aring","aringacute","aringbelow","arrowboth","arrowdashdown","arrowdashleft","arrowdashright","arrowdashup","arrowdblboth","arrowdbldown","arrowdblleft","arrowdblright","arrowdblup","arrowdown","arrowdownleft","arrowdownright","arrowdownwhite","arrowheaddownmod","arrowheadleftmod","arrowheadrightmod","arrowheadupmod","arrowhorizex","arrowleft","arrowleftdbl","arrowleftdblstroke","arrowleftoverright","arrowleftwhite","arrowright","arrowrightdblstroke","arrowrightheavy","arrowrightoverleft","arrowrightwhite","arrowtableft","arrowtabright","arrowup","arrowupdn","arrowupdnbse","arrowupdownbase","arrowupleft","arrowupleftofdown","arrowupright","arrowupwhite","arrowvertex","asciicircum","asciicircummonospace","asciitilde","asciitildemonospace","ascript","ascriptturned","asmallhiragana","asmallkatakana","asmallkatakanahalfwidth","asterisk","asteriskaltonearabic","asteriskarabic","asteriskmath","asteriskmonospace","asterisksmall","asterism","asuperior","asymptoticallyequal","atilde","atmonospace","atsmall","aturned","aubengali","aubopomofo","audeva","augujarati","augurmukhi","aulengthmarkbengali","aumatragurmukhi","auvowelsignbengali","auvowelsigndeva","auvowelsigngujarati","avagrahadeva","aybarmenian","ayin","ayinaltonehebrew","ayinhebrew","babengali","backslash","backslashmonospace","badeva","bagujarati","bagurmukhi","bahiragana","bahtthai","bakatakana","bar","barmonospace","bbopomofo","bcircle","bdotaccent","bdotbelow","beamedsixteenthnotes","because","becyrillic","beharabic","behfinalarabic","behinitialarabic","behiragana","behmedialarabic","behmeeminitialarabic","behmeemisolatedarabic","behnoonfinalarabic","bekatakana","benarmenian","bet","betasymbolgreek","betdagesh","betdageshhebrew","bethebrew","betrafehebrew","bhabengali","bhadeva","bhagujarati","bhagurmukhi","bhook","bihiragana","bikatakana","bilabialclick","bindigurmukhi","birusquare","blackcircle","blackdiamond","blackdownpointingtriangle","blackleftpointingpointer","blackleftpointingtriangle","blacklenticularbracketleft","blacklenticularbracketleftvertical","blacklenticularbracketright","blacklenticularbracketrightvertical","blacklowerlefttriangle","blacklowerrighttriangle","blackrectangle","blackrightpointingpointer","blackrightpointingtriangle","blacksmallsquare","blacksmilingface","blacksquare","blackstar","blackupperlefttriangle","blackupperrighttriangle","blackuppointingsmalltriangle","blackuppointingtriangle","blank","blinebelow","bmonospace","bobaimaithai","bohiragana","bokatakana","bparen","bqsquare","braceex","braceleft","braceleftbt","braceleftmid","braceleftmonospace","braceleftsmall","bracelefttp","braceleftvertical","braceright","bracerightbt","bracerightmid","bracerightmonospace","bracerightsmall","bracerighttp","bracerightvertical","bracketleft","bracketleftbt","bracketleftex","bracketleftmonospace","bracketlefttp","bracketright","bracketrightbt","bracketrightex","bracketrightmonospace","bracketrighttp","breve","brevebelowcmb","brevecmb","breveinvertedbelowcmb","breveinvertedcmb","breveinverteddoublecmb","bridgebelowcmb","bridgeinvertedbelowcmb","brokenbar","bstroke","bsuperior","btopbar","buhiragana","bukatakana","bullet","bulletinverse","bulletoperator","bullseye","caarmenian","cabengali","cacute","cadeva","cagujarati","cagurmukhi","calsquare","candrabindubengali","candrabinducmb","candrabindudeva","candrabindugujarati","capslock","careof","caron","caronbelowcmb","caroncmb","carriagereturn","cbopomofo","ccaron","ccedilla","ccedillaacute","ccircle","ccircumflex","ccurl","cdot","cdotaccent","cdsquare","cedilla","cedillacmb","cent","centigrade","centinferior","centmonospace","centoldstyle","centsuperior","chaarmenian","chabengali","chadeva","chagujarati","chagurmukhi","chbopomofo","cheabkhasiancyrillic","checkmark","checyrillic","chedescenderabkhasiancyrillic","chedescendercyrillic","chedieresiscyrillic","cheharmenian","chekhakassiancyrillic","cheverticalstrokecyrillic","chi","chieuchacirclekorean","chieuchaparenkorean","chieuchcirclekorean","chieuchkorean","chieuchparenkorean","chochangthai","chochanthai","chochingthai","chochoethai","chook","cieucacirclekorean","cieucaparenkorean","cieuccirclekorean","cieuckorean","cieucparenkorean","cieucuparenkorean","circle","circlecopyrt","circlemultiply","circleot","circleplus","circlepostalmark","circlewithlefthalfblack","circlewithrighthalfblack","circumflex","circumflexbelowcmb","circumflexcmb","clickalveolar","clickdental","clicklateral","clickretroflex","club","clubsuitblack","clubsuitwhite","cmcubedsquare","cmonospace","cmsquaredsquare","coarmenian","colon","colonmonetary","colonmonospace","colonsign","colonsmall","colontriangularhalfmod","colontriangularmod","comma","commaabovecmb","commaaboverightcmb","commaaccent","commaarabic","commaarmenian","commainferior","commamonospace","commareversedabovecmb","commareversedmod","commasmall","commasuperior","commaturnedabovecmb","commaturnedmod","compass","congruent","contourintegral","control","controlACK","controlBEL","controlBS","controlCAN","controlCR","controlDC1","controlDC2","controlDC3","controlDC4","controlDEL","controlDLE","controlEM","controlENQ","controlEOT","controlESC","controlETB","controlETX","controlFF","controlFS","controlGS","controlHT","controlLF","controlNAK","controlNULL","controlRS","controlSI","controlSO","controlSOT","controlSTX","controlSUB","controlSYN","controlUS","controlVT","copyright","copyrightsans","copyrightserif","cornerbracketleft","cornerbracketlefthalfwidth","cornerbracketleftvertical","cornerbracketright","cornerbracketrighthalfwidth","cornerbracketrightvertical","corporationsquare","cosquare","coverkgsquare","cparen","cruzeiro","cstretched","curlyand","curlyor","currency","cyrBreve","cyrFlex","cyrbreve","cyrflex","daarmenian","dabengali","dadarabic","dadeva","dadfinalarabic","dadinitialarabic","dadmedialarabic","dagesh","dageshhebrew","dagger","daggerdbl","dagujarati","dagurmukhi","dahiragana","dakatakana","dalarabic","dalet","daletdagesh","daletdageshhebrew","dalethebrew","dalfinalarabic","dammaarabic","dammalowarabic","dammatanaltonearabic","dammatanarabic","danda","dargahebrew","dargalefthebrew","dasiapneumatacyrilliccmb","dblGrave","dblanglebracketleft","dblanglebracketleftvertical","dblanglebracketright","dblanglebracketrightvertical","dblarchinvertedbelowcmb","dblarrowleft","dblarrowright","dbldanda","dblgrave","dblgravecmb","dblintegral","dbllowline","dbllowlinecmb","dbloverlinecmb","dblprimemod","dblverticalbar","dblverticallineabovecmb","dbopomofo","dbsquare","dcaron","dcedilla","dcircle","dcircumflexbelow","dcroat","ddabengali","ddadeva","ddagujarati","ddagurmukhi","ddalarabic","ddalfinalarabic","dddhadeva","ddhabengali","ddhadeva","ddhagujarati","ddhagurmukhi","ddotaccent","ddotbelow","decimalseparatorarabic","decimalseparatorpersian","decyrillic","degree","dehihebrew","dehiragana","deicoptic","dekatakana","deleteleft","deleteright","deltaturned","denominatorminusonenumeratorbengali","dezh","dhabengali","dhadeva","dhagujarati","dhagurmukhi","dhook","dialytikatonos","dialytikatonoscmb","diamond","diamondsuitwhite","dieresis","dieresisacute","dieresisbelowcmb","dieresiscmb","dieresisgrave","dieresistonos","dihiragana","dikatakana","dittomark","divide","divides","divisionslash","djecyrillic","dkshade","dlinebelow","dlsquare","dmacron","dmonospace","dnblock","dochadathai","dodekthai","dohiragana","dokatakana","dollar","dollarinferior","dollarmonospace","dollaroldstyle","dollarsmall","dollarsuperior","dong","dorusquare","dotaccent","dotaccentcmb","dotbelowcmb","dotbelowcomb","dotkatakana","dotlessi","dotlessj","dotlessjstrokehook","dotmath","dottedcircle","doubleyodpatah","doubleyodpatahhebrew","downtackbelowcmb","downtackmod","dparen","dsuperior","dtail","dtopbar","duhiragana","dukatakana","dz","dzaltone","dzcaron","dzcurl","dzeabkhasiancyrillic","dzecyrillic","dzhecyrillic","eacute","earth","ebengali","ebopomofo","ebreve","ecandradeva","ecandragujarati","ecandravowelsigndeva","ecandravowelsigngujarati","ecaron","ecedillabreve","echarmenian","echyiwnarmenian","ecircle","ecircumflex","ecircumflexacute","ecircumflexbelow","ecircumflexdotbelow","ecircumflexgrave","ecircumflexhookabove","ecircumflextilde","ecyrillic","edblgrave","edeva","edieresis","edot","edotaccent","edotbelow","eegurmukhi","eematragurmukhi","efcyrillic","egrave","egujarati","eharmenian","ehbopomofo","ehiragana","ehookabove","eibopomofo","eight","eightarabic","eightbengali","eightcircle","eightcircleinversesansserif","eightdeva","eighteencircle","eighteenparen","eighteenperiod","eightgujarati","eightgurmukhi","eighthackarabic","eighthangzhou","eighthnotebeamed","eightideographicparen","eightinferior","eightmonospace","eightoldstyle","eightparen","eightperiod","eightpersian","eightroman","eightsuperior","eightthai","einvertedbreve","eiotifiedcyrillic","ekatakana","ekatakanahalfwidth","ekonkargurmukhi","ekorean","elcyrillic","elevencircle","elevenparen","elevenperiod","elevenroman","ellipsis","ellipsisvertical","emacron","emacronacute","emacrongrave","emcyrillic","emdash","emdashvertical","emonospace","emphasismarkarmenian","emptyset","enbopomofo","encyrillic","endash","endashvertical","endescendercyrillic","eng","engbopomofo","enghecyrillic","enhookcyrillic","enspace","eogonek","eokorean","eopen","eopenclosed","eopenreversed","eopenreversedclosed","eopenreversedhook","eparen","epsilontonos","equal","equalmonospace","equalsmall","equalsuperior","equivalence","erbopomofo","ercyrillic","ereversed","ereversedcyrillic","escyrillic","esdescendercyrillic","esh","eshcurl","eshortdeva","eshortvowelsigndeva","eshreversedloop","eshsquatreversed","esmallhiragana","esmallkatakana","esmallkatakanahalfwidth","estimated","esuperior","eta","etarmenian","etatonos","eth","etilde","etildebelow","etnahtafoukhhebrew","etnahtafoukhlefthebrew","etnahtahebrew","etnahtalefthebrew","eturned","eukorean","euro","evowelsignbengali","evowelsigndeva","evowelsigngujarati","exclam","exclamarmenian","exclamdbl","exclamdown","exclamdownsmall","exclammonospace","exclamsmall","existential","ezh","ezhcaron","ezhcurl","ezhreversed","ezhtail","fadeva","fagurmukhi","fahrenheit","fathaarabic","fathalowarabic","fathatanarabic","fbopomofo","fcircle","fdotaccent","feharabic","feharmenian","fehfinalarabic","fehinitialarabic","fehmedialarabic","feicoptic","female","ff","f_f","ffi","f_f_i","ffl","f_f_l","fi","f_i","fifteencircle","fifteenparen","fifteenperiod","figuredash","filledbox","filledrect","finalkaf","finalkafdagesh","finalkafdageshhebrew","finalkafhebrew","finalmem","finalmemhebrew","finalnun","finalnunhebrew","finalpe","finalpehebrew","finaltsadi","finaltsadihebrew","firsttonechinese","fisheye","fitacyrillic","five","fivearabic","fivebengali","fivecircle","fivecircleinversesansserif","fivedeva","fiveeighths","fivegujarati","fivegurmukhi","fivehackarabic","fivehangzhou","fiveideographicparen","fiveinferior","fivemonospace","fiveoldstyle","fiveparen","fiveperiod","fivepersian","fiveroman","fivesuperior","fivethai","fl","f_l","florin","fmonospace","fmsquare","fofanthai","fofathai","fongmanthai","forall","four","fourarabic","fourbengali","fourcircle","fourcircleinversesansserif","fourdeva","fourgujarati","fourgurmukhi","fourhackarabic","fourhangzhou","fourideographicparen","fourinferior","fourmonospace","fournumeratorbengali","fouroldstyle","fourparen","fourperiod","fourpersian","fourroman","foursuperior","fourteencircle","fourteenparen","fourteenperiod","fourthai","fourthtonechinese","fparen","fraction","franc","gabengali","gacute","gadeva","gafarabic","gaffinalarabic","gafinitialarabic","gafmedialarabic","gagujarati","gagurmukhi","gahiragana","gakatakana","gammalatinsmall","gammasuperior","gangiacoptic","gbopomofo","gbreve","gcaron","gcedilla","gcircle","gcircumflex","gcommaaccent","gdot","gdotaccent","gecyrillic","gehiragana","gekatakana","geometricallyequal","gereshaccenthebrew","gereshhebrew","gereshmuqdamhebrew","germandbls","gershayimaccenthebrew","gershayimhebrew","getamark","ghabengali","ghadarmenian","ghadeva","ghagujarati","ghagurmukhi","ghainarabic","ghainfinalarabic","ghaininitialarabic","ghainmedialarabic","ghemiddlehookcyrillic","ghestrokecyrillic","gheupturncyrillic","ghhadeva","ghhagurmukhi","ghook","ghzsquare","gihiragana","gikatakana","gimarmenian","gimel","gimeldagesh","gimeldageshhebrew","gimelhebrew","gjecyrillic","glottalinvertedstroke","glottalstop","glottalstopinverted","glottalstopmod","glottalstopreversed","glottalstopreversedmod","glottalstopreversedsuperior","glottalstopstroke","glottalstopstrokereversed","gmacron","gmonospace","gohiragana","gokatakana","gparen","gpasquare","gradient","grave","gravebelowcmb","gravecmb","gravecomb","gravedeva","gravelowmod","gravemonospace","gravetonecmb","greater","greaterequal","greaterequalorless","greatermonospace","greaterorequivalent","greaterorless","greateroverequal","greatersmall","gscript","gstroke","guhiragana","guillemotleft","guillemotright","guilsinglleft","guilsinglright","gukatakana","guramusquare","gysquare","haabkhasiancyrillic","haaltonearabic","habengali","hadescendercyrillic","hadeva","hagujarati","hagurmukhi","haharabic","hahfinalarabic","hahinitialarabic","hahiragana","hahmedialarabic","haitusquare","hakatakana","hakatakanahalfwidth","halantgurmukhi","hamzaarabic","hamzalowarabic","hangulfiller","hardsigncyrillic","harpoonleftbarbup","harpoonrightbarbup","hasquare","hatafpatah","hatafpatah16","hatafpatah23","hatafpatah2f","hatafpatahhebrew","hatafpatahnarrowhebrew","hatafpatahquarterhebrew","hatafpatahwidehebrew","hatafqamats","hatafqamats1b","hatafqamats28","hatafqamats34","hatafqamatshebrew","hatafqamatsnarrowhebrew","hatafqamatsquarterhebrew","hatafqamatswidehebrew","hatafsegol","hatafsegol17","hatafsegol24","hatafsegol30","hatafsegolhebrew","hatafsegolnarrowhebrew","hatafsegolquarterhebrew","hatafsegolwidehebrew","hbar","hbopomofo","hbrevebelow","hcedilla","hcircle","hcircumflex","hdieresis","hdotaccent","hdotbelow","he","heart","heartsuitblack","heartsuitwhite","hedagesh","hedageshhebrew","hehaltonearabic","heharabic","hehebrew","hehfinalaltonearabic","hehfinalalttwoarabic","hehfinalarabic","hehhamzaabovefinalarabic","hehhamzaaboveisolatedarabic","hehinitialaltonearabic","hehinitialarabic","hehiragana","hehmedialaltonearabic","hehmedialarabic","heiseierasquare","hekatakana","hekatakanahalfwidth","hekutaarusquare","henghook","herutusquare","het","hethebrew","hhook","hhooksuperior","hieuhacirclekorean","hieuhaparenkorean","hieuhcirclekorean","hieuhkorean","hieuhparenkorean","hihiragana","hikatakana","hikatakanahalfwidth","hiriq","hiriq14","hiriq21","hiriq2d","hiriqhebrew","hiriqnarrowhebrew","hiriqquarterhebrew","hiriqwidehebrew","hlinebelow","hmonospace","hoarmenian","hohipthai","hohiragana","hokatakana","hokatakanahalfwidth","holam","holam19","holam26","holam32","holamhebrew","holamnarrowhebrew","holamquarterhebrew","holamwidehebrew","honokhukthai","hookabovecomb","hookcmb","hookpalatalizedbelowcmb","hookretroflexbelowcmb","hoonsquare","horicoptic","horizontalbar","horncmb","hotsprings","house","hparen","hsuperior","hturned","huhiragana","huiitosquare","hukatakana","hukatakanahalfwidth","hungarumlaut","hungarumlautcmb","hv","hyphen","hypheninferior","hyphenmonospace","hyphensmall","hyphensuperior","hyphentwo","iacute","iacyrillic","ibengali","ibopomofo","ibreve","icaron","icircle","icircumflex","icyrillic","idblgrave","ideographearthcircle","ideographfirecircle","ideographicallianceparen","ideographiccallparen","ideographiccentrecircle","ideographicclose","ideographiccomma","ideographiccommaleft","ideographiccongratulationparen","ideographiccorrectcircle","ideographicearthparen","ideographicenterpriseparen","ideographicexcellentcircle","ideographicfestivalparen","ideographicfinancialcircle","ideographicfinancialparen","ideographicfireparen","ideographichaveparen","ideographichighcircle","ideographiciterationmark","ideographiclaborcircle","ideographiclaborparen","ideographicleftcircle","ideographiclowcircle","ideographicmedicinecircle","ideographicmetalparen","ideographicmoonparen","ideographicnameparen","ideographicperiod","ideographicprintcircle","ideographicreachparen","ideographicrepresentparen","ideographicresourceparen","ideographicrightcircle","ideographicsecretcircle","ideographicselfparen","ideographicsocietyparen","ideographicspace","ideographicspecialparen","ideographicstockparen","ideographicstudyparen","ideographicsunparen","ideographicsuperviseparen","ideographicwaterparen","ideographicwoodparen","ideographiczero","ideographmetalcircle","ideographmooncircle","ideographnamecircle","ideographsuncircle","ideographwatercircle","ideographwoodcircle","ideva","idieresis","idieresisacute","idieresiscyrillic","idotbelow","iebrevecyrillic","iecyrillic","ieungacirclekorean","ieungaparenkorean","ieungcirclekorean","ieungkorean","ieungparenkorean","igrave","igujarati","igurmukhi","ihiragana","ihookabove","iibengali","iicyrillic","iideva","iigujarati","iigurmukhi","iimatragurmukhi","iinvertedbreve","iishortcyrillic","iivowelsignbengali","iivowelsigndeva","iivowelsigngujarati","ij","ikatakana","ikatakanahalfwidth","ikorean","ilde","iluyhebrew","imacron","imacroncyrillic","imageorapproximatelyequal","imatragurmukhi","imonospace","increment","infinity","iniarmenian","integral","integralbottom","integralbt","integralex","integraltop","integraltp","intersection","intisquare","invbullet","invcircle","invsmileface","iocyrillic","iogonek","iota","iotadieresis","iotadieresistonos","iotalatin","iotatonos","iparen","irigurmukhi","ismallhiragana","ismallkatakana","ismallkatakanahalfwidth","issharbengali","istroke","isuperior","iterationhiragana","iterationkatakana","itilde","itildebelow","iubopomofo","iucyrillic","ivowelsignbengali","ivowelsigndeva","ivowelsigngujarati","izhitsacyrillic","izhitsadblgravecyrillic","jaarmenian","jabengali","jadeva","jagujarati","jagurmukhi","jbopomofo","jcaron","jcircle","jcircumflex","jcrossedtail","jdotlessstroke","jecyrillic","jeemarabic","jeemfinalarabic","jeeminitialarabic","jeemmedialarabic","jeharabic","jehfinalarabic","jhabengali","jhadeva","jhagujarati","jhagurmukhi","jheharmenian","jis","jmonospace","jparen","jsuperior","kabashkircyrillic","kabengali","kacute","kacyrillic","kadescendercyrillic","kadeva","kaf","kafarabic","kafdagesh","kafdageshhebrew","kaffinalarabic","kafhebrew","kafinitialarabic","kafmedialarabic","kafrafehebrew","kagujarati","kagurmukhi","kahiragana","kahookcyrillic","kakatakana","kakatakanahalfwidth","kappa","kappasymbolgreek","kapyeounmieumkorean","kapyeounphieuphkorean","kapyeounpieupkorean","kapyeounssangpieupkorean","karoriisquare","kashidaautoarabic","kashidaautonosidebearingarabic","kasmallkatakana","kasquare","kasraarabic","kasratanarabic","kastrokecyrillic","katahiraprolongmarkhalfwidth","kaverticalstrokecyrillic","kbopomofo","kcalsquare","kcaron","kcedilla","kcircle","kcommaaccent","kdotbelow","keharmenian","kehiragana","kekatakana","kekatakanahalfwidth","kenarmenian","kesmallkatakana","kgreenlandic","khabengali","khacyrillic","khadeva","khagujarati","khagurmukhi","khaharabic","khahfinalarabic","khahinitialarabic","khahmedialarabic","kheicoptic","khhadeva","khhagurmukhi","khieukhacirclekorean","khieukhaparenkorean","khieukhcirclekorean","khieukhkorean","khieukhparenkorean","khokhaithai","khokhonthai","khokhuatthai","khokhwaithai","khomutthai","khook","khorakhangthai","khzsquare","kihiragana","kikatakana","kikatakanahalfwidth","kiroguramusquare","kiromeetorusquare","kirosquare","kiyeokacirclekorean","kiyeokaparenkorean","kiyeokcirclekorean","kiyeokkorean","kiyeokparenkorean","kiyeoksioskorean","kjecyrillic","klinebelow","klsquare","kmcubedsquare","kmonospace","kmsquaredsquare","kohiragana","kohmsquare","kokaithai","kokatakana","kokatakanahalfwidth","kooposquare","koppacyrillic","koreanstandardsymbol","koroniscmb","kparen","kpasquare","ksicyrillic","ktsquare","kturned","kuhiragana","kukatakana","kukatakanahalfwidth","kvsquare","kwsquare","labengali","lacute","ladeva","lagujarati","lagurmukhi","lakkhangyaothai","lamaleffinalarabic","lamalefhamzaabovefinalarabic","lamalefhamzaaboveisolatedarabic","lamalefhamzabelowfinalarabic","lamalefhamzabelowisolatedarabic","lamalefisolatedarabic","lamalefmaddaabovefinalarabic","lamalefmaddaaboveisolatedarabic","lamarabic","lambda","lambdastroke","lamed","lameddagesh","lameddageshhebrew","lamedhebrew","lamfinalarabic","lamhahinitialarabic","laminitialarabic","lamjeeminitialarabic","lamkhahinitialarabic","lamlamhehisolatedarabic","lammedialarabic","lammeemhahinitialarabic","lammeeminitialarabic","largecircle","lbar","lbelt","lbopomofo","lcaron","lcedilla","lcircle","lcircumflexbelow","lcommaaccent","ldot","ldotaccent","ldotbelow","ldotbelowmacron","leftangleabovecmb","lefttackbelowcmb","less","lessequal","lessequalorgreater","lessmonospace","lessorequivalent","lessorgreater","lessoverequal","lesssmall","lezh","lfblock","lhookretroflex","lira","liwnarmenian","lj","ljecyrillic","lladeva","llagujarati","llinebelow","llladeva","llvocalicbengali","llvocalicdeva","llvocalicvowelsignbengali","llvocalicvowelsigndeva","lmiddletilde","lmonospace","lmsquare","lochulathai","logicaland","logicalnot","logicalnotreversed","logicalor","lolingthai","longs","lowlinecenterline","lowlinecmb","lowlinedashed","lozenge","lparen","lslash","lsquare","lsuperior","ltshade","luthai","lvocalicbengali","lvocalicdeva","lvocalicvowelsignbengali","lvocalicvowelsigndeva","lxsquare","mabengali","macron","macronbelowcmb","macroncmb","macronlowmod","macronmonospace","macute","madeva","magujarati","magurmukhi","mahapakhhebrew","mahapakhlefthebrew","mahiragana","maichattawalowleftthai","maichattawalowrightthai","maichattawathai","maichattawaupperleftthai","maieklowleftthai","maieklowrightthai","maiekthai","maiekupperleftthai","maihanakatleftthai","maihanakatthai","maitaikhuleftthai","maitaikhuthai","maitholowleftthai","maitholowrightthai","maithothai","maithoupperleftthai","maitrilowleftthai","maitrilowrightthai","maitrithai","maitriupperleftthai","maiyamokthai","makatakana","makatakanahalfwidth","male","mansyonsquare","maqafhebrew","mars","masoracirclehebrew","masquare","mbopomofo","mbsquare","mcircle","mcubedsquare","mdotaccent","mdotbelow","meemarabic","meemfinalarabic","meeminitialarabic","meemmedialarabic","meemmeeminitialarabic","meemmeemisolatedarabic","meetorusquare","mehiragana","meizierasquare","mekatakana","mekatakanahalfwidth","mem","memdagesh","memdageshhebrew","memhebrew","menarmenian","merkhahebrew","merkhakefulahebrew","merkhakefulalefthebrew","merkhalefthebrew","mhook","mhzsquare","middledotkatakanahalfwidth","middot","mieumacirclekorean","mieumaparenkorean","mieumcirclekorean","mieumkorean","mieumpansioskorean","mieumparenkorean","mieumpieupkorean","mieumsioskorean","mihiragana","mikatakana","mikatakanahalfwidth","minus","minusbelowcmb","minuscircle","minusmod","minusplus","minute","miribaarusquare","mirisquare","mlonglegturned","mlsquare","mmcubedsquare","mmonospace","mmsquaredsquare","mohiragana","mohmsquare","mokatakana","mokatakanahalfwidth","molsquare","momathai","moverssquare","moverssquaredsquare","mparen","mpasquare","mssquare","msuperior","mturned","mu1","muasquare","muchgreater","muchless","mufsquare","mugreek","mugsquare","muhiragana","mukatakana","mukatakanahalfwidth","mulsquare","multiply","mumsquare","munahhebrew","munahlefthebrew","musicalnote","musicalnotedbl","musicflatsign","musicsharpsign","mussquare","muvsquare","muwsquare","mvmegasquare","mvsquare","mwmegasquare","mwsquare","nabengali","nabla","nacute","nadeva","nagujarati","nagurmukhi","nahiragana","nakatakana","nakatakanahalfwidth","napostrophe","nasquare","nbopomofo","nbspace","ncaron","ncedilla","ncircle","ncircumflexbelow","ncommaaccent","ndotaccent","ndotbelow","nehiragana","nekatakana","nekatakanahalfwidth","newsheqelsign","nfsquare","ngabengali","ngadeva","ngagujarati","ngagurmukhi","ngonguthai","nhiragana","nhookleft","nhookretroflex","nieunacirclekorean","nieunaparenkorean","nieuncieuckorean","nieuncirclekorean","nieunhieuhkorean","nieunkorean","nieunpansioskorean","nieunparenkorean","nieunsioskorean","nieuntikeutkorean","nihiragana","nikatakana","nikatakanahalfwidth","nikhahitleftthai","nikhahitthai","nine","ninearabic","ninebengali","ninecircle","ninecircleinversesansserif","ninedeva","ninegujarati","ninegurmukhi","ninehackarabic","ninehangzhou","nineideographicparen","nineinferior","ninemonospace","nineoldstyle","nineparen","nineperiod","ninepersian","nineroman","ninesuperior","nineteencircle","nineteenparen","nineteenperiod","ninethai","nj","njecyrillic","nkatakana","nkatakanahalfwidth","nlegrightlong","nlinebelow","nmonospace","nmsquare","nnabengali","nnadeva","nnagujarati","nnagurmukhi","nnnadeva","nohiragana","nokatakana","nokatakanahalfwidth","nonbreakingspace","nonenthai","nonuthai","noonarabic","noonfinalarabic","noonghunnaarabic","noonghunnafinalarabic","nooninitialarabic","noonjeeminitialarabic","noonjeemisolatedarabic","noonmedialarabic","noonmeeminitialarabic","noonmeemisolatedarabic","noonnoonfinalarabic","notcontains","notelement","notelementof","notequal","notgreater","notgreaternorequal","notgreaternorless","notidentical","notless","notlessnorequal","notparallel","notprecedes","notsubset","notsucceeds","notsuperset","nowarmenian","nparen","nssquare","nsuperior","ntilde","nuhiragana","nukatakana","nukatakanahalfwidth","nuktabengali","nuktadeva","nuktagujarati","nuktagurmukhi","numbersign","numbersignmonospace","numbersignsmall","numeralsigngreek","numeralsignlowergreek","numero","nun","nundagesh","nundageshhebrew","nunhebrew","nvsquare","nwsquare","nyabengali","nyadeva","nyagujarati","nyagurmukhi","o","oacute","oangthai","obarred","obarredcyrillic","obarreddieresiscyrillic","obengali","obopomofo","obreve","ocandradeva","ocandragujarati","ocandravowelsigndeva","ocandravowelsigngujarati","ocaron","ocircle","ocircumflex","ocircumflexacute","ocircumflexdotbelow","ocircumflexgrave","ocircumflexhookabove","ocircumflextilde","ocyrillic","odblacute","odblgrave","odeva","odieresis","odieresiscyrillic","odotbelow","oe","oekorean","ogonek","ogonekcmb","ograve","ogujarati","oharmenian","ohiragana","ohookabove","ohorn","ohornacute","ohorndotbelow","ohorngrave","ohornhookabove","ohorntilde","ohungarumlaut","oi","oinvertedbreve","okatakana","okatakanahalfwidth","okorean","olehebrew","omacron","omacronacute","omacrongrave","omdeva","omega","omega1","omegacyrillic","omegalatinclosed","omegaroundcyrillic","omegatitlocyrillic","omegatonos","omgujarati","omicron","omicrontonos","omonospace","one","onearabic","onebengali","onecircle","onecircleinversesansserif","onedeva","onedotenleader","oneeighth","onefitted","onegujarati","onegurmukhi","onehackarabic","onehalf","onehangzhou","oneideographicparen","oneinferior","onemonospace","onenumeratorbengali","oneoldstyle","oneparen","oneperiod","onepersian","onequarter","oneroman","onesuperior","onethai","onethird","oogonek","oogonekmacron","oogurmukhi","oomatragurmukhi","oopen","oparen","openbullet","ordfeminine","ordmasculine","orthogonal","oshortdeva","oshortvowelsigndeva","oslash","oslashacute","osmallhiragana","osmallkatakana","osmallkatakanahalfwidth","ostrokeacute","osuperior","otcyrillic","otilde","otildeacute","otildedieresis","oubopomofo","overline","overlinecenterline","overlinecmb","overlinedashed","overlinedblwavy","overlinewavy","overscore","ovowelsignbengali","ovowelsigndeva","ovowelsigngujarati","paampssquare","paasentosquare","pabengali","pacute","padeva","pagedown","pageup","pagujarati","pagurmukhi","pahiragana","paiyannoithai","pakatakana","palatalizationcyrilliccmb","palochkacyrillic","pansioskorean","paragraph","parallel","parenleft","parenleftaltonearabic","parenleftbt","parenleftex","parenleftinferior","parenleftmonospace","parenleftsmall","parenleftsuperior","parenlefttp","parenleftvertical","parenright","parenrightaltonearabic","parenrightbt","parenrightex","parenrightinferior","parenrightmonospace","parenrightsmall","parenrightsuperior","parenrighttp","parenrightvertical","partialdiff","paseqhebrew","pashtahebrew","pasquare","patah","patah11","patah1d","patah2a","patahhebrew","patahnarrowhebrew","patahquarterhebrew","patahwidehebrew","pazerhebrew","pbopomofo","pcircle","pdotaccent","pe","pecyrillic","pedagesh","pedageshhebrew","peezisquare","pefinaldageshhebrew","peharabic","peharmenian","pehebrew","pehfinalarabic","pehinitialarabic","pehiragana","pehmedialarabic","pekatakana","pemiddlehookcyrillic","perafehebrew","percent","percentarabic","percentmonospace","percentsmall","period","periodarmenian","periodcentered","periodhalfwidth","periodinferior","periodmonospace","periodsmall","periodsuperior","perispomenigreekcmb","perpendicular","perthousand","peseta","pfsquare","phabengali","phadeva","phagujarati","phagurmukhi","phi","phi1","phieuphacirclekorean","phieuphaparenkorean","phieuphcirclekorean","phieuphkorean","phieuphparenkorean","philatin","phinthuthai","phisymbolgreek","phook","phophanthai","phophungthai","phosamphaothai","pi","pieupacirclekorean","pieupaparenkorean","pieupcieuckorean","pieupcirclekorean","pieupkiyeokkorean","pieupkorean","pieupparenkorean","pieupsioskiyeokkorean","pieupsioskorean","pieupsiostikeutkorean","pieupthieuthkorean","pieuptikeutkorean","pihiragana","pikatakana","pisymbolgreek","piwrarmenian","planckover2pi","planckover2pi1","plus","plusbelowcmb","pluscircle","plusminus","plusmod","plusmonospace","plussmall","plussuperior","pmonospace","pmsquare","pohiragana","pointingindexdownwhite","pointingindexleftwhite","pointingindexrightwhite","pointingindexupwhite","pokatakana","poplathai","postalmark","postalmarkface","pparen","precedes","prescription","primemod","primereversed","product","projective","prolongedkana","propellor","propersubset","propersuperset","proportion","proportional","psi","psicyrillic","psilipneumatacyrilliccmb","pssquare","puhiragana","pukatakana","pvsquare","pwsquare","qadeva","qadmahebrew","qafarabic","qaffinalarabic","qafinitialarabic","qafmedialarabic","qamats","qamats10","qamats1a","qamats1c","qamats27","qamats29","qamats33","qamatsde","qamatshebrew","qamatsnarrowhebrew","qamatsqatanhebrew","qamatsqatannarrowhebrew","qamatsqatanquarterhebrew","qamatsqatanwidehebrew","qamatsquarterhebrew","qamatswidehebrew","qarneyparahebrew","qbopomofo","qcircle","qhook","qmonospace","qof","qofdagesh","qofdageshhebrew","qofhebrew","qparen","quarternote","qubuts","qubuts18","qubuts25","qubuts31","qubutshebrew","qubutsnarrowhebrew","qubutsquarterhebrew","qubutswidehebrew","question","questionarabic","questionarmenian","questiondown","questiondownsmall","questiongreek","questionmonospace","questionsmall","quotedbl","quotedblbase","quotedblleft","quotedblmonospace","quotedblprime","quotedblprimereversed","quotedblright","quoteleft","quoteleftreversed","quotereversed","quoteright","quoterightn","quotesinglbase","quotesingle","quotesinglemonospace","raarmenian","rabengali","racute","radeva","radical","radicalex","radoverssquare","radoverssquaredsquare","radsquare","rafe","rafehebrew","ragujarati","ragurmukhi","rahiragana","rakatakana","rakatakanahalfwidth","ralowerdiagonalbengali","ramiddlediagonalbengali","ramshorn","ratio","rbopomofo","rcaron","rcedilla","rcircle","rcommaaccent","rdblgrave","rdotaccent","rdotbelow","rdotbelowmacron","referencemark","reflexsubset","reflexsuperset","registered","registersans","registerserif","reharabic","reharmenian","rehfinalarabic","rehiragana","rekatakana","rekatakanahalfwidth","resh","reshdageshhebrew","reshhebrew","reversedtilde","reviahebrew","reviamugrashhebrew","revlogicalnot","rfishhook","rfishhookreversed","rhabengali","rhadeva","rho","rhook","rhookturned","rhookturnedsuperior","rhosymbolgreek","rhotichookmod","rieulacirclekorean","rieulaparenkorean","rieulcirclekorean","rieulhieuhkorean","rieulkiyeokkorean","rieulkiyeoksioskorean","rieulkorean","rieulmieumkorean","rieulpansioskorean","rieulparenkorean","rieulphieuphkorean","rieulpieupkorean","rieulpieupsioskorean","rieulsioskorean","rieulthieuthkorean","rieultikeutkorean","rieulyeorinhieuhkorean","rightangle","righttackbelowcmb","righttriangle","rihiragana","rikatakana","rikatakanahalfwidth","ring","ringbelowcmb","ringcmb","ringhalfleft","ringhalfleftarmenian","ringhalfleftbelowcmb","ringhalfleftcentered","ringhalfright","ringhalfrightbelowcmb","ringhalfrightcentered","rinvertedbreve","rittorusquare","rlinebelow","rlongleg","rlonglegturned","rmonospace","rohiragana","rokatakana","rokatakanahalfwidth","roruathai","rparen","rrabengali","rradeva","rragurmukhi","rreharabic","rrehfinalarabic","rrvocalicbengali","rrvocalicdeva","rrvocalicgujarati","rrvocalicvowelsignbengali","rrvocalicvowelsigndeva","rrvocalicvowelsigngujarati","rsuperior","rtblock","rturned","rturnedsuperior","ruhiragana","rukatakana","rukatakanahalfwidth","rupeemarkbengali","rupeesignbengali","rupiah","ruthai","rvocalicbengali","rvocalicdeva","rvocalicgujarati","rvocalicvowelsignbengali","rvocalicvowelsigndeva","rvocalicvowelsigngujarati","sabengali","sacute","sacutedotaccent","sadarabic","sadeva","sadfinalarabic","sadinitialarabic","sadmedialarabic","sagujarati","sagurmukhi","sahiragana","sakatakana","sakatakanahalfwidth","sallallahoualayhewasallamarabic","samekh","samekhdagesh","samekhdageshhebrew","samekhhebrew","saraaathai","saraaethai","saraaimaimalaithai","saraaimaimuanthai","saraamthai","saraathai","saraethai","saraiileftthai","saraiithai","saraileftthai","saraithai","saraothai","saraueeleftthai","saraueethai","saraueleftthai","sarauethai","sarauthai","sarauuthai","sbopomofo","scaron","scarondotaccent","scedilla","schwa","schwacyrillic","schwadieresiscyrillic","schwahook","scircle","scircumflex","scommaaccent","sdotaccent","sdotbelow","sdotbelowdotaccent","seagullbelowcmb","secondtonechinese","section","seenarabic","seenfinalarabic","seeninitialarabic","seenmedialarabic","segol","segol13","segol1f","segol2c","segolhebrew","segolnarrowhebrew","segolquarterhebrew","segoltahebrew","segolwidehebrew","seharmenian","sehiragana","sekatakana","sekatakanahalfwidth","semicolon","semicolonarabic","semicolonmonospace","semicolonsmall","semivoicedmarkkana","semivoicedmarkkanahalfwidth","sentisquare","sentosquare","seven","sevenarabic","sevenbengali","sevencircle","sevencircleinversesansserif","sevendeva","seveneighths","sevengujarati","sevengurmukhi","sevenhackarabic","sevenhangzhou","sevenideographicparen","seveninferior","sevenmonospace","sevenoldstyle","sevenparen","sevenperiod","sevenpersian","sevenroman","sevensuperior","seventeencircle","seventeenparen","seventeenperiod","seventhai","sfthyphen","shaarmenian","shabengali","shacyrillic","shaddaarabic","shaddadammaarabic","shaddadammatanarabic","shaddafathaarabic","shaddakasraarabic","shaddakasratanarabic","shade","shadedark","shadelight","shademedium","shadeva","shagujarati","shagurmukhi","shalshelethebrew","shbopomofo","shchacyrillic","sheenarabic","sheenfinalarabic","sheeninitialarabic","sheenmedialarabic","sheicoptic","sheqel","sheqelhebrew","sheva","sheva115","sheva15","sheva22","sheva2e","shevahebrew","shevanarrowhebrew","shevaquarterhebrew","shevawidehebrew","shhacyrillic","shimacoptic","shin","shindagesh","shindageshhebrew","shindageshshindot","shindageshshindothebrew","shindageshsindot","shindageshsindothebrew","shindothebrew","shinhebrew","shinshindot","shinshindothebrew","shinsindot","shinsindothebrew","shook","sigma","sigma1","sigmafinal","sigmalunatesymbolgreek","sihiragana","sikatakana","sikatakanahalfwidth","siluqhebrew","siluqlefthebrew","similar","sindothebrew","siosacirclekorean","siosaparenkorean","sioscieuckorean","sioscirclekorean","sioskiyeokkorean","sioskorean","siosnieunkorean","siosparenkorean","siospieupkorean","siostikeutkorean","six","sixarabic","sixbengali","sixcircle","sixcircleinversesansserif","sixdeva","sixgujarati","sixgurmukhi","sixhackarabic","sixhangzhou","sixideographicparen","sixinferior","sixmonospace","sixoldstyle","sixparen","sixperiod","sixpersian","sixroman","sixsuperior","sixteencircle","sixteencurrencydenominatorbengali","sixteenparen","sixteenperiod","sixthai","slash","slashmonospace","slong","slongdotaccent","smileface","smonospace","sofpasuqhebrew","softhyphen","softsigncyrillic","sohiragana","sokatakana","sokatakanahalfwidth","soliduslongoverlaycmb","solidusshortoverlaycmb","sorusithai","sosalathai","sosothai","sosuathai","space","spacehackarabic","spade","spadesuitblack","spadesuitwhite","sparen","squarebelowcmb","squarecc","squarecm","squarediagonalcrosshatchfill","squarehorizontalfill","squarekg","squarekm","squarekmcapital","squareln","squarelog","squaremg","squaremil","squaremm","squaremsquared","squareorthogonalcrosshatchfill","squareupperlefttolowerrightfill","squareupperrighttolowerleftfill","squareverticalfill","squarewhitewithsmallblack","srsquare","ssabengali","ssadeva","ssagujarati","ssangcieuckorean","ssanghieuhkorean","ssangieungkorean","ssangkiyeokkorean","ssangnieunkorean","ssangpieupkorean","ssangsioskorean","ssangtikeutkorean","ssuperior","sterling","sterlingmonospace","strokelongoverlaycmb","strokeshortoverlaycmb","subset","subsetnotequal","subsetorequal","succeeds","suchthat","suhiragana","sukatakana","sukatakanahalfwidth","sukunarabic","summation","sun","superset","supersetnotequal","supersetorequal","svsquare","syouwaerasquare","tabengali","tackdown","tackleft","tadeva","tagujarati","tagurmukhi","taharabic","tahfinalarabic","tahinitialarabic","tahiragana","tahmedialarabic","taisyouerasquare","takatakana","takatakanahalfwidth","tatweelarabic","tau","tav","tavdages","tavdagesh","tavdageshhebrew","tavhebrew","tbar","tbopomofo","tcaron","tccurl","tcedilla","tcheharabic","tchehfinalarabic","tchehinitialarabic","tchehmedialarabic","tcircle","tcircumflexbelow","tcommaaccent","tdieresis","tdotaccent","tdotbelow","tecyrillic","tedescendercyrillic","teharabic","tehfinalarabic","tehhahinitialarabic","tehhahisolatedarabic","tehinitialarabic","tehiragana","tehjeeminitialarabic","tehjeemisolatedarabic","tehmarbutaarabic","tehmarbutafinalarabic","tehmedialarabic","tehmeeminitialarabic","tehmeemisolatedarabic","tehnoonfinalarabic","tekatakana","tekatakanahalfwidth","telephone","telephoneblack","telishagedolahebrew","telishaqetanahebrew","tencircle","tenideographicparen","tenparen","tenperiod","tenroman","tesh","tet","tetdagesh","tetdageshhebrew","tethebrew","tetsecyrillic","tevirhebrew","tevirlefthebrew","thabengali","thadeva","thagujarati","thagurmukhi","thalarabic","thalfinalarabic","thanthakhatlowleftthai","thanthakhatlowrightthai","thanthakhatthai","thanthakhatupperleftthai","theharabic","thehfinalarabic","thehinitialarabic","thehmedialarabic","thereexists","therefore","theta","theta1","thetasymbolgreek","thieuthacirclekorean","thieuthaparenkorean","thieuthcirclekorean","thieuthkorean","thieuthparenkorean","thirteencircle","thirteenparen","thirteenperiod","thonangmonthothai","thook","thophuthaothai","thorn","thothahanthai","thothanthai","thothongthai","thothungthai","thousandcyrillic","thousandsseparatorarabic","thousandsseparatorpersian","three","threearabic","threebengali","threecircle","threecircleinversesansserif","threedeva","threeeighths","threegujarati","threegurmukhi","threehackarabic","threehangzhou","threeideographicparen","threeinferior","threemonospace","threenumeratorbengali","threeoldstyle","threeparen","threeperiod","threepersian","threequarters","threequartersemdash","threeroman","threesuperior","threethai","thzsquare","tihiragana","tikatakana","tikatakanahalfwidth","tikeutacirclekorean","tikeutaparenkorean","tikeutcirclekorean","tikeutkorean","tikeutparenkorean","tilde","tildebelowcmb","tildecmb","tildecomb","tildedoublecmb","tildeoperator","tildeoverlaycmb","tildeverticalcmb","timescircle","tipehahebrew","tipehalefthebrew","tippigurmukhi","titlocyrilliccmb","tiwnarmenian","tlinebelow","tmonospace","toarmenian","tohiragana","tokatakana","tokatakanahalfwidth","tonebarextrahighmod","tonebarextralowmod","tonebarhighmod","tonebarlowmod","tonebarmidmod","tonefive","tonesix","tonetwo","tonos","tonsquare","topatakthai","tortoiseshellbracketleft","tortoiseshellbracketleftsmall","tortoiseshellbracketleftvertical","tortoiseshellbracketright","tortoiseshellbracketrightsmall","tortoiseshellbracketrightvertical","totaothai","tpalatalhook","tparen","trademark","trademarksans","trademarkserif","tretroflexhook","triagdn","triaglf","triagrt","triagup","ts","tsadi","tsadidagesh","tsadidageshhebrew","tsadihebrew","tsecyrillic","tsere","tsere12","tsere1e","tsere2b","tserehebrew","tserenarrowhebrew","tserequarterhebrew","tserewidehebrew","tshecyrillic","tsuperior","ttabengali","ttadeva","ttagujarati","ttagurmukhi","tteharabic","ttehfinalarabic","ttehinitialarabic","ttehmedialarabic","tthabengali","tthadeva","tthagujarati","tthagurmukhi","tturned","tuhiragana","tukatakana","tukatakanahalfwidth","tusmallhiragana","tusmallkatakana","tusmallkatakanahalfwidth","twelvecircle","twelveparen","twelveperiod","twelveroman","twentycircle","twentyhangzhou","twentyparen","twentyperiod","two","twoarabic","twobengali","twocircle","twocircleinversesansserif","twodeva","twodotenleader","twodotleader","twodotleadervertical","twogujarati","twogurmukhi","twohackarabic","twohangzhou","twoideographicparen","twoinferior","twomonospace","twonumeratorbengali","twooldstyle","twoparen","twoperiod","twopersian","tworoman","twostroke","twosuperior","twothai","twothirds","uacute","ubar","ubengali","ubopomofo","ubreve","ucaron","ucircle","ucircumflex","ucircumflexbelow","ucyrillic","udattadeva","udblacute","udblgrave","udeva","udieresis","udieresisacute","udieresisbelow","udieresiscaron","udieresiscyrillic","udieresisgrave","udieresismacron","udotbelow","ugrave","ugujarati","ugurmukhi","uhiragana","uhookabove","uhorn","uhornacute","uhorndotbelow","uhorngrave","uhornhookabove","uhorntilde","uhungarumlaut","uhungarumlautcyrillic","uinvertedbreve","ukatakana","ukatakanahalfwidth","ukcyrillic","ukorean","umacron","umacroncyrillic","umacrondieresis","umatragurmukhi","umonospace","underscore","underscoredbl","underscoremonospace","underscorevertical","underscorewavy","union","universal","uogonek","uparen","upblock","upperdothebrew","upsilon","upsilondieresis","upsilondieresistonos","upsilonlatin","upsilontonos","uptackbelowcmb","uptackmod","uragurmukhi","uring","ushortcyrillic","usmallhiragana","usmallkatakana","usmallkatakanahalfwidth","ustraightcyrillic","ustraightstrokecyrillic","utilde","utildeacute","utildebelow","uubengali","uudeva","uugujarati","uugurmukhi","uumatragurmukhi","uuvowelsignbengali","uuvowelsigndeva","uuvowelsigngujarati","uvowelsignbengali","uvowelsigndeva","uvowelsigngujarati","vadeva","vagujarati","vagurmukhi","vakatakana","vav","vavdagesh","vavdagesh65","vavdageshhebrew","vavhebrew","vavholam","vavholamhebrew","vavvavhebrew","vavyodhebrew","vcircle","vdotbelow","vecyrillic","veharabic","vehfinalarabic","vehinitialarabic","vehmedialarabic","vekatakana","venus","verticalbar","verticallineabovecmb","verticallinebelowcmb","verticallinelowmod","verticallinemod","vewarmenian","vhook","vikatakana","viramabengali","viramadeva","viramagujarati","visargabengali","visargadeva","visargagujarati","vmonospace","voarmenian","voicediterationhiragana","voicediterationkatakana","voicedmarkkana","voicedmarkkanahalfwidth","vokatakana","vparen","vtilde","vturned","vuhiragana","vukatakana","wacute","waekorean","wahiragana","wakatakana","wakatakanahalfwidth","wakorean","wasmallhiragana","wasmallkatakana","wattosquare","wavedash","wavyunderscorevertical","wawarabic","wawfinalarabic","wawhamzaabovearabic","wawhamzaabovefinalarabic","wbsquare","wcircle","wcircumflex","wdieresis","wdotaccent","wdotbelow","wehiragana","weierstrass","wekatakana","wekorean","weokorean","wgrave","whitebullet","whitecircle","whitecircleinverse","whitecornerbracketleft","whitecornerbracketleftvertical","whitecornerbracketright","whitecornerbracketrightvertical","whitediamond","whitediamondcontainingblacksmalldiamond","whitedownpointingsmalltriangle","whitedownpointingtriangle","whiteleftpointingsmalltriangle","whiteleftpointingtriangle","whitelenticularbracketleft","whitelenticularbracketright","whiterightpointingsmalltriangle","whiterightpointingtriangle","whitesmallsquare","whitesmilingface","whitesquare","whitestar","whitetelephone","whitetortoiseshellbracketleft","whitetortoiseshellbracketright","whiteuppointingsmalltriangle","whiteuppointingtriangle","wihiragana","wikatakana","wikorean","wmonospace","wohiragana","wokatakana","wokatakanahalfwidth","won","wonmonospace","wowaenthai","wparen","wring","wsuperior","wturned","wynn","xabovecmb","xbopomofo","xcircle","xdieresis","xdotaccent","xeharmenian","xi","xmonospace","xparen","xsuperior","yaadosquare","yabengali","yacute","yadeva","yaekorean","yagujarati","yagurmukhi","yahiragana","yakatakana","yakatakanahalfwidth","yakorean","yamakkanthai","yasmallhiragana","yasmallkatakana","yasmallkatakanahalfwidth","yatcyrillic","ycircle","ycircumflex","ydieresis","ydotaccent","ydotbelow","yeharabic","yehbarreearabic","yehbarreefinalarabic","yehfinalarabic","yehhamzaabovearabic","yehhamzaabovefinalarabic","yehhamzaaboveinitialarabic","yehhamzaabovemedialarabic","yehinitialarabic","yehmedialarabic","yehmeeminitialarabic","yehmeemisolatedarabic","yehnoonfinalarabic","yehthreedotsbelowarabic","yekorean","yen","yenmonospace","yeokorean","yeorinhieuhkorean","yerahbenyomohebrew","yerahbenyomolefthebrew","yericyrillic","yerudieresiscyrillic","yesieungkorean","yesieungpansioskorean","yesieungsioskorean","yetivhebrew","ygrave","yhook","yhookabove","yiarmenian","yicyrillic","yikorean","yinyang","yiwnarmenian","ymonospace","yod","yoddagesh","yoddageshhebrew","yodhebrew","yodyodhebrew","yodyodpatahhebrew","yohiragana","yoikorean","yokatakana","yokatakanahalfwidth","yokorean","yosmallhiragana","yosmallkatakana","yosmallkatakanahalfwidth","yotgreek","yoyaekorean","yoyakorean","yoyakthai","yoyingthai","yparen","ypogegrammeni","ypogegrammenigreekcmb","yr","yring","ysuperior","ytilde","yturned","yuhiragana","yuikorean","yukatakana","yukatakanahalfwidth","yukorean","yusbigcyrillic","yusbigiotifiedcyrillic","yuslittlecyrillic","yuslittleiotifiedcyrillic","yusmallhiragana","yusmallkatakana","yusmallkatakanahalfwidth","yuyekorean","yuyeokorean","yyabengali","yyadeva","zaarmenian","zacute","zadeva","zagurmukhi","zaharabic","zahfinalarabic","zahinitialarabic","zahiragana","zahmedialarabic","zainarabic","zainfinalarabic","zakatakana","zaqefgadolhebrew","zaqefqatanhebrew","zarqahebrew","zayin","zayindagesh","zayindageshhebrew","zayinhebrew","zbopomofo","zcaron","zcircle","zcircumflex","zcurl","zdot","zdotaccent","zdotbelow","zecyrillic","zedescendercyrillic","zedieresiscyrillic","zehiragana","zekatakana","zero","zeroarabic","zerobengali","zerodeva","zerogujarati","zerogurmukhi","zerohackarabic","zeroinferior","zeromonospace","zerooldstyle","zeropersian","zerosuperior","zerothai","zerowidthjoiner","zerowidthnonjoiner","zerowidthspace","zeta","zhbopomofo","zhearmenian","zhebrevecyrillic","zhecyrillic","zhedescendercyrillic","zhedieresiscyrillic","zihiragana","zikatakana","zinorhebrew","zlinebelow","zmonospace","zohiragana","zokatakana","zparen","zretroflexhook","zstroke","zuhiragana","zukatakana","angbracketleftbig","angbracketleftBig","angbracketleftbigg","angbracketleftBigg","angbracketrightBig","angbracketrightbig","angbracketrightBigg","angbracketrightbigg","arrowhookleft","arrowhookright","arrowlefttophalf","arrowleftbothalf","arrownortheast","arrownorthwest","arrowrighttophalf","arrowrightbothalf","arrowsoutheast","arrowsouthwest","backslashbig","backslashBig","backslashBigg","backslashbigg","bardbl","bracehtipdownleft","bracehtipdownright","bracehtipupleft","bracehtipupright","braceleftBig","braceleftbig","braceleftbigg","braceleftBigg","bracerightBig","bracerightbig","bracerightbigg","bracerightBigg","bracketleftbig","bracketleftBig","bracketleftbigg","bracketleftBigg","bracketrightBig","bracketrightbig","bracketrightbigg","bracketrightBigg","ceilingleftbig","ceilingleftBig","ceilingleftBigg","ceilingleftbigg","ceilingrightbig","ceilingrightBig","ceilingrightbigg","ceilingrightBigg","circledotdisplay","circledottext","circlemultiplydisplay","circlemultiplytext","circleplusdisplay","circleplustext","contintegraldisplay","contintegraltext","coproductdisplay","coproducttext","floorleftBig","floorleftbig","floorleftbigg","floorleftBigg","floorrightbig","floorrightBig","floorrightBigg","floorrightbigg","hatwide","hatwider","hatwidest","intercal","integraldisplay","integraltext","intersectiondisplay","intersectiontext","logicalanddisplay","logicalandtext","logicalordisplay","logicalortext","parenleftBig","parenleftbig","parenleftBigg","parenleftbigg","parenrightBig","parenrightbig","parenrightBigg","parenrightbigg","prime","productdisplay","producttext","radicalbig","radicalBig","radicalBigg","radicalbigg","radicalbt","radicaltp","radicalvertex","slashbig","slashBig","slashBigg","slashbigg","summationdisplay","summationtext","tildewide","tildewider","tildewidest","uniondisplay","unionmultidisplay","unionmultitext","unionsqdisplay","unionsqtext","uniontext","vextenddouble","vextendsingle","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","clearUnicodeCaches","CategoryCache","cachedCategory","groups","SpecialCharRegExp","nameLen","hexStr","lastPosition","UnicodeRanges","getSpecialPUASymbols","Helvetica","Courier","ZapfDingbats","ArialNarrow","ArialBlack","Arial","ArialMT","ArialUnicodeMS","CourierNew","CourierNewPSMT","TimesNewRoman","TimesNewRomanPS","TimesNewRomanPSMT","Calibri","CenturyGothic","ComicSansMS","Impact","LucidaConsole","NuptialScript","SegoeUISymbol","Albertus","Aldus","Alexandria","Algerian","Antiqua","Apex","Arno","Aster","Aurora","Baskerville","Bell","Bembo","Benguiat","Bodoni","Bookman","Calisto","Calvert","Capitals","Cambria","Cartier","Caslon","Catull","Centaur","Chaparral","Cheltenham","Clarendon","Clearface","Cochin","Colonna","Constantia","Corona","Ecotype","Egyptienne","Elephant","Excelsior","Fairfield","Folkard","Footlight","FreeSerif","Garamond","Gentium","Georgia","Gloucester","Granjon","Heather","Hercules","Hiroshige","Imprint","Janson","Joanna","Korinna","Lexicon","LiberationSerif","Literaturnaya","Lucida","Melior","Memphis","Miller","Minion","Modern","Palatino","Perpetua","Plantin","Playbill","Renault","Requiem","Rockwell","Roman","Sabon","Scala","Seagull","Sistina","Souvenir","STIX","Sylfaen","Times","Trajan","Utopia","Versailles","Wanted","Weiss","Windsor","XITS","Dingbats","Wingdings","_createBuiltInEncoding","charsets","invCidToGidMap","getUint32","getInt16","getInt8","getFloat214","getSubroutineBias","numSubrs","parseCmap","idOffset","parseCff","_cff$topDict$privateD","_cff$topDict$privateD2","gsubrs","_cff$globalSubrIndex","isCFFCIDFont","lookupCmap","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","numberOfPoints","startPoint","endPoint","contour","compileCharString","charStringCode","bezierCurveTo","stems","xb","yb","subrCode","stackClean","_fontDict$privateDict","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","Type2Compiled","cffInfo","parseGlyfTable","DataView","byteOffset","getSize","totalSize","ArrayBuffer","setUint32","setUint16","locaIndex","simple","composites","GlyphHeader","CompositeGlyph","SimpleGlyph","spos","factor","xMiddle","setInt16","Contour","xCoordinates","yCoordinates","contours","instructions","endPt","numberOfPt","instructionLength","getUint8","allXCoordinates","pointFlags","endPtsOfContoursIndex","lastCoordinate","lastX","lastY","X_SHORT_VECTOR","Y_SHORT_VECTOR","setUint8","argument1","argument2","writeInt16","writeInt32","writeData","sfnt","entriesCount","entrySize","maxPower2","tablesNames","tableName","tableOffsets","_type1_parser","findBlock","streamBytes","startIndex","streamBytesLength","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","suggestedLength","EEXEC_SIGNATURE","streamStartPos","headerBytes","headerBytesLength","getHeaderBlock","Type1Parser","extractFontHeader","eexecBlock","eexecBytes","getEexecBlock","extractFontProgram","type2Charstrings","getType2Charstrings","getType2Subrs","wrap","getSeacs","charstringsLen","type1Charstrings","type1Charstring","type1Subrs","type2Subrs","charsetArray","privateData","subrIndex","COMMAND_MAP","Type1CharString","lsb","flexing","wx","sbx","executeCommand","asb","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","isHexDigit","decrypt","discardNumber","decrypted","isSpecial","encrypted","isBinary","digit1","digit2","decryptAscii","readNumberArray","getToken","readInt","readBoolean","prevChar","readCharStrings","lenIV","program","blueArray","charString","charStringObject","encodingArg","clearPatternCaches","bCache","xstep","ystep","paintType","tilingType","ShadingType","RadialAxialShading","MeshShading","DummyShading","BaseShading","coordsArr","shadingType","t0","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","colorStops","iBase","rgbBase","cssColorBase","makeHexColor","iPrev","rgbPrev","maxSlopeR","maxSlopeG","maxSlopeB","minSlopeR","minSlopeG","minSlopeB","run","cssColor","background","SMALL_NUMBER","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","hasData","align","readFlag","bitsPerFlag","readCoordinate","bitsPerCoordinate","yi","readComponents","ci","getB","_bCache","lut","t_","buildB","coords","figures","decodeContext","patchMesh","_decodeType4Shading","verticesPerRow","_decodeType5Shading","_decodeType6Shading","_decodeType7Shading","_updateBounds","_buildFigureFromPatch","_packData","operators","ps","verticesLeft","coord","tmp1","tmp2","tmp3","tmp4","figure","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","TRIANGLE_DENSITY","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","splitYBy","figureCoords","figureColors","cl","cr","c0","c1","c2","c3","bRow","bCol","newColor","coordsPacked","xy","colorsPacked","baseWidths","baseMapping","rescaledBaseWidths","currentArray","newWidths","charUnicode","unicode1","unicode2","getXfaFontWidths","systemInfo","_calibri_factors","_helvetica_factors","_liberationsans_widths","_myriadpro_factors","_segoeui_factors","getXFAFontMap","MyriadProRegularFactors","LiberationSansRegularWidths","LiberationSansRegularMapping","MyriadProRegularMetrics","MyriadProBoldFactors","LiberationSansBoldWidths","LiberationSansBoldMapping","MyriadProBoldMetrics","MyriadProItalicFactors","LiberationSansItalicWidths","LiberationSansItalicMapping","MyriadProItalicMetrics","MyriadProBoldItalicFactors","LiberationSansBoldItalicWidths","LiberationSansBoldItalicMapping","MyriadProBoldItalicMetrics","CalibriRegularFactors","CalibriRegularMetrics","CalibriBoldFactors","CalibriBoldMetrics","CalibriItalicFactors","CalibriItalicMetrics","CalibriBoldItalicFactors","CalibriBoldItalicMetrics","SegoeuiRegularFactors","SegoeuiRegularMetrics","SegoeuiBoldFactors","SegoeuiBoldMetrics","SegoeuiItalicFactors","SegoeuiItalicMetrics","SegoeuiBoldItalicFactors","SegoeuiBoldItalicMetrics","HelveticaRegularFactors","HelveticaRegularMetrics","HelveticaBoldFactors","HelveticaBoldMetrics","HelveticaItalicFactors","HelveticaItalicMetrics","HelveticaBoldItalicFactors","HelveticaBoldItalicMetrics","PostScriptEvaluator","PostScriptCompiler","fnDict","_ps_parser","toNumberArray","cachedFunction","parsedFunction","PDFFunction","parseArray","fnRef","_cacheKey$dict","localFunction","_localFunctionCache","_cacheKey$dict2","LocalFunctionCache","outputSize","bps","sampleMul","strBytes","strIdx","constructSampled","constructInterpolated","constructStiched","constructPostScript","toMultiArray","xmin","xmax","ymin","ymax","domain","inputSize","encode","samples","getSampleArray","cubeVertices","cubeN","Float64Array","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","fns","dmin","dmax","rmin","rmax","PostScriptLexer","PostScriptParser","numOutputs","numInputs","cache_available","cachedValue","execute","stackIndex","bound","PostScriptStack","initialStack","MAX_STACK_SIZE","copy","roll","counter","atan2","cos","log10","sin","AstNode","visit","AstArgument","visitArgument","AstLiteral","visitLiteral","AstBinaryOperation","visitBinaryOperation","AstMin","arg","visitMin","AstVariable","visitVariable","AstVariableDefinition","variable","visitVariableDefinition","ExpressionBuilderVisitor","parts","literal","definition","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","ast1","ast2","tmpVar","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","_PostScriptToken$opCa","getOperator","GlobalImageCache","BaseLocalCache","_onlyRefs","onlyRefs","_nameRefMap","_imageMap","_imageCache","_refCache","_byteSize","imageData","_cacheLimitReached","MIN_IMAGES_TO_CACHE","MAX_BYTE_SIZE","pageIndexSet","NUM_PAGES_THRESHOLD","startLevel","isLTR","strLength","createBidiText","numBidi","charType","baseTypes","arabicTypes","isOdd","sor","eor","lastType","findUnequal","before","after","setValues","isEven","highestLevel","lowestOddLevel","reverseValues","localFontPath","substitutionInfo","substitution","substitutionMap","alias","subst","mustAddBaseFont","BOLDITALIC","BOLD","ITALIC","NORMAL","ultimate","generateFont","local","getStyleToAppend","useFallback","usePath","append","aliasAppend","fallbackInfo","fallbackUltimate","isMask","_imgData","_isMask","_goodSquareLength","MAX_DIM","area","_hasMaxArea","MAX_AREA","_areGoodDims","_guessMax","tolerance","defaultHeight","middle","_createImage","_encodeBMP","Blob","bitmapPromise","createImageBitmap","minFactor","firstFactor","steps","newWidth","newHeight","prevWidth","prevHeight","transferToImageBitmap","bitPerPixel","colorTable","maskTable","compression","rowLen","extraLen","headerLength","fileLength","bmpData","setInt32","seed","blockCounts","tailLength","dataUint32","k1","k2","C1","C2","addState","parentState","checkFn","iterateFn","processFn","_state","InitialState","iCurr","curr","iFirstSave","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","putImageData","ImageData","iFirstPIMXO","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg1","firstTransformArg2","firstTransformArg3","iPIMXO","images","maskParams","firstPIXOArg0","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","NullOptimizer","_optimize","QueueOptimizer","lastProcessed","streamSink","_streamSink","optimizer","_totalLength","_resolved","CHUNK_SIZE","CHUNK_SIZE_ABOUT","_transfers","separateAnnots","decodeAndClamp","addend","coefficient","resizeImageMask","imageMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","smaskData","maskData","computedLength","needsToBeResized","decodeBuffer","getComponents","bufferPos","rowComps","loop1End","loop2End","remainingBits","fillOpacity","rgbaBuf","alphaBuf","sw","fillGrayBuffer","imageOffset","maskOffset","undoPreblend","_this$smask3","matteRgb","matteR","matteG","matteB","mustBeResized","getImageBytes","createBitmap","imageLength","isHandled","rgba","internal","maybeUndoPreblend","canvasImgData","imageBytes","_name_number_tree","_metadata_parser","fetchDestination","_catDict","getCatalogObj","toplevelPagesDict","_actualNumPages","cloneDict","metadata","streamRef","_this$xref$encrypt","encryptMetadata","MetadataParser","markInfo","_readMarkInfo","Marked","UserProperties","Suspects","structTree","_readStructTreeRoot","rawObj","init","pagesObj","documentOutline","_readDocumentOutline","blackColor","outlineDict","outlineItem","attachment","unsafeUrl","setOCGState","permissions","_readPermissions","optionalContentConfig","defaultConfig","groupsData","groupRefs","groupRef","_readOptionalContentConfig","contentGroupRefs","parseOnOff","onParsed","parseOrder","nestedLevels","parsedOrderRefs","nestedOrder","parseNestedOrder","hiddenGroups","MAX_NESTED_LEVELS","nestedName","creator","baseState","off","_pagesCount","destinations","_readDests","dests","NameTree","getAll","getDestination","allDest","pageLabels","_readPageLabels","prefix","nums","NumberTree","currentLabel","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","pageLayout","pageMode","viewerPreferences","prefs","prefValue","openAction","nameTree","fs","_collectJavaScript","javaScript","appendIfJavaScriptDict","jsDict","translatedFonts","nodesToVisit","visitedNodes","pagesRef","currentPageIndex","currentNode","posInKids","addPageError","queueItem","kidObj","getPageIndex","cachedPageIndex","kidRef","parentRef","kidPromises","pagesBeforeRef","uri","actionType","actionName","include","resetForm","urlDict","remoteDest","JSON","stringify","target","relationship","namedAction","preserveRB","stateArr","jsAction","jsURL","NameOrNumberTree","_type","kidsOrEntries","loopCount","limits","currentKey","pickPlatformItem","description","contentAvailable","_filename","contentRef","fileObj","_xml_parser","_repair","xmlDocument","SimpleXMLParser","lowerCaseName","parseFromString","_metadataMap","_data","d2","d3","charBuf","_getSequence","nodeName","childNodes","_parseArray","hasChildNodes","seqNode","rdf","documentElement","firstChild","nextSibling","desc","parsedData","rawData","XMLParserErrorCode","XMLParserBase","SimpleDOMNode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","_resolveEntities","onResolveEntity","_parseContent","attributes","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","parsed","_parseProcessingInstruction","attrStart","parseXml","onEndElement","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","isClosed","onBeginElement","onText","nodeValue","_this$childNodes","parentNode","child","searchNode","siblingPos","dump","attribute","hasAttributes","_currentFragment","_stack","_errorCode","_hasAttributes","_lowerCaseName","isWhitespaceString","lastElement","childNode","StructElementType","rootDict","roleMap","structParentIds","readRoleMap","roleMapDict","nextKey","hasNothingToUpdate","accessibilityData","_element$accessibilit","structTreeRootRef","parentTreeRef","parentTree","_element$accessibilit2","structTreeParent","numsRef","kidsRef","newNextkey","objr","expanded","actualText","tagRef","tagDict","newTagRef","fallbackRef","objDict","idToElement","structTreeParentId","parentArray","updateElement","pageKid","parentKids","saveParentDict","parentKidsRef","StructElementNode","parseKids","role","nameObj","pageObjId","objRef","parseKid","StructElement","kidDict","refObjId","_this$root$structPare","numberTree","addNode","elemId","addTopLevelNode","nodeToSerializable","kidElement","newXfa","updateAcroform","xml","nodePath","writeXFADataForAcroform","createCipherTransform","encryptString","updateXFA","refForXrefTable","baseOffset","xrefTableData","indexes","maxOffset","md5","filesize","time","md5Buffer","md5BufferLen","writeString","computeMD5","sizes","tableLength","writeDict","bufferLen","footer","objOffset","writeInt","writeStream","writeArray","writeValue","isFilterZeroFlateDecode","CompressionStream","byteArray","writer","getWriter","Response","readable","newFilter","newParams","calculateSHA256","PDF20","PDF17","CipherTransformFactory","ARCFourCipher","AES256Cipher","AES128Cipher","calculateSHA384","calculateSHA512","_decrypt_stream","keyLength","encryptBlock","decryptBlock","h0","h3","paddedLength","padded","rotateArg","Word64","highInteger","lowInteger","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigmaPrime","littleSigma","h4","h5","h6","h7","littleSigmaPrime","mode384","NullCipher","AESBaseCipher","_s","_inv_s","_mix","_mixCol","bufferPosition","_expandKey","cipherKey","_decrypt","_keySize","_cyclesOfRepetition","s0","_encrypt","_decryptBlock2","finalize","sourceLength","iv","plain","_key","lastBlock","psLen","cipher","_rcon","rcon","t3","t4","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","_hash","combinedLength","combinedArray","remainder","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","DecryptStream","pad","fileId","algorithm","cfDict","streamCryptoName","handlerDict","ownerBytes","revision","fileIdBytes","passwordBytes","encryptionKey","uBytes","perms","decodedPassword","cf","stmf","strf","eff","cipherConstructor","passwordLength","pdfAlgorithm","hashDataSize","_classStaticPrivateFieldSpecGet","keyLengthInBytes","checkData","derivedKey","isAes","cryptFilter","cfm","nextChunk","hasMoreData","addChildren","rawValue","refSet","_walk","nodesToRevisit","pendingRequests","foundMissingData","_symbol_utils","_bind","_utils","_xhtml","XFAParser","_createDocument","binder","Binder","dataHandler","DataHandler","$globalData","_createPagesHelper","$toPages","nextIteration","setTimeout","pages","dims","_createPages","fontFinder","FontFinder","typeface","usedTypefaces","stripQuotes","storage","serialize","rc","XhtmlNamespace","$nodeName","newRoot","body","$appendChild","$toHTML","success","html","class","attr","$text","$uid","$toStyle","$toString","$tabIndex","$setValue","$setSetAttributes","$setId","$searchNode","$root","$resolvePrototypes","$removeChild","$pushPara","$pushGlyphs","$popPara","$onText","$onChildCheck","$onChild","$nsAttributes","$namespaceId","$lastAttribute","$isUsable","$isTransparent","$isThereMoreWidth","$isSplittable","$isNsAgnostic","$isDescendent","$isDataValue","$isCDATAXml","$isBindable","$insertAt","$indexOf","$ids","$hasSettableValue","$getTemplateRoot","$getSubformParent","$getRealChildrenByNameIt","$getParent","$getNextPage","$getExtra","$getDataValue","$getContainedChildren","$getChildrenByNameIt","$getChildrenByName","$getChildrenByClass","$getChildren","$getAvailableSpace","$getAttributes","$getAttributeIt","$flushHTML","$finalize","$extra","$dump","$data","$content","$consumed","$clone","$cleanup","$cleanPage","$clean","$childrenToHTML","$addHTML","$acceptWhitespace","_template","_som","_xfa_object","_namespaces","NS_DATASETS","NamespaceIds","createText","Text","XmlObject","emptyMerge","_isConsumeData","_mergeMode","_isMatchTemplate","_bindElement","_bindValue","formNode","picture","Field","ui","choiceList","_findDataByNameToConsume","isValue","dataNode","global","generator","_match","_setProperties","connection","setProperty","targetNodes","targetNode","targetParent","SetProperty","BindItems","XFAAttribute","attrs","Reflect","construct","getPrototypeOf","_bindItems","bindItems","Items","labelRef","valueRef","labelNodes","labelNode","valueNodes","valueNode","label","_bindOccurrences","baseClone","occur","_createOccurrences","initial","XFAObjectArray","currentNumber","nodeClone","_getOccurInfo","_setAndBind","uselessNodes","mergeMode","dataChildren","nsId","dataChild","createDataNode","Value","TemplateNamespace","Template","_layout","_html_utils","TEMPLATE_NS_ID","SVG_NS","HEADING_PATTERN","MIMES","IMAGES_HEADERS","getBorderDims","border","borderExtra","insets","hasMargin","margin","topInset","rightInset","bottomInset","leftInset","_setValue","templateNode","getContainedChildren","SubformSet","isRequired","nullTest","setTabIndex","traversal","applyAssist","assist","assistTitle","ariaRole","ariaLevel","ariaLabel","speak","toolTip","valueToHtml","HTMLResult","setFirstUnsplittable","firstUnsplittable","noLayoutFailure","unsetFirstUnsplittable","handleBreak","targetType","currentPageArea","currentContentArea","PageArea","startNew","ContentArea","pageArea","nextPageArea","contentAreas","contentArea","indexForCurrent","indexForTarget","handleOverflow","extraNode","saved","savedMethod","AppearanceFilter","StringObject","getStringOption","use","usehref","Arc","XFAObject","circular","getInteger","hand","startAngle","getFloat","sweepAngle","edge","Edge","edgeStyle","presence","strokeWidth","measureToString","xmlns","overflow","cx","cy","rx","ry","largeArc","vectorEffect","preserveAspectRatio","svg","display","Area","colSpan","relevant","getRelevant","getMeasurement","extras","draw","exObject","exclGroup","subform","subformSet","availableSpace","toStyle","isPrintOnly","xfaName","isBreak","FAILURE","Assist","Barcode","charEncoding","getKeyword","dataColumnCount","dataPrep","dataRowCount","endChar","errorCorrectionLevel","moduleHeight","moduleWidth","printCheckDigit","rowColumnRatio","getRatio","startChar","textLocation","truncate","upsMode","wideNarrowRatio","Bind","Bookend","leader","BooleanElement","Option01","Border","break","corner","edges","defaultEdge","edgeStyles","cornerStyles","borderRadius","Break","afterTarget","beforeTarget","bookendLeader","bookendTrailer","overflowLeader","overflowTarget","overflowTrailer","BreakAfter","script","BreakBefore","Button","highlight","grandpa","htmlButton","event","activity","fixURL","Calculate","Caption","placement","reserve","para","layoutNode","EMPTY","savedReserve","setPara","Certificate","Certificates","credentialServerPolicy","urlPolicy","encryption","issuers","keyUsage","oids","signing","subjectDNs","CheckButton","mark","shape","className","groupId","container","fieldId","dataId","ExclGroup","xfaOn","xfaOff","ChoiceList","commitOn","textEntry","optionStyle","displayedIndex","saveIndex","displayed","selected","selectAttributes","multiple","Color","cSpace","getColor","Comb","numberOfCells","Connect","usage","classNames","Corner","inverted","DateElement","ContentObject","DateTime","DateTimeEdit","hScrollPolicy","picker","Decimal","fracDigits","leadDigits","DefaultUi","Desc","boolean","dateTime","decimal","exData","float","integer","DigestMethod","OptionObject","DigestMethods","digestMethod","Draw","anchorType","hAlign","locale","maxW","minH","minW","caption","keep","fixDimensions","savedW","savedH","isBroken","checkDimensions","setMinMaxDimensions","padding","computeBbox","createWrapper","cap","linecap","Encoding","Encodings","Encrypt","certificate","EncryptData","manifest","Encryption","EncryptionMethod","EncryptionMethods","encryptionMethod","Event","listen","encryptData","signData","submit","ExData","contentType","maxLength","rid","transferEncoding","xhtml","ExObject","archive","classId","codeBase","codeType","access","accessKey","connect","endsWith","attempt","numberInLine","_isSplittable","flushHTML","addHTML","getAvailableSpace","setAccess","isSplittable","columnWidths","currentColumn","layoutClass","isLrTb","maxRun","MAX_ATTEMPTS_FOR_LRTB_LAYOUT","marginH","marginV","Execute","executeType","runAt","Extras","Ui","TextEdit","textEdit","checkButton","borderDims","uiW","uiH","lineNoGap","_ui$children","tabindex","aElement","button","imageEdit","htmlValue","_this$value$text","maxChars","numericEdit","_ui$children2","captionHeight","inputHeight","Fill","linear","radial","solid","stipple","ggrandpa","propName","altPropName","Rectangle","getOwnPropertyNames","_this$color","addRevocationInfo","appearanceFilter","certificates","digestMethods","encryptionMethods","lockDocument","mdp","reasons","timeStamp","Float","baselineShift","fontHorizontalScale","fontVerticalScale","kerningMode","letterSpacing","lineThrough","lineThroughPeriod","overlinePeriod","posture","underline","underlinePeriod","backgroundClip","verticalAlign","fontKerning","textDecoration","textDecorationStyle","fontStyle","setFontFamily","Format","Handler","Hyphenation","excludeAllCaps","excludeInitialCap","hyphenate","pushCharacterCount","remainCharacterCount","wordCharacterCount","Image","aspect","atob","objectFit","createObjectURL","ImageEdit","Integer","Issuers","Keep","intact","KeyUsage","crlSign","dataEncipherment","decipherOnly","digitalSignature","encipherOnly","keyAgreement","keyCertSign","keyEncipherment","nonRepudiation","Line","slope","Linear","startColor","endColor","LockDocument","Manifest","Margin","Mdp","signatureType","Medium","imagingBBox","getBBox","long","orientation","short","stock","trayIn","trayOut","Message","NumericEdit","Occur","originalMin","PageSet","Oid","Oids","oid","Overflow","addLeader","addTrailer","blankOrNotBlank","initialNumber","numbered","oddOrEven","pagePosition","medium","numberOfUse","relation","duplexImposition","pageSet","pageSetIndex","pageNumber","parity","Para","marginLeft","marginRight","orphans","preserve","radixOffset","spaceAbove","spaceBelow","tabDefault","tabStops","textIndent","vAlign","widows","hyphenation","paddingLeft","paddingight","paddingTop","paddingBottom","fixTextIndent","tabSize","hyphenatation","PasswordEdit","passwordChar","Picture","Proto","barcode","bookend","breakAfter","breakBefore","dateTimeEdit","defaultUi","passwordEdit","subjectDN","traverse","variables","Radial","Reason","Reasons","cornerStyle","RefElement","binding","SignData","Signature","Signing","Solid","Speak","disable","priority","Stipple","rate","Subform","allowMacro","restoreState","scope","breakNode","_this$_symbol_utils$$","afterBreakAfter","savedNoLayoutFailure","overflowExtra","overflowNode","SubjectDN","delimiter","kv","SubjectDNs","Submit","embedPDF","textEncoding","xdpContent","baseProfile","paraStack","pageAreas","mainHtml","breakBeforeTarget","_root$break","_root$subform$childre","pageAreaParent","targetPageArea","hasSomething","hasSomethingCounter","htmlContentAreas","acc","allowRichText","vScrollPolicy","Time","TimeStamp","server","ToolTip","Traversal","Traverse","Validate","formatTest","scriptTest","_parent$ui","valueName","Variables","$buildXFAObject","ns","pdf","sourceSet","xdc","xdp","xfdf","xmpmeta","createLine","centerX","centerY","getTransformedBBox","failingNode","htmlFromFailing","wrapper","insetsH","insetsW","alignSelf","_parent$layout4","indent","textAlign","layoutText","xfaFont","regular","getCurrentPara","pdfFont","selectFont","nodeStyle","_value$attributes$cla","valueStyle","flexDirection","justifyContent","paraStyle","converters","newStyle","_text","_parent$layout3","transformOrigin","visibility","measure","TextMeasure","addString","compute","excluded","viewname","def","den","dimConverters","pt","mm","in","measurementPattern","valueStr","unit","conv","real","bolditalic","defaultFont","addPdfFont","myriad","_pdfFont$psName","_pdfFont$psName2","_pdfFont$psName3","getDefault","maybe","family","_pdfFont$regular$name","_pdfFont$regular$name2","FontInfo","paraMargin","FontSelector","defaultXfaFont","defaultParaMargin","defaultLineHeight","pushData","lastFont","popFont","topFont","fontSelector","extraHeight","addPara","fontLineHeight","noGap","firstLineHeight","fallbackWidth","encodedLine","lastSpaceWidth","currentLineWidth","currentLineHeight","isFirstLine","isEOL","Option10","IntegerObject","_applyPrototype","_attributes","_attributeNames","_children","_cloneAttribute","_dataValue","_defaultValue","_filteredChildrenGenerator","_getPrototype","_getUnsetAttributes","_hasChildren","_max","_options","_parent","_resolvePrototypesHelper","_setAttributes","_validator","uid","hasChildren","isXFAObject","isXFAObjectArray","createNodes","isFinite","clean","dumped","protoAttributes","allAttr","setAttr","ancestors","somExpression","protoProto","unsetAttrName","protoValue","$symbol","getOwnPropertySymbols","clonedChild","allTransparent","tagName","utf8TagName","utf8Name","skipConsumed","hasNS","$ns","$name","validator","parseExpression","shortcuts","dotDotAllowed","useCache","isQualified","cacheName","somCache","namePattern","indexPattern","host","dataWindow","WeakMap","noExpr","formCalc","dataset","_builder","rootNameSpace","Builder","_globalData","_ids","_current","buildRoot","_whiteRegex","_nbsps","_richText","_mkAttributes","namespace","prefixes","attributeObj","nsAttrs","_nsAttrs","_getNameAndPrefix","nsAgnostic","attributesObj","nsPrefix","isNsAgnostic","build","_setup","_unknown","Root","Empty","_namespaceStack","_nsAgnosticLevel","_namespacePrefixes","_nextNsId","_ref85","_currentNamespace","UnknownNamespace","hasNamespaceDef","_searchNamespace","_addNamespacePrefix","dataTemplate","NamespaceSetUp","xfaAttrs","_getNamespaceToUse","namespaceToUse","hasNamespace","nsName","prefixStack","_ref87","_config","_connection_set","_datasets","_locale_set","_signature","_stylesheet","_xdp","ConfigNamespace","ConnectionSetNamespace","DatasetsNamespace","LocaleSetNamespace","SignatureNamespace","StylesheetNamespace","XdpNamespace","CONFIG_NS_ID","Acrobat","acrobat7","autoSave","common","validateApprovalSignatures","submitUrl","Acrobat7","dynamicRender","ADBE_JSConsole","ADBE_JSDebugger","AddSilentPrint","AddViewerPreferences","AdjustData","AdobeExtensionLevel","Agent","AlwaysEmbed","Amd","Attributes","AutoSave","Base","BatchOutput","BehaviorOverride","Cache","templateCache","Change","Common","messaging","suppressBanner","validationMessaging","versionControl","Compress","CompressLogicalStructure","CompressObjectStream","Compression","compressLogicalStructure","compressObjectStream","Config","acrobat","present","trace","agent","Conformance","ContentCopy","Copies","Creator","CurrentPage","Data","adjustData","incrementalLoad","outputXSL","startNode","xsl","excludeNS","Debug","DefaultTypeface","writingScript","Destination","DocumentAssembly","Driver","DuplexOption","DynamicRender","Embed","encryptionLevel","EncryptionLevel","Enforce","Equate","force","to","EquateRange","_unicodeRange","unicodeRange","unicodeRegex","Exclude","ExcludeNS","FlipLabel","embed","subsetBelow","alwaysEmbed","defaultTypeface","neverEmbed","FormFieldFilling","GroupParent","IfEmpty","IncludeXDPContent","IncrementalLoad","IncrementalMerge","Interactive","Jog","LabelPrinter","batchOutput","flipLabel","Layout","Level","Linearized","Locale","LocaleSet","Log","threshold","MapElement","equate","equateRange","MediumInfo","msgId","severity","Messaging","Mode","ModifyAnnots","MsgId","NameAttr","NeverEmbed","NumberOfCopies","OpenAction","destination","Output","OutputBin","OutputXSL","Overprint","Packets","PageOffset","PageRange","numbers","Pagination","PaginationOverride","Part","Pcl","jog","mediumInfo","outputBin","pageOffset","staple","Pdf","adobeExtensionLevel","interactive","linearized","pdfa","producer","renderPolicy","scriptModel","silentPrint","submitFormat","tagged","Pdfa","amd","conformance","includeXDPContent","Permissions","accessibleContent","change","contentCopy","documentAssembly","formFieldFilling","modifyAnnots","plaintextMetadata","print","printHighQuality","PickTrayByPDFSize","PlaintextMetadata","Presence","Present","behaviorOverride","copies","incrementalMerge","overprint","pagination","paginationOverride","driver","labelPrinter","pcl","webClient","zpl","Print","PrintHighQuality","PrintScaling","PrinterName","Producer","Ps","Range","Record","Relevant","Rename","RenderPolicy","RunScripts","currentPage","exclude","runScripts","ScriptModel","Severity","SilentPrint","addSilentPrint","printerName","Staple","StartNode","StartPage","SubmitFormat","SubmitUrl","SubsetBelow","SuppressBanner","Tagged","startPage","Threshold","To","TemplateCache","maxEntries","Trace","groupParent","ifEmpty","nameAttr","rename","whitespace","Uri","ValidateApprovalSignatures","ValidationMessaging","Version","VersionControl","outputBelow","sourceAbove","sourceBelow","ViewerPreferences","addViewerPreferences","duplexOption","enforce","numberOfCopies","pageRange","pickTrayByPDFSize","printScaling","WebClient","Whitespace","Window","pair","Xdc","Xdp","packets","Xsl","debug","Zpl","CONNECTION_SET_NS_ID","ConnectionSet","wsdlConnection","xmlConnection","xsdConnection","EffectiveInputPolicy","EffectiveOutputPolicy","Operation","RootElement","SoapAction","SoapAddress","WsdlAddress","WsdlConnection","dataDescription","effectiveInputPolicy","effectiveOutputPolicy","soapAction","soapAddress","wsdlAddress","XmlConnection","XsdConnection","rootElement","DATASETS_NS_ID","Datasets","LOCALE_SET_NS_ID","CalendarSymbols","dayNames","eraNames","meridiemNames","monthNames","CurrencySymbol","CurrencySymbols","currencySymbol","DatePattern","DatePatterns","datePattern","DateTimeSymbols","Day","DayNames","abbr","day","Era","EraNames","era","calendarSymbols","currencySymbols","datePatterns","dateTimeSymbols","numberPatterns","numberSymbols","timePatterns","typeFaces","Meridiem","MeridiemNames","meridiem","Month","MonthNames","month","NumberPattern","NumberPatterns","numberPattern","NumberSymbol","NumberSymbols","numberSymbol","TimePattern","TimePatterns","timePattern","TypeFace","TypeFaces","typeFace","SIGNATURE_NS_ID","STYLESHEET_NS_ID","Stylesheet","XDP_NS_ID","uuid","XHTML_NS_ID","$richText","VALID_STYLES","StyleMapping","original","spacesRegExp","crlfRegExp","crlfForRichTextRegExp","mapStyle","styleStr","newValue","SUB_SUPER_SCRIPT_FACTOR","VERTICAL_FACTOR","NoWhites","XhtmlObject","_ref88","mustPop","pushFont","Body","Br","Html","_child$attributes","Li","Ol","Span","Sub","Sup","Ul","namespaceId","decodeString","DatasetXMLParser","_xrefStms","_cacheMap","_pendingRefs","_newPersistentRefNum","_newTemporaryRefNum","startXRefQueue","trailerDict","indexObjects","readXRef","processXRefTable","tableState","entryNum","streamPos","parserBuf1","parserBuf2","readXRefTable","firstEntryNum","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","typeByte","offsetByte","generationByte","readToken","skipUntil","skipped","gEndobjRegExp","gStartxrefRegExp","objRegExp","trailerBytes","startxrefBytes","xrefBytes","bufferStr","trailers","xrefStms","updateEntries","xrefTagOffset","xrefStm","trailerDicts","trailerError","isEncrypted","_generationFallback","validPagesDict","pagesDict","pagesCount","startXRefParsedCache","getEntry","xrefEntry","fetchUncompressed","fetchCompressed","tableOffset","CallbackKind","StreamKind","wrapReason","streamId","sourceName","targetName","comObj","actionHandler","isCancelled","lastDesiredSize","sinkCapability","streamSinks","onPull","onCancel","streamController","streamControllers","startCall","pullCall","_streamSink$onPull","controller","cancelCall","_streamSink$onCancel","allSettled","_streamController$sta","_streamController$pul","_streamController$can","callbackId","callbackCapabilities","_onComObjOnMessage","cbSourceName","cbTargetName","addEventListener","ah","sendWithStream","queueingStrategy","ReadableStream","startCapability","pull","pullCapability","cancel","cancelCapability","removeEventListener","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","_isRangeSupported","_isStreamingSupported","readableStream","_reader","getReader","_headersReady","__webpack_module_cache__","moduleId","cachedModule","module","__webpack_exports__","_worker","pdfjsWorker","define"],"mappings":"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AAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,YAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,IAdzB,GAcwC,CAAC,IAdzC,GAcwD,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53CC,YAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,YAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IA2ezhB/+E,QAAQk+E,sBAzeNh9E,YAAYiE,oCAuBN65E,MAvBcptE,+DAAU,OACvBzM,QAAiC,mBAAhBA,OAAOq4D,WACrB,IAAI17D,MAAM,0DAEbqD,OAASA,YACT63E,KAAM,OACNznE,SAAW3D,QAAQyL,GAAK,OACxB4hE,OAASrtE,QAAQusE,YAAa,OAC9Be,UAAYttE,QAAQwsE,mBAAoB,OACxCe,QAAUvtE,QAAQysE,SAAW,UAC7Be,KAAOxtE,QAAQ0sE,MAAQ,OACvBe,oCAAUztE,QAAQ2sE,oEAClBe,MAAQ1tE,QAAQ4sE,WAAY,OAC5Be,WAAa,IAAI76D,YAAYljB,KAAK29E,QAAU,QAC5CK,QAAU,IAAI96D,YAAYljB,KAAK29E,QAAU,QACzCI,WAAW,GAAK/9E,KAAK29E,aACrBM,UAAY,OACZC,IAAM,OACNC,WAAan+E,KAAK+T,SAAW,OAC7BqqE,UAAY,OACZC,SAAW,OACXC,WAAa,OACbC,UAAW,EAEwB,KAAhCf,MAAQx9E,KAAKw+E,UAAU,WACxBC,SAAS,GAEF,IAAVjB,YACGiB,SAAS,IAEZz+E,KAAK+T,SAAW,SACboqE,YAAcn+E,KAAKw+E,UAAU,QAC7BC,SAAS,IAGlBxB,kBACMj9E,KAAKw7E,WACC,QAEJwC,QAAUh+E,KAAKg+E,QACfD,WAAa/9E,KAAK+9E,WAClBJ,QAAU39E,KAAK29E,YACjBe,OAAQC,YAAav3B,KAAMv9C,EA+O3Bqb,KA9OoB,IAApBllB,KAAKs+E,WAAkB,IACrBt+E,KAAKu+E,gBACF/C,KAAM,GAETx7E,KAAKw7E,WACC,MAGNgC,MAAOoB,MAAOC,cADb3nD,KAAM,EAEPl3B,KAAKm+E,WAAY,KACdt0E,EAAI,EAAGk0E,WAAWl0E,GAAK8zE,UAAW9zE,EACrCm0E,QAAQn0E,GAAKk0E,WAAWl0E,OAE1Bm0E,QAAQn0E,KAAO8zE,QACfK,QAAQn0E,GAAK8zE,QACbI,WAAW,GAAK,OACXE,UAAY,EACjBS,OAAS,EACTC,YAAc,EACPZ,WAAW/9E,KAAKi+E,WAAaN,gBAClCH,MAAQx9E,KAAK8+E,iBACLtB,YAhFC,OAkFAuB,WAAWf,QAAQU,OAAS,GAAIC,aACjCX,QAAQU,OAAS,GAAKf,UACxBe,QAAU,cAnFN,KAuFNlB,MAAQoB,MAAQ,EACZD,YAAa,IAEbnB,OAASqB,MAAQ7+E,KAAKg/E,sBACfH,OAAS,OAEhBD,OAASC,MAAQ7+E,KAAKi/E,sBACfJ,OAAS,QACb,IAEHrB,OAASqB,MAAQ7+E,KAAKi/E,sBACfJ,OAAS,OAEhBD,OAASC,MAAQ7+E,KAAKg/E,sBACfH,OAAS,aAEfE,WAAWhB,WAAW/9E,KAAKi+E,WAAaT,MAAOmB,aAChDZ,WAAW/9E,KAAKi+E,WAAaN,cAC1BoB,WAAWhB,WAAW/9E,KAAKi+E,WAAaW,MAAqB,EAAdD,aAE/CX,QAAQU,SAAWX,WAAW/9E,KAAKi+E,YAAcD,QAAQU,QAAUf,SACxEe,QAAU,aAtGL,UA0GFK,WAAWf,QAAQU,QAAU,EAAGC,aACrCA,aAAe,EACXZ,WAAW/9E,KAAKi+E,WAAaN,cAC7Be,OACKV,QAAQU,SAAWX,WAAW/9E,KAAKi+E,YAAcD,QAAQU,QAAUf,SACxEe,QAAU,aAjHP,UAsHFK,WAAWf,QAAQU,QAAU,EAAGC,aACrCA,aAAe,EACXZ,WAAW/9E,KAAKi+E,WAAaN,cAC7Be,OACKV,QAAQU,SAAWX,WAAW/9E,KAAKi+E,YAAcD,QAAQU,QAAUf,SACxEe,QAAU,aA7HP,UAkIFK,WAAWf,QAAQU,QAAU,EAAGC,aACrCA,aAAe,EACXZ,WAAW/9E,KAAKi+E,WAAaN,cAC7Be,OACKV,QAAQU,SAAWX,WAAW/9E,KAAKi+E,YAAcD,QAAQU,QAAUf,SACxEe,QAAU,aAxIR,UA6IDK,WAAWf,QAAQU,QAASC,aACjCA,aAAe,EACXZ,WAAW/9E,KAAKi+E,WAAaN,cAC7Be,OACKV,QAAQU,SAAWX,WAAW/9E,KAAKi+E,YAAcD,QAAQU,QAAUf,SACxEe,QAAU,aA5IP,UAiJFQ,cAAclB,QAAQU,QAAU,EAAGC,aACxCA,aAAe,EACXZ,WAAW/9E,KAAKi+E,WAAaN,YAC3Be,OAAS,IACTA,SAEAA,OAEGV,QAAQU,SAAWX,WAAW/9E,KAAKi+E,YAAcD,QAAQU,QAAUf,SACxEe,QAAU,aA5JP,UAiKFQ,cAAclB,QAAQU,QAAU,EAAGC,aACxCA,aAAe,EACXZ,WAAW/9E,KAAKi+E,WAAaN,YAC3Be,OAAS,IACTA,SAEAA,OAEGV,QAAQU,SAAWX,WAAW/9E,KAAKi+E,YAAcD,QAAQU,QAAUf,SACxEe,QAAU,aA5KP,UAiLFQ,cAAclB,QAAQU,QAAU,EAAGC,aACxCA,aAAe,EACXZ,WAAW/9E,KAAKi+E,WAAaN,YAC3Be,OAAS,IACTA,SAEAA,OAEGV,QAAQU,SAAWX,WAAW/9E,KAAKi+E,YAAcD,QAAQU,QAAUf,SACxEe,QAAU,aA/LX,OAoMEK,WAAWpB,QAAS,QACpBnC,KAAM,mBAGPx8E,MAAM2L,MAAM,oBACXo0E,WAAWpB,QAAS,QACpBzmD,KAAM,YAIjB6mD,WAAW,GAAK,OACXE,UAAY,EACjBU,YAAc,EACPZ,WAAW/9E,KAAKi+E,WAAaN,SAAS,IAC3CH,MAAQ,EACJmB,eAEAnB,OAASqB,MAAQ7+E,KAAKg/E,sBACfH,OAAS,YAGhBrB,OAASqB,MAAQ7+E,KAAKi/E,sBACfJ,OAAS,SAEfE,WAAWhB,WAAW/9E,KAAKi+E,WAAaT,MAAOmB,aACpDA,aAAe,MAGfQ,QAAS,KACTn/E,KAAK09E,iBACFU,YAAa,GAEfp+E,KAAK69E,SAAW79E,KAAKk+E,MAAQl+E,KAAK49E,KAAO,EAEvC,IACLJ,MAAQx9E,KAAKw+E,UAAU,IACnBx+E,KAAKy9E,aAxOA,IAyOAD,OAAgC,IAAVA,YACtBiB,SAAS,GACdjB,MAAQx9E,KAAKw+E,UAAU,cAGR,IAAVhB,YACAiB,SAAS,GACdjB,MAAQx9E,KAAKw+E,UAAU,IAGb,IAAVhB,YACGiB,SAAS,IACdU,QAAS,IArPF,IAsPE3B,aACJhC,KAAM,aAlBR+C,UAAW,MAqBbv+E,KAAKw7E,KAAOx7E,KAAK+T,SAAW,IAAM/T,KAAKu+E,gBACrCJ,YAAcn+E,KAAKw+E,UAAU,QAC7BC,SAAS,IAEZz+E,KAAK69E,SAAWsB,QAAUn/E,KAAK09E,cACjCF,MAAQx9E,KAAKw+E,UAAU,IACT,IAAVhB,MAAa,SACViB,SAAS,IACVz+E,KAAK+T,SAAW,SACbyqE,UAAU,QACVC,SAAS,IAEZz+E,KAAK+T,UAAY,MACdlK,EAAI,EAAGA,EAAI,IAAKA,EACnB2zE,MAAQx9E,KAAKw+E,UAAU,IACT,IAAVhB,UACEx+E,MAAM2L,MAAM,iBAAmB6yE,YAEhCiB,SAAS,IACVz+E,KAAK+T,SAAW,SACbyqE,UAAU,QACVC,SAAS,SAIfjD,KAAM,QAER,GAAIx7E,KAAKk3B,KAAOl3B,KAAKy9E,OAAQ,QACrB,IACXD,MAAQx9E,KAAKw+E,UAAU,KAvRhB,IAwRHhB,kBACGhC,KAAM,GACH,KAENgC,OAAS,GAAM,aAGdiB,SAAS,QAEXA,SAAS,IACVz+E,KAAK+T,SAAW,SACb0qE,SAAS,QACTN,aAAuB,EAARX,aAGnBc,WAAaP,WAAW,GAAK,EAAIA,WAAW/9E,KAAKi+E,UAAY,GAAKF,WAAW/9E,KAAKi+E,UAAY,QAC9FC,SAGHl+E,KAAKs+E,YAAc,EACrBp5D,EAAqB,EAAjBllB,KAAKi+E,UAAgB,EAAI,SACxBK,YAAc,EACK,IAApBt+E,KAAKs+E,YAAoBP,WAAW/9E,KAAKi+E,WAAaN,eACnDM,iBACAK,WAAaP,WAAW/9E,KAAKi+E,WAAaF,WAAW/9E,KAAKi+E,UAAY,QAExE,CACL72B,KAAO,EACPliC,EAAI,IACD,IAC8B,iBAApBllB,KAAKs+E,iBACR,IAAIt/E,MAAM0P,YAAY,gEAE1B1O,KAAKs+E,WAAal3B,MACpBliC,IAAMkiC,KACiB,EAAjBpnD,KAAKi+E,YACT/4D,GAAK,KAAQ,EAAIkiC,WAEdk3B,YAAcl3B,KACnBA,KAAO,IAEPliC,IAAMllB,KAAKs+E,WACY,EAAjBt+E,KAAKi+E,YACT/4D,GAAK,KAAQ,EAAIllB,KAAKs+E,YAExBl3B,MAAQpnD,KAAKs+E,gBACRA,WAAa,EACdP,WAAW/9E,KAAKi+E,WAAaN,cAC1BM,iBACAK,WAAaP,WAAW/9E,KAAKi+E,WAAaF,WAAW/9E,KAAKi+E,UAAY,IAClE72B,KAAO,IAChBliC,IAAMkiC,KACNA,KAAO,UAGJA,aAEPpnD,KAAK89E,QACP54D,GAAK,KAEAA,EAET65D,WAAWK,GAAIT,mBACPZ,WAAa/9E,KAAK+9E,eACpBE,UAAYj+E,KAAKi+E,UACjBmB,GAAKrB,WAAWE,aACdmB,GAAKp/E,KAAK29E,aACR3+E,MAAM2L,MAAM,4BACXusB,KAAM,EACXkoD,GAAKp/E,KAAK29E,SAEI,EAAZM,UAAgBU,eAChBV,UAEJF,WAAWE,WAAamB,SAErBnB,UAAYA,UAEnBiB,cAAcE,GAAIT,mBACVZ,WAAa/9E,KAAK+9E,eACpBE,UAAYj+E,KAAKi+E,aACjBmB,GAAKrB,WAAWE,WACdmB,GAAKp/E,KAAK29E,aACR3+E,MAAM2L,MAAM,4BACXusB,KAAM,EACXkoD,GAAKp/E,KAAK29E,SAEI,EAAZM,UAAgBU,eAChBV,UAEJF,WAAWE,WAAamB,QACnB,GAAIA,GAAKrB,WAAWE,WAAY,KACjCmB,GAAK,OACHpgF,MAAM2L,MAAM,qBACXusB,KAAM,EACXkoD,GAAK,GAEAnB,UAAY,GAAKmB,GAAKrB,WAAWE,UAAY,MAChDA,UAEJF,WAAWE,WAAamB,QAErBnB,UAAYA,UAEnBoB,eAAel0E,MAAO8hB,IAAKqyD,MAAOjgD,aAC1BkgD,WAAalgD,OAAS,MACvB,IAAIx1B,EAAIsB,MAAOtB,GAAKojB,MAAOpjB,EAAG,KAC7B+C,KAAO5M,KAAKw+E,UAAU30E,OAnYf,IAoYP+C,WACK,EAAC,EAAM,GAAG,MAEf/C,EAAIojB,MACNrgB,OAASqgB,IAAMpjB,IAEZ01E,YAAc3yE,MAAQ2yE,WAAY,OAC/B96D,EAAI66D,MAAM1yE,KAAO2yE,eACnB96D,EAAE,KAAO5a,cACN40E,SAAS50E,GACP,EAAC,EAAM4a,EAAE,IAAI,UAInB,EAAC,EAAO,GAAG,GAEpBq6D,qBAEMr6D,EADA7X,KAAO,KAEP5M,KAAK69E,QAAS,WAChBjxE,KAAO5M,KAAKw+E,UAAU,GACtB/5D,EAAIy4D,YAAYtwE,kBACZ6X,0BAAI,IAAK,cACNg6D,SAASh6D,EAAE,IACTA,EAAE,OAEN,OACC2/B,OAASpkD,KAAKq/E,eAAe,EAAG,EAAGnC,gBACrC94B,OAAO,IAAMA,OAAO,UACfA,OAAO,YAGdplD,MAAM2L,MAAM,qBApaH,EAuafs0E,oBAEMx6D,EADA7X,KAAO,KAEP5M,KAAK69E,QAAS,IAChBjxE,KAAO5M,KAAKw+E,UAAU,KA3aX,IA4aP5xE,YACK,KAET6X,EAAI7X,MAAQ,GAAM,EAAIuwE,YAAYvwE,MAAQwwE,YAAYxwE,MAAQ,GAC1D6X,EAAE,GAAK,cACJg6D,SAASh6D,EAAE,IACTA,EAAE,OAEN,KACD2/B,OAASpkD,KAAKq/E,eAAe,EAAG,EAAGjC,gBACnCh5B,OAAO,UACFA,OAAO,MAEhBA,OAASpkD,KAAKq/E,eAAe,GAAI,GAAIlC,aACjC/4B,OAAO,UACFA,OAAO,YAGdplD,MAAM2L,MAAM,uBACX8zE,SAAS,GACP,EAETO,oBACMpyE,KAAM6X,KACNzkB,KAAK69E,QAAS,IAChBjxE,KAAO5M,KAAKw+E,UAAU,KArcX,IAscP5xE,YACK,KAGP6X,EADE7X,MAAQ,GAAM,EACZywE,YAAYzwE,MACPA,MAAQ,GAAM,GAAKA,MAAQ,GAAM,EACtC0wE,aAAa1wE,MAAQ,GAAK,IAE1B2wE,YAAY3wE,MAAQ,GAEtB6X,EAAE,GAAK,cACJg6D,SAASh6D,EAAE,IACTA,EAAE,OAEN,KACD2/B,OAASpkD,KAAKq/E,eAAe,EAAG,EAAG9B,gBACnCn5B,OAAO,UACFA,OAAO,MAEhBA,OAASpkD,KAAKq/E,eAAe,EAAG,GAAI/B,YAAa,IAC7Cl5B,OAAO,UACFA,OAAO,MAEhBA,OAASpkD,KAAKq/E,eAAe,GAAI,GAAIhC,aACjCj5B,OAAO,UACFA,OAAO,YAGdplD,MAAM2L,MAAM,uBACX8zE,SAAS,GACP,EAETD,UAAUv6D,OACJiB,OACGllB,KAAKo+E,UAAYn6D,GAAG,KACS,KAA7BiB,EAAIllB,KAAK2D,OAAOq4D,eACI,IAAnBh8D,KAAKo+E,WA1eA,EA6eFp+E,KAAKq+E,UAAYp6D,EAAIjkB,KAAKo+E,UAAY,OAAU,GAAKn6D,OAEzDo6D,SAAWr+E,KAAKq+E,UAAY,EAAIn5D,OAChCk5D,WAAa,SAEbp+E,KAAKq+E,UAAYr+E,KAAKo+E,UAAYn6D,EAAI,OAAU,GAAKA,EAE9Dw6D,SAASx6D,IACFjkB,KAAKo+E,WAAan6D,GAAK,SACrBm6D,UAAY,MAQhB,CAAC7/E,wBAAyBC,QAASC,uBAI1CC,OAAOC,eAAeH,QAAS,aAAe,CAC5CI,OAAO,IAETJ,QAAQk6E,iBAAc,MAClB3gD,eAAiBt5B,oBAAoB,IACrCO,MAAQP,oBAAoB,SAC1B+gF,eAAiB,IAAIC,WAAW,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAC/FC,aAAe,IAAID,WAAW,CAAC,EAAS,EAAS,EAAS,EAAS,EAAS,EAAS,EAAS,GAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,IAAS,IAAS,MAC7SE,WAAa,IAAIF,WAAW,CAAC,EAAS,EAAS,EAAS,EAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,SAClSG,gBAAkB,CAAC,IAAIH,WAAW,CAAC,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS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ACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAA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Q,MAAS,CAAC,KAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,MAAQ,MAAQ,OAAS,CAAC,MAAQ,MAAQ,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAS,OAAU,CAAC,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,QAAU,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,OAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAS,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,OAAS,OAAS,OAAS,OAAS,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,QAAS,SAAU,CAAC,MAAQ,MAAQ,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAS,MAAS,MAAS,MAAS,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,OAAS,QAAU,CAAC,MAAS,MAAS,MAAS,OAAU,CAAC,OAAS,QAAU,CAAC,KAA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AAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,M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OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,MAAQ,QAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,EAAG,EAAG,MAAQ,MAAQ,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,EAAG,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,EAAG,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,QAAS,QAAS,OAAS,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,EAAG,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,MAAQ,OAAS,GAAK,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMhuJ9tR,QAAQ+tR,mBAJmB,CACzBr0O,WAAY,OACZmxE,QAAS,OAIX7qH,QAAQkuR,yBADyB,CAAC,OAAQ,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,EAAG,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,MAAQ,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,QAAS,QAAS,OAAS,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAQ,QAAS,OAAS,QAAS,EAAG,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,MAAQ,OAAS,GAAK,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAM9wJluR,QAAQmuR,yBAJyB,CAC/Bz0O,WAAY,OACZmxE,QAAS,OAIX7qH,QAAQguR,qBADqB,CAAC,OAAQ,EAAG,EAAG,EAAG,QAAS,OAAQ,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,MAAQ,MAAQ,MAAQ,OAAS,MAAQ,OAAS,QAAS,MAAQ,MAAQ,QAAS,QAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,MAAQ,MAAQ,QAAS,OAAS,QAAS,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAS,EAAG,QAAS,EAAG,OAAS,KAAO,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,MAAQ,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,EAAG,EAAG,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,QAAS,EAAG,EAAG,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,MAAQ,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,EAAG,EAAG,OAAS,MAAQ,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,EAAG,OAAQ,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,MAAQ,OAAS,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,KAAO,OAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,MAAQ,OAAS,OAAS,MAAQ,KAAO,QAAS,OAAS,OAAS,OAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,QAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,EAAG,EAAG,OAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,OAAQ,OAAQ,QAAS,OAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,QAAS,OAAS,OAAS,OAAS,KAAO,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,EAAG,OAAS,MAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,MAAQ,OAAS,GAAK,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,OAAQ,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAM/rJhuR,QAAQiuR,qBAJqB,CAC3Bv0O,WAAY,OACZmxE,QAAS,OAIX7qH,QAAQ4tR,sBADsB,CAAC,OAAQ,EAAG,EAAG,EAAG,QAAS,OAAQ,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,MAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAS,EAAG,QAAS,EAAG,OAAS,KAAO,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,QAAS,EAAG,EAAG,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,MAAQ,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,MAAQ,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,EAAG,OAAQ,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,MAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,EAAG,EAAG,OAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,OAAQ,OAAQ,QAAS,OAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,QAAS,OAAS,OAAS,OAAS,KAAO,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,EAAG,OAAS,MAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,MAAQ,OAAS,GAAK,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,OAAQ,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,QAAS,EAAG,EAAG,EAAG,QAAS,OAAS,OAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMzvJ5tR,QAAQ6tR,sBAJsB,CAC5Bn0O,WAAY,OACZmxE,QAAS,QAMJ,CAAC9qH,wBAAyBC,WAIjCE,OAAOC,eAAeH,QAAS,aAAe,CAC5CI,OAAO,IAETJ,QAAQ6uR,wBAA0B7uR,QAAQ4uR,wBAA0B5uR,QAAQivR,uBAAyBjvR,QAAQgvR,uBAAyBhvR,QAAQ+uR,qBAAuB/uR,QAAQmvR,2BAA6BnvR,QAAQkvR,2BAA6BlvR,QAAQ8uR,0BAAuB,EAE9Q9uR,QAAQ8uR,qBADqB,CAAC,OAAS,EAAG,EAAG,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAQ,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAQ,OAAQ,OAAS,OAAQ,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,EAAG,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,EAAG,EAAG,OAAS,EAAG,OAAS,OAAQ,OAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,QAAS,OAAQ,QAAS,OAAQ,QAAS,QAAS,QAAS,OAAS,QAAS,OAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,MAAQ,MAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,MAAQ,QAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,EAAG,QAAS,EAAG,QAAS,EAAG,OAAQ,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAQ,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,MAAQ,EAAG,OAAQ,QAAS,QAAS,OAAS,QAAS,OAAQ,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAQ,QAAS,OAAS,OAAS,OAAS,MAAQ,QAAS,QAAS,QAAS,EAAG,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAQ,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,MAAQ,QAAS,OAAQ,QAAS,OAAS,QAAS,QAAS,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,EAAG,QAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,MAAQ,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,EAAG,OAAS,QAAS,QAAS,MAAQ,OAAQ,OAAS,EAAG,QAAS,OAAS,EAAG,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAQ,OAAS,OAAQ,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,EAAG,EAAG,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,EAAG,EAAG,OAAS,EAAG,EAAG,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,IAAK,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,EAAG,OAAS,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,QAAS,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMrjL9uR,QAAQ+uR,qBAJqB,CAC3Br1O,WAAY,IACZmxE,QAAS,IAIX7qH,QAAQkvR,2BAD2B,CAAC,OAAS,EAAG,EAAG,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAQ,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAQ,OAAQ,OAAS,OAAQ,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,EAAG,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,EAAG,EAAG,OAAS,EAAG,OAAS,OAAQ,OAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,QAAS,OAAQ,QAAS,OAAQ,QAAS,QAAS,QAAS,OAAS,QAAS,OAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,MAAQ,MAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,MAAQ,QAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,EAAG,QAAS,EAAG,QAAS,EAAG,OAAQ,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,QAAS,OAAS,OAAS,OAAS,MAAQ,OAAQ,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAQ,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,EAAG,OAAQ,QAAS,OAAS,QAAS,QAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,EAAG,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAQ,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,EAAG,QAAS,EAAG,EAAG,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,MAAQ,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,EAAG,EAAG,OAAS,EAAG,EAAG,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,IAAK,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,EAAG,OAAS,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,QAAS,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAM9jLlvR,QAAQmvR,2BAJ2B,CACjCz1O,WAAY,KACZmxE,QAAS,IAIX7qH,QAAQgvR,uBADuB,CAAC,OAAS,EAAG,EAAG,OAAQ,OAAQ,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,EAAG,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAQ,EAAG,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAQ,OAAS,EAAG,OAAS,EAAG,EAAG,EAAG,QAAS,OAAQ,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,EAAG,EAAG,OAAS,EAAG,MAAQ,OAAQ,OAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,EAAG,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,EAAG,OAAS,EAAG,OAAS,EAAG,OAAS,EAAG,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAQ,OAAQ,OAAS,QAAS,EAAG,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,QAAS,EAAG,QAAS,EAAG,QAAS,EAAG,QAAS,OAAQ,QAAS,OAAS,QAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,EAAG,QAAS,QAAS,EAAG,QAAS,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,EAAG,QAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAQ,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,EAAG,OAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,EAAG,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,EAAG,OAAQ,OAAS,QAAS,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,OAAQ,OAAQ,EAAG,QAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,MAAQ,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAQ,QAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,EAAG,OAAS,EAAG,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAQ,EAAG,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,EAAG,OAAS,EAAG,EAAG,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,QAAS,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,QAAS,QAAS,QAAS,MAAQ,QAAS,EAAG,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,IAAK,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,EAAG,OAAS,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,QAAS,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAM56KhvR,QAAQivR,uBAJuB,CAC7Bv1O,WAAY,KACZmxE,QAAS,IAIX7qH,QAAQ4uR,wBADwB,CAAC,OAAS,EAAG,EAAG,OAAQ,OAAQ,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,EAAG,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAQ,EAAG,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAQ,OAAS,EAAG,OAAS,EAAG,EAAG,EAAG,QAAS,OAAQ,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,EAAG,EAAG,OAAS,EAAG,MAAQ,OAAQ,OAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,EAAG,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,EAAG,OAAS,EAAG,OAAS,EAAG,OAAS,EAAG,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAQ,OAAQ,QAAS,QAAS,EAAG,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,QAAS,EAAG,QAAS,EAAG,QAAS,EAAG,QAAS,OAAQ,QAAS,OAAS,QAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,EAAG,QAAS,QAAS,EAAG,QAAS,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,EAAG,OAAS,QAAS,QAAS,QAAS,EAAG,QAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAQ,OAAS,QAAS,QAAS,OAAS,QAAS,OAAQ,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,EAAG,OAAQ,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,EAAG,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,EAAG,QAAS,OAAS,QAAS,QAAS,EAAG,MAAQ,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,EAAG,OAAS,OAAS,EAAG,QAAS,OAAS,MAAQ,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,MAAQ,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,EAAG,OAAS,EAAG,OAAQ,EAAG,QAAS,QAAS,OAAS,OAAQ,EAAG,QAAS,QAAS,MAAQ,EAAG,QAAS,OAAS,OAAS,OAAS,OAAQ,MAAQ,EAAG,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,EAAG,OAAS,EAAG,EAAG,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,QAAS,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,QAAS,QAAS,QAAS,MAAQ,QAAS,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,QAAS,IAAK,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,EAAG,OAAS,OAAS,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,QAAS,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMj3K5uR,QAAQ6uR,wBAJwB,CAC9Bn1O,WAAY,IACZmxE,QAAS,KAMJ,CAAC9qH,wBAAyBC,WAIjCE,OAAOC,eAAeH,QAAS,aAAe,CAC5CI,OAAO,IAETJ,QAAQ6sR,4BAA8B7sR,QAAQ8sR,6BAA+B9sR,QAAQqtR,2BAA6BrtR,QAAQstR,4BAA8BttR,QAAQitR,yBAA2BjtR,QAAQktR,0BAA4BltR,QAAQytR,+BAAiCztR,QAAQ0tR,qCAAkC,EAElT1tR,QAAQitR,yBADyB,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAM,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAG73GjtR,QAAQktR,0BAD0B,EAAE,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OAAQ,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAGphHltR,QAAQytR,+BAD+B,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGj4GztR,QAAQ0tR,gCADgC,EAAE,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OAAQ,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAG1hH1tR,QAAQqtR,2BAD2B,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAG53GrtR,QAAQstR,4BAD4B,EAAE,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OAAQ,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAGthHttR,QAAQ6sR,4BAD4B,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAM,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAG/3G7sR,QAAQ8sR,6BAD6B,EAAE,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OAAQ,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAKhhH,CAAC/sR,wBAAyBC,WAIjCE,OAAOC,eAAeH,QAAS,aAAe,CAC5CI,OAAO,IAETJ,QAAQ+sR,wBAA0B/sR,QAAQ4sR,wBAA0B5sR,QAAQutR,uBAAyBvtR,QAAQotR,uBAAyBptR,QAAQmtR,qBAAuBntR,QAAQ2tR,2BAA6B3tR,QAAQwtR,2BAA6BxtR,QAAQgtR,0BAAuB,EAE9QhtR,QAAQgtR,qBADqB,CAAC,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAO,MAAQ,OAAS,OAAS,OAAQ,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,KAAO,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAQ,MAAQ,QAAS,OAAS,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,EAAG,OAAS,OAAS,OAAS,EAAG,QAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,QAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAQ,OAAS,OAAQ,OAAS,OAAQ,OAAS,OAAQ,OAAS,KAAO,QAAS,OAAS,OAAQ,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,MAAO,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,KAAO,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,EAAG,EAAG,MAAQ,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,KAAO,MAAQ,KAAO,MAAQ,KAAO,EAAG,OAAS,OAAS,OAAS,KAAO,MAAQ,OAAS,MAAQ,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,MAAQ,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAQ,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,MAAQ,OAAS,OAAS,QAAS,MAAQ,OAAS,MAAQ,EAAG,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,MAAQ,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,KAAO,KAAO,KAAO,OAAS,OAAS,OAAS,EAAG,MAAO,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,IAAM,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,OAAQ,QAAS,EAAG,EAAG,QAAS,QAAS,QAAS,EAAG,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMh7IhtR,QAAQmtR,qBAJqB,CAC3BzzO,WAAY,IACZmxE,QAAS,IAIX7qH,QAAQwtR,2BAD2B,CAAC,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,GAAK,OAAS,MAAQ,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,KAAO,OAAS,KAAO,EAAG,EAAG,OAAS,KAAO,EAAG,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,GAAK,OAAS,GAAK,OAAS,GAAK,EAAG,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,KAAO,KAAO,KAAO,MAAQ,MAAQ,OAAS,EAAG,KAAM,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,KAAO,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,EAAG,EAAG,QAAS,QAAS,QAAS,EAAG,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAM39IxtR,QAAQ2tR,2BAJ2B,CACjCj0O,WAAY,IACZmxE,QAAS,IAIX7qH,QAAQotR,uBADuB,CAAC,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAQ,QAAS,OAAQ,QAAS,OAAS,QAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAQ,OAAS,OAAS,QAAS,QAAS,KAAO,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,QAAS,OAAS,IAAM,KAAO,KAAO,KAAO,IAAM,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,EAAG,MAAQ,OAAS,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,KAAO,OAAS,KAAO,OAAS,KAAO,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,KAAO,QAAS,EAAG,EAAG,KAAO,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,KAAO,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,KAAO,OAAS,KAAO,EAAG,EAAG,OAAS,KAAO,EAAG,EAAG,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,KAAO,OAAS,MAAQ,IAAM,MAAQ,IAAM,MAAQ,IAAM,EAAG,OAAS,OAAS,OAAS,KAAO,MAAQ,OAAS,MAAQ,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,KAAO,OAAS,OAAS,IAAM,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,KAAO,OAAS,KAAO,OAAS,KAAO,OAAS,KAAO,MAAQ,EAAG,OAAS,EAAG,EAAG,EAAG,OAAS,OAAS,OAAS,EAAG,MAAO,MAAO,MAAO,OAAS,OAAS,OAAS,EAAG,MAAO,EAAG,EAAG,OAAS,OAAS,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,KAAO,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,QAAS,QAAS,QAAS,EAAG,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMt5IptR,QAAQutR,uBAJuB,CAC7B7zO,WAAY,IACZmxE,QAAS,IAIX7qH,QAAQ4sR,wBADwB,CAAC,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,QAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,IAAM,MAAQ,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAQ,QAAS,OAAQ,QAAS,OAAS,OAAS,OAAS,OAAQ,KAAO,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,KAAO,QAAS,QAAS,OAAS,OAAS,OAAQ,QAAS,OAAS,KAAO,QAAS,OAAS,KAAO,QAAS,KAAO,KAAO,KAAO,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,EAAG,OAAS,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,QAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAQ,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAO,OAAS,KAAO,OAAS,KAAO,OAAS,KAAO,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,IAAM,QAAS,EAAG,EAAG,KAAO,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,KAAO,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,KAAO,OAAS,KAAO,EAAG,EAAG,OAAS,KAAO,EAAG,EAAG,OAAS,KAAO,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,KAAO,MAAQ,OAAS,KAAO,OAAS,KAAO,OAAS,KAAO,EAAG,OAAS,OAAS,OAAS,KAAO,OAAS,MAAQ,OAAS,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,KAAO,KAAO,OAAS,KAAO,OAAS,OAAS,OAAS,OAAS,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,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QAAS,OAAS,QAAS,QAAS,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,OAAS,QAAS,MAAQ,QAAS,EAAG,EAAG,QAAS,OAAS,QAAS,EAAG,EAAG,OAAS,MAAQ,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,EAAG,EAAG,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAQ,OAAS,OAAQ,OAAS,OAAQ,OAAS,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAQ,OAAS,OAAQ,QAAS,QAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAQ,OAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,OAAS,OAAQ,OAAQ,QAAS,QAAS,QAAS,OAAS,OAAQ,OAAS,QAAS,OAAQ,OAAS,OAAS,OAAS,MAAQ,QAAS,QAAS,QAAS,OAAS,OAAQ,OAAS,QAAS,QAAS,OAAQ,QAAS,OAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,EAAG,QAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,MAAO,QAAS,QAAS,QAAS,OAAS,QAAS,EAAG,QAAS,OAAS,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,KAAO,EAAG,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,OAAQ,QAAS,QAAS,OAAS,MAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,EAAG,QAAS,QAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,OAAQ,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMlsJtuR,QAAQuuR,mBAJmB,CACzB70O,WAAY,QACZmxE,QAAS,GAIX7qH,QAAQ0uR,yBADyB,CAAC,QAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,MAAO,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,MAAQ,QAAS,MAAQ,QAAS,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,QAAS,MAAQ,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAQ,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,MAAO,MAAO,EAAG,MAAO,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,EAAG,OAAS,MAAQ,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,QAAS,OAAS,QAAS,OAAS,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,QAAS,OAAS,QAAS,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,EAAG,EAAG,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,EAAG,EAAG,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAO,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAQ,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,QAAS,OAAS,OAAQ,OAAS,QAAS,MAAQ,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,MAAO,MAAQ,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,EAAG,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,EAAG,QAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,MAAO,QAAS,QAAS,QAAS,OAAS,QAAS,EAAG,QAAS,OAAS,QAAS,QAAS,MAAO,EAAG,EAAG,EAAG,KAAO,EAAG,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,MAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,EAAG,QAAS,QAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,OAAQ,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMluJ1uR,QAAQ2uR,yBAJyB,CAC/Bj1O,WAAY,QACZmxE,QAAS,GAIX7qH,QAAQwuR,qBADqB,CAAC,QAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAQ,QAAS,OAAQ,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,QAAS,QAAS,OAAQ,MAAQ,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,MAAQ,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,MAAQ,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,EAAG,EAAG,QAAS,QAAS,MAAQ,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,IAAK,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,OAAS,OAAQ,KAAM,QAAS,IAAK,OAAQ,OAAQ,OAAS,QAAS,QAAS,KAAM,OAAS,QAAS,QAAS,IAAK,QAAS,OAAQ,QAAS,OAAQ,QAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,QAAS,OAAQ,QAAS,OAAS,OAAQ,OAAQ,IAAK,OAAQ,OAAS,OAAQ,OAAQ,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,OAAS,EAAG,QAAS,OAAS,EAAG,EAAG,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,EAAG,QAAS,OAAS,OAAS,QAAS,OAAS,EAAG,EAAG,EAAG,OAAS,EAAG,EAAG,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,EAAG,EAAG,MAAO,EAAG,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,OAAS,OAAS,EAAG,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,EAAG,QAAS,QAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,OAAQ,QAAS,QAAS,QAAS,EAAG,EAAG,EAAG,QAAS,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAMpvJxuR,QAAQyuR,qBAJqB,CAC3B/0O,WAAY,QACZmxE,QAAS,GAIX7qH,QAAQouR,sBADsB,CAAC,QAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,OAAQ,OAAS,OAAS,QAAS,OAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAQ,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,QAAS,OAAQ,QAAS,QAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,MAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,MAAO,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,QAAS,QAAS,OAAS,OAAQ,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,OAAS,EAAG,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAQ,OAAS,QAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,MAAQ,QAAS,MAAQ,QAAS,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,QAAS,OAAS,MAAQ,OAAS,QAAS,OAAS,QAAS,EAAG,EAAG,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,OAAQ,OAAS,OAAS,OAAS,QAAS,QAAS,QAAS,EAAG,EAAG,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,OAAS,OAAS,QAAS,EAAG,EAAG,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,OAAS,MAAQ,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,OAAS,QAAS,IAAK,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,OAAS,OAAS,QAAS,QAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAQ,OAAS,OAAS,MAAQ,OAAQ,OAAS,MAAQ,OAAQ,OAAS,QAAS,IAAK,QAAS,OAAQ,OAAS,QAAS,QAAS,OAAS,QAAS,QAAS,QAAS,IAAK,QAAS,OAAS,QAAS,QAAS,OAAS,QAAS,MAAQ,QAAS,OAAS,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,IAAK,QAAS,QAAS,QAAS,QAAS,OAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,MAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAS,QAAS,OAAS,QAAS,OAAS,QAAS,MAAQ,OAAS,EAAG,QAAS,OAAS,EAAG,EAAG,OAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAS,OAAS,QAAS,OAAS,QAAS,QAAS,QAAS,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M,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC14CC,YAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,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OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,WAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,WAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,WAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,WAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,WAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,UAAY,WAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,WAAa,IAAIA,OAAO,WAAY,WAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,WAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,WAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,YAAa,IAAIA,OAAO,UAAY,WAAa,IAAIA,OAAO,UAAY,WAAa,IAAIA,OAA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M,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,UAC/gDs2S,OAAS,IAAIt2S,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,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"} \ No newline at end of file diff --git a/amd/build/pdf_backup.min.js b/amd/build/pdf_backup.min.js deleted file mode 100644 index cdd2d845..00000000 --- a/amd/build/pdf_backup.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * @package mod_datalynx - * @copyright Wunderbyte GmbH - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -define("mod_datalynx/pdf_backup",["pdfjs-dist/build/pdf","pdfjs-dist/build/pdf.worker"],(function(pdfjsLib,pdfjsWorker){return{pdf:pdfjsLib,pdfworker:pdfjsWorker}})); - -//# sourceMappingURL=pdf_backup.min.js.map \ No newline at end of file diff --git a/amd/build/pdf_backup.min.js.map b/amd/build/pdf_backup.min.js.map deleted file mode 100644 index 765e2660..00000000 --- a/amd/build/pdf_backup.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"pdf_backup.min.js","sources":["../src/pdf_backup.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see .\n\n/*\n * @package mod_datalynx\n * @copyright Wunderbyte GmbH \n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(['pdfjs-dist/build/pdf', 'pdfjs-dist/build/pdf.worker'], function(pdfjsLib, pdfjsWorker) {\n // pdf.js is now available via pdfjsLib and pdfjsWorker\n return {\n pdf: pdfjsLib,\n pdfworker: pdfjsWorker\n };\n});"],"names":["define","pdfjsLib","pdfjsWorker","pdf","pdfworker"],"mappings":";;;;;AAqBAA,iCAAO,CAAC,uBAAwB,gCAAgC,SAASC,SAAUC,mBAExE,CACHC,IAAKF,SACLG,UAAWF"} \ No newline at end of file diff --git a/amd/build/pdfembed.min.js b/amd/build/pdfembed.min.js index 2dcfc678..e33fde7b 100644 --- a/amd/build/pdfembed.min.js +++ b/amd/build/pdfembed.min.js @@ -1,10 +1,11 @@ -define("mod_datalynx/pdfembed",["exports","mod_datalynx/pdf","mod_datalynx/pdf.worker"],(function(_exports,pdfjsLib,pdfjsWorker){function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj} +define("mod_datalynx/pdfembed",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.renderPDF=function(pdfUrl,canvasContainerId){console.log(pdfUrl,canvasContainerId);M.cfg.wwwroot;const container=document.querySelector("#".concat(canvasContainerId));console.log(pdfjsLib),console.log(pdfUrl),console.log(container), /** * This module provides functionality for embedding PDFs using pdf.js. * * @module mod_datalynx/pdfembed * @copyright 2023 David Bogner * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.renderPDF=function(pdfUrl,canvasContainerId){M.cfg.wwwroot;const container=document.querySelector("#".concat(canvasContainerId));console.log(pdfjsLib),console.log(pdfUrl),console.log(container),function(url,canvasContainer){function renderPage(page){var viewport=page.getViewport({scale:1}),canvas=document.createElement("canvas"),renderContext={canvasContext:canvas.getContext("2d"),viewport:viewport},widthScale=canvasContainer.clientWidth/viewport.width,heightScale=canvasContainer.clientHeight/viewport.height,scale=Math.min(widthScale,heightScale);canvas.width=viewport.width*scale,canvas.height=viewport.height*scale,canvasContainer.appendChild(canvas),console.log(canvasContainer,canvas,canvas.height),page.render(renderContext)}function renderPages(pdfDoc){for(var num=1;num<=pdfDoc.numPages;num++)pdfDoc.getPage(num).then(renderPage)}pdfjsLib.GlobalWorkerOptions.workerSrc=pdfjsWorker,console.log(pdfjsLib.version,pdfjsWorker),pdfjsLib.getDocument(url).promise.then(renderPages)}(pdfUrl,container)},pdfjsLib=_interopRequireWildcard(pdfjsLib),pdfjsWorker=_interopRequireWildcard(pdfjsWorker)})); + */ +function(url,canvasContainer){function renderPage(page){var viewport=page.getViewport({scale:1}),canvas=document.createElement("canvas"),renderContext={canvasContext:canvas.getContext("2d"),viewport:viewport},widthScale=canvasContainer.clientWidth/viewport.width,heightScale=canvasContainer.clientHeight/viewport.height,scale=Math.min(widthScale,heightScale);canvas.width=viewport.width*scale,canvas.height=viewport.height*scale,canvasContainer.appendChild(canvas),console.log(canvasContainer,canvas,canvas.height),page.render(renderContext)}function renderPages(pdfDoc){for(var num=1;num<=pdfDoc.numPages;num++)pdfDoc.getPage(num).then(renderPage)}pdfjsLib.GlobalWorkerOptions.workerSrc=pdfjsWorker,console.log(pdfjsLib.version,pdfjsWorker),pdfjsLib.getDocument(url).promise.then(renderPages)}(pdfUrl,container)}})); //# sourceMappingURL=pdfembed.min.js.map \ No newline at end of file diff --git a/amd/build/pdfembed.min.js.map b/amd/build/pdfembed.min.js.map index 684c5006..d4407d9c 100644 --- a/amd/build/pdfembed.min.js.map +++ b/amd/build/pdfembed.min.js.map @@ -1 +1 @@ -{"version":3,"file":"pdfembed.min.js","sources":["../src/pdfembed.js"],"sourcesContent":["// This file is part of the mod_coursecertificate plugin for Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see .\n\n/**\n * This module provides functionality for embedding PDFs using pdf.js.\n *\n * @module mod_datalynx/pdfembed\n * @copyright 2023 David Bogner \n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n// import 'mod_datalynx/pdf';\n\nimport * as pdfjsLib from 'mod_datalynx/pdf';\nimport * as pdfjsWorker from 'mod_datalynx/pdf.worker';\n\nfunction renderPDFfunction(url, canvasContainer) {\n\n function renderPage(page) {\n var viewport = page.getViewport({scale: 1});\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var renderContext = {\n canvasContext: ctx,\n viewport: viewport\n };\n // Calculate the scaling factors to fit the container's width and height\n var widthScale = canvasContainer.clientWidth / viewport.width;\n var heightScale = canvasContainer.clientHeight / viewport.height;\n\n // Use the minimum scale to ensure that the entire page fits within the container\n var scale = Math.min(widthScale, heightScale);\n\n // Apply the scaling factor\n canvas.width = viewport.width * scale;\n canvas.height = viewport.height * scale;\n\n // canvas.height = canvasContainer.clientHeight;\n // canvas.width = canvasContainer.clientWidth;\n\n // canvas.height = 800;\n // canvas.width = 1200;\n\n canvasContainer.appendChild(canvas);\n\n // eslint-disable-next-line no-console\n console.log(canvasContainer, canvas, canvas.height);\n\n page.render(renderContext);\n }\n\n function renderPages(pdfDoc) {\n for (var num = 1; num <= pdfDoc.numPages; num++)\n pdfDoc.getPage(num).then(renderPage);\n }\n\n pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker;\n\n // eslint-disable-next-line no-console\n console.log(pdfjsLib.version, pdfjsWorker);\n\n pdfjsLib.getDocument(url).promise.then(renderPages);\n\n}\n\n// eslint-disable-next-line require-jsdoc\nexport function renderPDF(pdfUrl, canvasContainerId) {\n\n // eslint-disable-next-line no-unused-vars\n const pdf = M.cfg.wwwroot + '/mod/datalynx/tests/turnen.pdf';\n const container = document.querySelector(`#${canvasContainerId}`);\n\n // eslint-disable-next-line no-console\n console.log(pdfjsLib);\n console.log(pdfUrl);\n console.log(container);\n\n renderPDFfunction(pdfUrl, container);\n}"],"names":["pdfUrl","canvasContainerId","M","cfg","wwwroot","container","document","querySelector","console","log","pdfjsLib","url","canvasContainer","renderPage","page","viewport","getViewport","scale","canvas","createElement","renderContext","canvasContext","getContext","widthScale","clientWidth","width","heightScale","clientHeight","height","Math","min","appendChild","render","renderPages","pdfDoc","num","numPages","getPage","then","GlobalWorkerOptions","workerSrc","pdfjsWorker","version","getDocument","promise","renderPDFfunction"],"mappings":";;;;;;;yFA6E0BA,OAAQC,mBAGlBC,EAAEC,IAAIC,cACZC,UAAYC,SAASC,yBAAkBN,oBAG7CO,QAAQC,IAAIC,UACZF,QAAQC,IAAIT,QACZQ,QAAQC,IAAIJ,oBA3DWM,IAAKC,0BAEnBC,WAAWC,UACZC,SAAWD,KAAKE,YAAY,CAACC,MAAO,IACpCC,OAASZ,SAASa,cAAc,UAEhCC,cAAgB,CAChBC,cAFMH,OAAOI,WAAW,MAGxBP,SAAUA,UAGVQ,WAAaX,gBAAgBY,YAAcT,SAASU,MACpDC,YAAcd,gBAAgBe,aAAeZ,SAASa,OAGtDX,MAAQY,KAAKC,IAAIP,WAAYG,aAGjCR,OAAOO,MAAQV,SAASU,MAAQR,MAChCC,OAAOU,OAASb,SAASa,OAASX,MAQlCL,gBAAgBmB,YAAYb,QAG5BV,QAAQC,IAAIG,gBAAiBM,OAAQA,OAAOU,QAE5Cd,KAAKkB,OAAOZ,wBAGPa,YAAYC,YACZ,IAAIC,IAAM,EAAGA,KAAOD,OAAOE,SAAUD,MACtCD,OAAOG,QAAQF,KAAKG,KAAKzB,YAGjCH,SAAS6B,oBAAoBC,UAAYC,YAGzCjC,QAAQC,IAAIC,SAASgC,QAASD,aAE9B/B,SAASiC,YAAYhC,KAAKiC,QAAQN,KAAKL,aAgBvCY,CAAkB7C,OAAQK"} \ No newline at end of file +{"version":3,"file":"pdfembed.min.js","sources":["../src/pdfembed.js"],"sourcesContent":["// This file is part of the mod_coursecertificate plugin for Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see .\n\n/**\n * This module provides functionality for embedding PDFs using pdf.js.\n *\n * @module mod_datalynx/pdfembed\n * @copyright 2023 David Bogner \n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n// import 'mod_datalynx/pdf';\n\n// import * as pdfjsLib from 'mod_datalynx/pdf';\n// import * as pdfjsWorker from 'mod_datalynx/pdf.worker';\n\n// eslint-disable-next-line require-jsdoc\nfunction renderPDFfunction(url, canvasContainer) {\n\n function renderPage(page) {\n var viewport = page.getViewport({scale: 1});\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var renderContext = {\n canvasContext: ctx,\n viewport: viewport\n };\n // Calculate the scaling factors to fit the container's width and height\n var widthScale = canvasContainer.clientWidth / viewport.width;\n var heightScale = canvasContainer.clientHeight / viewport.height;\n\n // Use the minimum scale to ensure that the entire page fits within the container\n var scale = Math.min(widthScale, heightScale);\n\n // Apply the scaling factor\n canvas.width = viewport.width * scale;\n canvas.height = viewport.height * scale;\n\n // canvas.height = canvasContainer.clientHeight;\n // canvas.width = canvasContainer.clientWidth;\n\n // canvas.height = 800;\n // canvas.width = 1200;\n\n canvasContainer.appendChild(canvas);\n\n // eslint-disable-next-line no-console\n console.log(canvasContainer, canvas, canvas.height);\n\n page.render(renderContext);\n }\n\n function renderPages(pdfDoc) {\n for (var num = 1; num <= pdfDoc.numPages; num++)\n pdfDoc.getPage(num).then(renderPage);\n }\n\n pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker;\n\n // eslint-disable-next-line no-console\n console.log(pdfjsLib.version, pdfjsWorker);\n\n pdfjsLib.getDocument(url).promise.then(renderPages);\n\n}\n\n/**\n *\n * @param {*} pdfUrl\n * @param {*} canvasContainerId\n */\nexport function renderPDF(pdfUrl, canvasContainerId) {\n\n console.log(pdfUrl, canvasContainerId);\n\n // eslint-disable-next-line no-unused-vars\n const pdf = M.cfg.wwwroot + '/mod/datalynx/tests/turnen.pdf';\n const container = document.querySelector(`#${canvasContainerId}`);\n\n // eslint-disable-next-line no-console\n console.log(pdfjsLib);\n console.log(pdfUrl);\n console.log(container);\n\n renderPDFfunction(pdfUrl, container);\n}"],"names":["pdfUrl","canvasContainerId","console","log","M","cfg","wwwroot","container","document","querySelector","pdfjsLib","url","canvasContainer","renderPage","page","viewport","getViewport","scale","canvas","createElement","renderContext","canvasContext","getContext","widthScale","clientWidth","width","heightScale","clientHeight","height","Math","min","appendChild","render","renderPages","pdfDoc","num","numPages","getPage","then","GlobalWorkerOptions","workerSrc","pdfjsWorker","version","getDocument","promise","renderPDFfunction"],"mappings":"mJAkF0BA,OAAQC,mBAE9BC,QAAQC,IAAIH,OAAQC,mBAGRG,EAAEC,IAAIC,cACZC,UAAYC,SAASC,yBAAkBR,oBAG7CC,QAAQC,IAAIO,UACZR,QAAQC,IAAIH,QACZE,QAAQC,IAAII;;;;;;;;SAjEWI,IAAKC,0BAEnBC,WAAWC,UACZC,SAAWD,KAAKE,YAAY,CAACC,MAAO,IACpCC,OAASV,SAASW,cAAc,UAEhCC,cAAgB,CAChBC,cAFMH,OAAOI,WAAW,MAGxBP,SAAUA,UAGVQ,WAAaX,gBAAgBY,YAAcT,SAASU,MACpDC,YAAcd,gBAAgBe,aAAeZ,SAASa,OAGtDX,MAAQY,KAAKC,IAAIP,WAAYG,aAGjCR,OAAOO,MAAQV,SAASU,MAAQR,MAChCC,OAAOU,OAASb,SAASa,OAASX,MAQlCL,gBAAgBmB,YAAYb,QAG5BhB,QAAQC,IAAIS,gBAAiBM,OAAQA,OAAOU,QAE5Cd,KAAKkB,OAAOZ,wBAGPa,YAAYC,YACZ,IAAIC,IAAM,EAAGA,KAAOD,OAAOE,SAAUD,MACtCD,OAAOG,QAAQF,KAAKG,KAAKzB,YAGjCH,SAAS6B,oBAAoBC,UAAYC,YAGzCvC,QAAQC,IAAIO,SAASgC,QAASD,aAE9B/B,SAASiC,YAAYhC,KAAKiC,QAAQN,KAAKL,aAsBvCY,CAAkB7C,OAAQO"} \ No newline at end of file diff --git a/amd/src/._pdfembed.js b/amd/src/._pdfembed.js new file mode 100644 index 00000000..14f08fa8 Binary files /dev/null and b/amd/src/._pdfembed.js differ diff --git a/amd/src/pdf.worker.entry.js b/amd/src/pdf.worker.entry.js deleted file mode 100644 index b7c48218..00000000 --- a/amd/src/pdf.worker.entry.js +++ /dev/null @@ -1,19 +0,0 @@ -/* 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. - */ - -(typeof window !== "undefined" - ? window - : {} -).pdfjsWorker = require("./pdf.worker.js"); diff --git a/amd/src/pdf_backup.js b/amd/src/pdf_backup.js deleted file mode 100644 index 2b1e1e47..00000000 --- a/amd/src/pdf_backup.js +++ /dev/null @@ -1,28 +0,0 @@ -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see . - -/* - * @package mod_datalynx - * @copyright Wunderbyte GmbH - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -define(['pdfjs-dist/build/pdf', 'pdfjs-dist/build/pdf.worker'], function(pdfjsLib, pdfjsWorker) { - // pdf.js is now available via pdfjsLib and pdfjsWorker - return { - pdf: pdfjsLib, - pdfworker: pdfjsWorker - }; -}); \ No newline at end of file diff --git a/amd/src/pdfembed.js b/amd/src/pdfembed.js index eaf39db6..30b8aec4 100644 --- a/amd/src/pdfembed.js +++ b/amd/src/pdfembed.js @@ -22,9 +22,10 @@ */ // import 'mod_datalynx/pdf'; -import * as pdfjsLib from 'mod_datalynx/pdf'; -import * as pdfjsWorker from 'mod_datalynx/pdf.worker'; +// import * as pdfjsLib from 'mod_datalynx/pdf'; +// import * as pdfjsWorker from 'mod_datalynx/pdf.worker'; +// eslint-disable-next-line require-jsdoc function renderPDFfunction(url, canvasContainer) { function renderPage(page) { @@ -74,9 +75,15 @@ function renderPDFfunction(url, canvasContainer) { } -// eslint-disable-next-line require-jsdoc +/** + * + * @param {*} pdfUrl + * @param {*} canvasContainerId + */ export function renderPDF(pdfUrl, canvasContainerId) { + console.log(pdfUrl, canvasContainerId); + // eslint-disable-next-line no-unused-vars const pdf = M.cfg.wwwroot + '/mod/datalynx/tests/turnen.pdf'; const container = document.querySelector(`#${canvasContainerId}`); diff --git a/field/file/renderer.php b/field/file/renderer.php index 5e04c266..dbb034ef 100644 --- a/field/file/renderer.php +++ b/field/file/renderer.php @@ -201,14 +201,17 @@ protected function embed_pdf(string $fullurl, string $fieldname): string { global $PAGE; $PAGE->requires->js_call_amd('mod_datalynx/pdfembed', 'renderPDF', [$fullurl, $fieldname]); + + $a = html_writer::tag('script', '', [ + 'src' => 'pdfjs/pdf.js']); + $b = html_writer::tag('script', '', [ + 'src' => 'pdfjs/pdf.worker.js']); + return '
- '; - - // the size is hardcoded in the boject obove intentionally because it is adjusted by the following function on-the-fly - // $PAGE->requires->js_call_amd('mod_datalynx/maximiseembed', 'initMaximisedEmbed', ['resourceembed']); + ' . $a . $b; } /** diff --git a/amd/src/pdf.js b/pdfjs/pdf.js similarity index 99% rename from amd/src/pdf.js rename to pdfjs/pdf.js index 7397f4b2..4acf16b1 100644 --- a/amd/src/pdf.js +++ b/pdfjs/pdf.js @@ -24,11 +24,11 @@ if(typeof exports === 'object' && typeof module === 'object') module.exports = root.pdfjsLib = factory(); else if(typeof define === 'function' && define.amd) - define("pdf", [], () => { return (root.pdfjsLib = factory()); }); + define("pdfjs-dist/build/pdf", [], () => { return (root.pdfjsLib = factory()); }); else if(typeof exports === 'object') - exports["pdf"] = root.pdfjsLib = factory(); + exports["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); else - root["pdf"] = root.pdfjsLib = factory(); + root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); })(globalThis, () => { return /******/ (() => { // webpackBootstrap /******/ "use strict"; diff --git a/pdfjs/pdf.js.map b/pdfjs/pdf.js.map new file mode 100644 index 00000000..39c3bd65 --- /dev/null +++ b/pdfjs/pdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/display/editor/editor.js","webpack://pdfjs-dist/build/pdf/src/display/editor/tools.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/shared/murmurhash3.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/shared/image_utils.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/annotation_editor_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/freetext.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/web/l10n_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/ink.js","webpack://pdfjs-dist/build/pdf/src/display/editor/stamp.js","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = root.pdfjsLib = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(globalThis, () => {\nreturn ","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6; // Ten megabytes.\n\n// Represent the percentage of the height of a single-line field over\n// the font size. Acrobat seems to use this value.\nconst LINE_FACTOR = 1.35;\nconst LINE_DESCENT_FACTOR = 0.35;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\n\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15,\n};\n\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n // PLEASE NOTE: We purposely keep any removed operators commented out, since\n // re-numbering the list would risk breaking third-party users.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n // beginAnnotations: 78,\n // endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n // paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value, nonSerializable = false) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\nfunction string32(value) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(\n this,\n \"isOffscreenCanvasSupported\",\n typeof OffscreenCanvas !== \"undefined\"\n );\n }\n\n static get platform() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof navigator === \"undefined\"\n ) {\n return shadow(this, \"platform\", { isWin: false, isMac: false });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\"),\n });\n }\n\n static get isCSSRoundSupported() {\n return shadow(\n this,\n \"isCSSRoundSupported\",\n globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\")\n );\n }\n}\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Apply a scaling matrix to some min/max values.\n // If a scaling factor is negative then min and max must be\n // swaped.\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'null'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n const xLow = Math.max(\n Math.min(rect1[0], rect1[2]),\n Math.min(rect2[0], rect2[2])\n );\n const xHigh = Math.min(\n Math.max(rect1[0], rect1[2]),\n Math.max(rect2[0], rect2[2])\n );\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(\n Math.min(rect1[1], rect1[3]),\n Math.min(rect2[1], rect2[3])\n );\n const yHigh = Math.min(\n Math.max(rect1[1], rect1[3]),\n Math.max(rect2[1], rect2[3])\n );\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\nclass PromiseCapability {\n #settled = false;\n\n constructor() {\n /**\n * @type {Promise} The Promise object.\n */\n this.promise = new Promise((resolve, reject) => {\n /**\n * @type {function} Fulfills the Promise.\n */\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n\n /**\n * @type {function} Rejects the Promise.\n */\n this.reject = reason => {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(reason instanceof Error, 'Expected valid \"reason\" argument.');\n }\n this.#settled = true;\n reject(reason);\n };\n });\n }\n\n /**\n * @type {boolean} If the Promise has been fulfilled/rejected.\n */\n get settled() {\n return this.#settled;\n }\n}\n\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n // In order to generate the following regex:\n // - create a PDF containing all the chars in the range 0000-FFFF with\n // a NFKC which is different of the char.\n // - copy and paste all those chars and get the ones where NFKC is\n // required.\n // It appears that most the chars here contain some ligatures.\n NormalizeRegex =\n /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\n\nfunction getUuid() {\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\")\n ) {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto?.getRandomValues === \"function\"\n ) {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\n\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationEditorParamsType,\n AnnotationEditorPrefix,\n AnnotationEditorType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMode,\n AnnotationPrefix,\n AnnotationReplyType,\n AnnotationType,\n assert,\n BaseException,\n BASELINE_FACTOR,\n bytesToString,\n CMapCompressionType,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n FeatureTest,\n FONT_IDENTITY_MATRIX,\n FormatError,\n getModificationDate,\n getUuid,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isNodeJS,\n LINE_DESCENT_FACTOR,\n LINE_FACTOR,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n normalizeUnicode,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isNodeJS,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n PasswordException,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n AnnotationStorage,\n PrintAnnotationStorage,\n SerializableEmpty,\n} from \"./annotation_storage.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMFilterFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n isValidFetchUrl,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeFilterFactory,\n NodeStandardFontDataFactory,\n} from \"display-node_utils\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { PDFFetchStream } from \"display-fetch_stream\";\nimport { PDFNetworkStream } from \"display-network\";\nimport { PDFNodeStream } from \"display-node_stream\";\nimport { SVGGraphics } from \"display-svg\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\nconst DELAYED_CLEANUP_TIMEOUT = 5000; // ms\n\nconst DefaultCanvasFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultFilterFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeFilterFactory\n : DOMFilterFactory;\nconst DefaultStandardFontDataFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef { TypedArray | ArrayBuffer | Array | string } BinaryData\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string | URL} [url] - The URL of the PDF.\n * @property {BinaryData} [data] - Binary PDF data.\n * Use TypedArrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n *\n * NOTE: If TypedArrays are used they will generally be transferred to the\n * worker-thread. This will help reduce main-thread memory usage, however\n * it will take ownership of the TypedArrays.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not. The default value is `true`.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [isOffscreenCanvasSupported] - Determines if we can use\n * `OffscreenCanvas` in the worker. Primarily used to improve performance of\n * image conversion/rendering.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {number} [canvasMaxAreaInBytes] - The integer value is used to\n * know when an image must be resized (uses `OffscreenCanvas` in the worker).\n * If it's -1 then a possibly slow algorithm is used to guess the max value.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object} [filterFactory] - A factory instance that will be used\n * to create SVG filters when rendering some images on the main canvas.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string | URL | TypedArray | ArrayBuffer | DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = { url: src };\n } else if (isArrayBuffer(src)) {\n src = { data: src };\n }\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n const task = new PDFDocumentLoadingTask();\n const { docId } = task;\n\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport =\n src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize =\n Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0\n ? src.rangeChunkSize\n : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n const docBaseUrl =\n typeof src.docBaseUrl === \"string\" && !isDataScheme(src.docBaseUrl)\n ? src.docBaseUrl\n : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl =\n typeof src.standardFontDataUrl === \"string\"\n ? src.standardFontDataUrl\n : null;\n const StandardFontDataFactory =\n src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize =\n Number.isInteger(src.maxImageSize) && src.maxImageSize > -1\n ? src.maxImageSize\n : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported =\n typeof src.isOffscreenCanvasSupported === \"boolean\"\n ? src.isOffscreenCanvasSupported\n : !isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes)\n ? src.canvasMaxAreaInBytes\n : -1;\n const disableFontFace =\n typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n\n // Parameters whose default values depend on other parameters.\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts =\n typeof src.useSystemFonts === \"boolean\"\n ? src.useSystemFonts\n : !isNodeJS && !disableFontFace;\n const useWorkerFetch =\n typeof src.useWorkerFetch === \"boolean\"\n ? src.useWorkerFetch\n : (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (CMapReaderFactory === DOMCMapReaderFactory &&\n StandardFontDataFactory === DOMStandardFontDataFactory &&\n cMapUrl &&\n standardFontDataUrl &&\n isValidFetchUrl(cMapUrl, document.baseURI) &&\n isValidFetchUrl(standardFontDataUrl, document.baseURI));\n const canvasFactory =\n src.canvasFactory || new DefaultCanvasFactory({ ownerDocument });\n const filterFactory =\n src.filterFactory || new DefaultFilterFactory({ docId, ownerDocument });\n\n // Parameters only intended for development/testing purposes.\n const styleElement =\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")\n ? src.styleElement\n : null;\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(verbosity);\n\n // Ensure that the various factories can be initialized, when necessary,\n // since the user may provide *custom* ones.\n const transportFactory = {\n canvasFactory,\n filterFactory,\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked,\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl,\n });\n }\n\n if (!worker) {\n const workerParams = {\n verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const fetchDocParams = {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null,\n },\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement,\n };\n\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename:\n rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream,\n },\n rangeTransport\n );\n } else if (!data) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: createPDFNetworkStream\");\n }\n const createPDFNetworkStream = params => {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS\n ) {\n return new PDFNodeStream(params);\n }\n return isValidFetchUrl(params.url)\n ? new PDFFetchStream(params)\n : new PDFNetworkStream(params);\n };\n\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n transportParams,\n transportFactory\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n source,\n source.data ? [source.data.buffer] : null\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\nfunction getUrlProp(val) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n return null; // The 'url' is unused with `PDFDataRangeTransport`.\n }\n if (val instanceof URL) {\n return val.href;\n }\n try {\n // The full path is required in the 'url' field.\n return new URL(val, window.location).href;\n } catch {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof val === \"string\"\n ) {\n return val; // Use the url as-is in Node.js environments.\n }\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n}\n\nfunction getDataProp(val) {\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n val instanceof Buffer // eslint-disable-line no-undef\n ) {\n throw new Error(\n \"Please provide binary data as `Uint8Array`, rather than `Buffer`.\"\n );\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n // Use the data as-is when it's already a Uint8Array that completely\n // \"utilizes\" its underlying ArrayBuffer, to prevent any possible\n // issues when transferring it to the worker-thread.\n return val;\n }\n if (typeof val === \"string\") {\n return stringToBytes(val);\n }\n if ((typeof val === \"object\" && !isNaN(val?.length)) || isArrayBuffer(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\n \"Invalid PDF binary data: either TypedArray, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = new PromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n try {\n if (this._worker?.port) {\n this._worker._pendingDestroy = true;\n }\n await this._transport?.destroy();\n } catch (ex) {\n if (this._worker?.port) {\n delete this._worker._pendingDestroy;\n }\n throw ex;\n }\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n *\n * NOTE: The TypedArrays passed to the constructor and relevant methods below\n * will generally be transferred to the worker-thread. This will help reduce\n * main-thread memory usage, however it will take ownership of the TypedArrays.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array|null} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new PromiseCapability();\n }\n\n /**\n * @param {function} listener\n */\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n /**\n * @param {number} begin\n * @param {Uint8Array|null} chunk\n */\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n /**\n * @param {number} loaded\n * @param {number|undefined} total\n */\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n /**\n * @param {Uint8Array|null} chunk\n */\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n /**\n * @param {number} begin\n * @param {number} end\n */\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"getJavaScript\", {\n value: () => {\n deprecated(\n \"`PDFDocumentProxy.getJavaScript`, \" +\n \"please use `PDFDocumentProxy.getJSActions` instead.\"\n );\n return this.getJSActions().then(js => {\n if (!js) {\n return js;\n }\n const jsArr = [];\n for (const name in js) {\n jsArr.push(...js[name]);\n }\n return jsArr;\n });\n },\n });\n }\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n // For testing purposes.\n Object.defineProperty(this, \"getXFADatasets\", {\n value: () => {\n return this._transport.getXFADatasets();\n },\n });\n Object.defineProperty(this, \"getXRefPrevValue\", {\n value: () => {\n return this._transport.getXRefPrevValue();\n },\n });\n Object.defineProperty(this, \"getAnnotArray\", {\n value: pageIndex => {\n return this._transport.getAnnotArray(pageIndex);\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {Object} The filter factory instance.\n */\n get filterFactory() {\n return this._transport.filterFactory;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree.\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the raw data of the PDF document.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n * @property {boolean} [disableNormalization] - When true the text is *not*\n * normalized in the worker-thread. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {CanvasRenderingContext2D} canvasContext - A 2D context of a DOM\n * Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {CanvasGradient | CanvasPattern | string} [background] - Background\n * to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n *\n * NOTE: This option may be partially, or completely, ignored when the\n * `pageColors`-option is used.\n * @property {Object} [pageColors] - Overwrites background and foreground colors\n * with user defined ones in order to improve readability in high contrast\n * mode.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n * @property {PrintAnnotationStorage} [printAnnotationStorage]\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {PrintAnnotationStorage} [printAnnotationStorage]\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n\n #pendingCleanup = false;\n\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {RefProxy | null} The reference that points to this page.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n return this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n\n /**\n * @type {Object} The filter factory instance.\n */\n get filterFactory() {\n return this._transport.filterFactory;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null,\n }) {\n this._stats?.time(\"Overall\");\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n printAnnotationStorage\n );\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render...\n this.#pendingCleanup = false;\n // ... and ensure that a delayed cleanup is always aborted.\n this.#abortDelayedCleanup();\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\n );\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = new PromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null,\n };\n\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup immediately once rendering has finished.\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(/* delayed = */ !intentPrint);\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error),\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.destroyed) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n printAnnotationStorage = null,\n } = {}) {\n if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n throw new Error(\"Not implemented: getOperatorList\");\n }\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n printAnnotationStorage,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = new PromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null,\n };\n\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(/* delayed = */ false);\n\n if (resetStats && success) {\n this._stats &&= new StatTimer();\n }\n return success;\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @param {boolean} [delayed] - Delay the cleanup, to e.g. improve zooming\n * performance in documents with large images.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n\n if (!this.#pendingCleanup || this.destroyed) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(/* delayed = */ false);\n }, DELAYED_CLEANUP_TIMEOUT);\n\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n this._stats?.timeEnd(\"Page Request\");\n\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n intentState.displayReadyCapability?.resolve(transparency);\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(/* delayed = */ true);\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageSerializable,\n }) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n const { map, transfers } = annotationStorageSerializable;\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: map,\n },\n transfers\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(/* delayed = */ true);\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\n }\n\n if (!intentState.streamReader) {\n return;\n }\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < /* ms = */ 1000) {\n // Above, we prevent the total delay from becoming arbitrarily large.\n delay += reason.extraDelay;\n }\n\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({ intentState, reason, force: true });\n }, delay);\n return;\n }\n }\n intentState.streamReader\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\n });\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {StatTimer | null} Returns page stats, if enabled; returns `null`\n * otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n #listeners = new Set();\n\n #deferred = Promise.resolve();\n\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(\n obj,\n (typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"SKIP_BABEL || TESTING\")) &&\n transfer\n ? { transfer }\n : null\n ),\n };\n\n this.#deferred.then(() => {\n for (const listener of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this.#listeners.add(listener);\n }\n\n removeEventListener(name, listener) {\n this.#listeners.delete(listener);\n }\n\n terminate() {\n this.#listeners.clear();\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Worker} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n // Check if URLs have the same origin. For non-HTTP based URLs, returns false.\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static #workerPorts;\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n\n this._readyCapability = new PromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) &&\n port\n ) {\n if (PDFWorker.#workerPorts?.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: _initializeFromPort\");\n }\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let { workerSrc } = PDFWorker;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n const worker =\n typeof PDFJSDev === \"undefined\" &&\n !workerSrc.endsWith(\"/build/pdf.worker.js\")\n ? new Worker(workerSrc, { type: \"module\" })\n : new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n // Ensure that we can use `postMessage` transfers.\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts?.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: fromPort\");\n }\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n const cachedPort = this.#workerPorts?.get(params.port);\n if (cachedPort) {\n if (cachedPort._pendingDestroy) {\n throw new Error(\n \"PDFWorker.fromPort - the worker is being destroyed.\\n\" +\n \"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls.\"\n );\n }\n return cachedPort;\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n PDFWorkerUtil.fallbackWorkerSrc !== null\n ) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a `