{"version":3,"sources":["webpack:///./node_modules/pdfjs-dist/build/pdf.js"],"names":["_get","_toConsumableArray","_slicedToArray","_inherits","_possibleConstructorReturn","_getPrototypeOf","_regeneratorRuntime","_asyncToGenerator","_classCallCheck","_createClass","factory","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","this","Reflect","construct","arguments","apply","sham","Proxy","Boolean","valueOf","modules","installedModules","__w_pdfjs_require__","moduleId","exports","module","l","m","c","d","getter","defineProperty","enumerable","get","r","toStringTag","t","mode","__esModule","ns","create","key","bind","object","property","hasOwnProperty","p","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","createObjectURL","createPromiseCapability","createValidAbsoluteUrl","InvalidPDFException","MissingPDFException","OPS","PasswordResponses","PermissionFlag","removeNullCharacters","shadow","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","AnnotationLayer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","renderTextLayer","_svg","SVGGraphics","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","link","_ref7","undefined","target","rel","_ref7$enabled","enabled","assert","urlNullRemoved","href","title","concat","onclick","targetStr","NONE","SELF","BLANK","PARENT","TOP","anchor","indexOf","query","end","Math","min","substring","lastIndexOf","src","Promise","resolve","reject","script","document","createElement","onload","onerror","Error","head","documentElement","appendChild","deprecated","details","console","log","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","DOMCanvasFactory","DEFAULT_LINK_REL","PageViewport","SVG_NS","width","height","canvas","context","getContext","canvasAndContext","_ref","_ref$baseUrl","baseUrl","_ref$isCompressed","isCompressed","_fetch","fetch","_x","_ref3","mark","_callee2","_ref2","compressionType","_this","wrap","_context2","prev","BINARY","baseURI","abrupt","then","_ref4","_callee","response","cMapData","_context","ok","statusText","t0","Uint8Array","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","stop","_x3","catch","reason","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","status","responseText","send","_x2","svg","createElementNS","setAttribute","type","_ref5","viewBox","scale","rotation","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","transform","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","x","y","applyTransform","rect","topLeft","bottomRight","applyInverseTransform","_util$BaseException","_super","msg","_this2","BaseException","pdfDateStringRegex","started","times","warn","Date","now","push","start","_step","outBuf","longest","_iterator","_step2","_iterator2","_time","duration","padEnd","join","Response","ReadableStream","protocol","URL","ex","input","isString","RegExp","matches","exec","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","arrayByteLength","arraysToBytes","resultLength","pos","data","_i","item","itemLength","byteLength","set","bytesToString","bytes","String","fromCharCode","strBuf","chunkEnd","chunk","subarray","capability","isSettled","promise","getVerbosityLevel","verbosity","info","INFOS","isArrayBuffer","v","isArrayEqual","arr1","every","element","index","isBool","isEmptyObj","obj","isNum","isSameOrigin","otherUrl","base","origin","other","absoluteUrl","_isValidProtocol","str","replace","NullCharactersRegExp","setVerbosityLevel","level","Number","isInteger","string32","stringToPDFString","charCodeAt","_i2","_i3","code","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","NEED_PASSWORD","INCORRECT_PASSWORD","cond","prop","configurable","writable","message","_BaseException","_super2","_this3","_BaseException2","_super3","_this4","_BaseException3","_super4","_BaseException4","_super5","_BaseException5","_super6","_this5","_BaseException6","_super7","_BaseException7","_super8","buffer8","Uint32Array","buffer","Function","isEvalSupported","rgbBuf","g","b","m1","m2","p1","p2","p3","p4","max","transpose","a","first","sqrt","sx","sy","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","process","versions","nw","electron","PDFPageProxy","PDFDocumentProxy","_font_loader","_canvas","_is_node","_message_handler","_metadata","_transport_stream","_webgl","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","pdfNetworkStreamFactory","source","task","PDFDocumentLoadingTask","range","rangeTransport","worker","window","pdfBytes","isNaN","location","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","workerParams","port","workerPort","fromPort","_worker","docId","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","all","_ref9","_ref10","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","_this6","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","listener","begin","_step3","_iterator3","loaded","total","_this7","_step4","_iterator4","_this8","_step5","_iterator5","_this9","_step6","_iterator6","pdfInfo","_pdfInfo","numPages","fingerprint","pageNumber","getPage","ref","getPageIndex","getDestinations","id","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","openAction","dest","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","rotate","userUnit","view","_ref11","_ref11$rotation","_ref11$offsetX","_ref11$offsetY","_ref11$dontFlip","_ref12","_ref12$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_ref13","_this10","canvasContext","viewport","_ref13$intent","_ref13$enableWebGL","enableWebGL","_ref13$renderInteract","renderInteractiveForms","_ref13$transform","_ref13$imageLayer","imageLayer","_ref13$canvasFactory","canvasFactory","_ref13$background","background","time","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","complete","error","renderTasks","internalRenderTask","splice","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListTask","opListReadCapability","_ref14","_ref14$normalizeWhite","normalizeWhitespace","_ref14$disableCombine","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","highWaterMark","size","textContent","items","readableStream","streamTextContent","reader","getReader","styles","pump","read","_ref15","_textContent$items","assign","_this11","pageCache","waitOn","keys","forEach","force","renderCompleted","cancel","clear","resetStats","_this12","some","operatorListChunk","_i4","args","_this13","streamReader","_ref16","_renderPageChunk","_ref17","_this14","_ref17$force","setTimeout","cleanup","defer","_listeners","_defer","_deferred","transfers","_this15","cloned","WeakMap","cloneValue","has","includes","byteOffset","desc","getOwnPropertyDescriptor","getPrototypeOf","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","globalThis","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref18","_callee3","_callee3$","_context3","eval","createCDNWrapper","wrapper","_ref19","_ref19$name","_ref19$port","_ref19$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this16","Worker","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","addEventListener","supportTransfers","sendTest","testObj","_this17","workerHandler","setup","delete","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this18","page","_destroy","terminated","cancelAllRequests","_this19","sink","getFullReader","evt","onPull","_ref20","close","enqueue","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref21","_ref22","_numPages","exception","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","finally","_data2","imageData","pageProxy","fetched","builtInCMap","_ref23","featureId","_this20","_this21","results","metadata","Metadata","contentDispositionFilename","filename","_this22","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","WeakSet","_ref24","_ref24$useRequestAnim","_ref24$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","_next2","add","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this23","requestAnimationFrame","_callee4","_context4","executeOperatorList","BaseFontLoader","_ref25","nativeFontFaces","styleElement","_bind","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","remove","_callee5","_this24","_context5","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_x4","supported","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","_super9","_this25","loadingContext","requests","nextRequestId","loadTestFontId","navigator","userAgent","otherRequest","shift","atob","int32","offset","spliceString","insert","ctx","called","_loadTestFont","checksum","btoa","names","loadedName","div","style","visibility","position","top","left","span","fontFamily","body","isFontReady","fillText","getImageData","removeChild","translatedData","_ref26","_ref26$isEvalSupporte","_ref26$disableFontFac","_ref26$ignoreErrors","_ref26$onUnsupportedF","_ref26$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_i5","_ii","compatibilityParams","freeze","_pattern_helper","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","pop","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","reset","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","imgData","ImageData","putImageData","destPos","j","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","kind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","k","kEnd","kEndUnrolled","mask","srcByte","putBinaryImageMask","elem","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","layerCtx","maskCtx","scaleX","scaleY","backdrop","isEnabled","composed","layer","subtype","drawImage","composeFn","hasBackdrop","chunkSize","ceil","row","chunkHeight","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref27","_ref27$transparency","_ref27$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","steps","breakIt","_step7","_iterator7","depObjId","objsPool","startsWith","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","state","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","singularValueDecompose2dScale","getPattern","needRestore","paths","pendingTextPaths","beginPath","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","_this26","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","floor","imageSmoothingEnabled","mozImageSmoothingEnabled","img","isPatternFill","compiled","j0","width1","points","POINT_TYPES","lineSize","data0","count","sum","Int32Array","outlines","pp","coords","p0","kk","ll","compileType3Glyph","maskCanvas","positions","images","image","map","w","h","imgToPaint","tmpCanvas","widthScale","heightScale","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","entry","tag","inverse","raw","shadingIR","ShadingIRs","fromIR","applyBoundingBox","Path2D","region","RadialAxial","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","_k","_k2","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","StreamKind","wrapReason","sourceName","targetName","comObj","_this27","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","event","stream","_processStreamMessage","action","cbSourceName","cbTargetName","postMessage","_createStreamSink","_deleteStreamController2","actionName","handler","ah","_postMessage","queueingStrategy","_this28","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","self","streamSink","isCancelled","lastDesiredSize","sinkCapability","ready","success","_deleteStreamController","_callee6","_context6","allSettled","_x5","_xml_parser","_repair","xmlDocument","SimpleXMLParser","parseFromString","_metadataMap","Map","_parse","codes","chars","rdf","nodeName","toLowerCase","firstChild","nextSibling","hasChildNodes","children","childNodes","jj","trim","_step8","_iterator8","_step8$value","XMLParserErrorCode","isWhitespace","ch","XMLParserBase","_this29","entity","onResolveEntity","attributes","skipWs","attrValue","attrName","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","parentNode","child","_XMLParserBase","_super10","_this30","_currentFragment","_stack","_errorCode","parseXml","isWhitespaceString","node","lastElement","_this31","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","found","_begin","_loaded","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","abort","_stream","_done","_filename","_step9","_iterator9","_requests","_headersReady","_read","_callee7","requestCapability","_context7","_end","_queuedChunk","_read2","_removeRangeReader","_callee8","_context8","_ref28","_ref28$enable","_enabled","WebGLUtils","tryInitGL","_ref29","_ref30","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskCache","figuresCache","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","initSmaskGL","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","flush","deleteTexture","deleteBuffer","scaleLocation","offsetLocation","colorLocation","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","container","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popup","PopupElement","modificationDate","contents","hideWrapper","render","_AnnotationElement","_super11","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","_this32","getDestinationHash","navigateTo","_this33","getAnchorUrl","executeNamedAction","_AnnotationElement2","_super12","hasPopup","alt","dataset","l10nId","l10nArgs","JSON","stringify","_createPopup","_AnnotationElement3","_super13","_WidgetAnnotationElem","_super14","hasAppearance","fieldValue","multiLine","disabled","readOnly","fieldName","maxLen","maxLength","comb","combWidth","classList","letterSpacing","verticalAlign","display","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_super15","_WidgetAnnotationElem3","_super16","buttonValue","_LinkAnnotationElemen","_super17","_WidgetAnnotationElem4","_super18","selectElement","combo","options","multiSelect","multiple","_step10","_iterator10","option","optionElement","displayValue","exportValue","_AnnotationElement4","_super19","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","split","line","createTextNode","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","_super20","_AnnotationElement6","_super21","lineCoordinates","append","_AnnotationElement7","_super22","square","_AnnotationElement8","_super23","circle","_AnnotationElement9","_super24","_this34","containerClassName","svgElementName","_step11","_iterator11","vertices","coordinate","polyline","_PolylineAnnotationEl","_super25","_this35","_AnnotationElement10","_super26","_AnnotationElement11","_super27","_this36","_step12","_iterator12","inkLists","_step13","inkList","_iterator13","_AnnotationElement12","_super28","_AnnotationElement13","_super29","_AnnotationElement14","_super30","_AnnotationElement15","_super31","_AnnotationElement16","_super32","_AnnotationElement17","_super33","_this37","_this37$data$file","file","eventBus","dispatch","_assertThisInitialized","_download","downloadData","_step14","sortedAnnotations","popupAnnotations","_iterator14","annotations","_data3","_i6","_sortedAnnotations","_step15","_iterator15","NonWhitespaceRegexp","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","boxes","box","x1New","x2New","expandBoundsLTR","expandBounds","divProperties","Float64Array","boxScale","horizon","Infinity","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","_ref31","_this38","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","_textDiv$style","_render","timeout","_this39","mozOpaque","textItems","textStyles","_ref32","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","renderParameters","pf","toFixed","pm","acos","SVG_DEFAULTS","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","_i7","crc32","deflateSyncUncompressed","literals","deflateBlocks","idat","adler","_i8","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","_i9","ihdr","Buffer","output","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_this40","_step17","_iterator17","_loop","_this41","svgElement","loadDependencies","convertOpList","operatorIdMapping","opList","fn","_step16","opTree","_iterator16","opListElement","opListToTree","_step18","_iterator18","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","_step19","_iterator19","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_util$Util$applyTrans","_util$Util$applyTrans2","tx0","ty0","_util$Util$applyTrans3","_util$Util$applyTrans4","tx1","ty1","_util$Util$singularVa","_util$Util$singularVa2","txstep","tystep","tiling","_util$Util","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","_step20","_iterator20","colorStop","_step21","_iterator21","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_step22","_iterator22","_step22$value","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","sourceUrl","parsedUrl","parse","host","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_storedError","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_read3","_callee9","_context9","_error","_this42","BaseRangeReader","_read4","_callee10","_context10","_this43","createRequestOptions","headers","auth","hostname","method","_BaseFullReader","_super34","_this44","handleResponse","statusCode","_setReadableStream","getResponseHeader","_ref33","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_super35","_this45","_httpHeaders","Range","_BaseFullReader2","_super36","_this46","lstat","stat","createReadStream","_BaseRangeReader2","_super37","_this47","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","_ref34","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","contentDispositionStr","match","iter","_match2","quot","part","parts","_n","_matches$_n","_quot","_part","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","quotindex","extvalue","encodingend","charset","hex","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","getArrayBuffer","rangeHeader","abortRequest","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","_read5","fullRequestXhrId","fullRequestXhr","getRequestXhr","_ref35","lengthComputable","_callee11","_context11","isPendingRequest","_requestId","requestRange","_read6","_close","_callee12","_context12","createFetchOptions","abortController","signal","credentials","redirect","createHeaders","Headers","PDFFetchStreamReader","PDFFetchStreamRangeReader","_this48","_withCredentials","AbortController","_abortController","_headers","_ref36","_read7","_callee13","_yield$this$_reader$r","_context13","_this49","_read8","_callee14","_yield$this$_reader$r2","_context14"],"mappings":"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","file":"2b7b2d2a-dcc05f3aed6ac74621ff.js","sourcesContent":["var _assertThisInitialized = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/assertThisInitialized\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get\");\n\nvar _toConsumableArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nrequire(\"core-js/modules/es.typed-array.sort.js\");\n\nrequire(\"core-js/modules/es.array.sort.js\");\n\nrequire(\"core-js/modules/es.promise.finally.js\");\n\n/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/build/pdf\", [], factory);else if (typeof exports === 'object') exports[\"pdfjs-dist/build/pdf\"] = factory();else root[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function () {\n return (\n /******/\n function (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __w_pdfjs_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __w_pdfjs_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __w_pdfjs_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/\n if (!__w_pdfjs_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n enumerable: true,\n get: getter\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // define __esModule on exports\n\n /******/\n\n\n __w_pdfjs_require__.r = function (exports) {\n /******/\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/\n Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n\n /******/\n // create a fake namespace object\n\n /******/\n // mode & 1: value is a module id, require it\n\n /******/\n // mode & 2: merge all properties of value into the ns\n\n /******/\n // mode & 4: return value when already ns object\n\n /******/\n // mode & 8|1: behave like require\n\n /******/\n\n\n __w_pdfjs_require__.t = function (value, mode) {\n /******/\n if (mode & 1) value = __w_pdfjs_require__(value);\n /******/\n\n if (mode & 8) return value;\n /******/\n\n if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value;\n /******/\n\n var ns = Object.create(null);\n /******/\n\n __w_pdfjs_require__.r(ns);\n /******/\n\n\n Object.defineProperty(ns, 'default', {\n enumerable: true,\n value: value\n });\n /******/\n\n if (mode & 2 && typeof value != 'string') for (var key in value) {\n __w_pdfjs_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n }\n /******/\n\n return ns;\n /******/\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __w_pdfjs_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __w_pdfjs_require__.p = \"\";\n /******/\n\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n /******/\n }(\n /************************************************************************/\n\n /******/\n [\n /* 0 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n });\n Object.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n });\n Object.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n });\n Object.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n });\n Object.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n });\n Object.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n });\n Object.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n });\n Object.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n });\n Object.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n });\n Object.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n });\n Object.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n });\n Object.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n });\n Object.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n });\n Object.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n });\n Object.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n });\n Object.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n });\n Object.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n });\n Object.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n });\n Object.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n });\n Object.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n });\n Object.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n });\n Object.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n });\n Object.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n });\n Object.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n });\n Object.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n });\n Object.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n });\n Object.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n });\n Object.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n });\n Object.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n });\n Object.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n });\n Object.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n });\n Object.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n });\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _api = __w_pdfjs_require__(5);\n\n var _util = __w_pdfjs_require__(2);\n\n var _annotation_layer = __w_pdfjs_require__(16);\n\n var _api_compatibility = __w_pdfjs_require__(7);\n\n var _worker_options = __w_pdfjs_require__(10);\n\n var _text_layer = __w_pdfjs_require__(17);\n\n var _svg = __w_pdfjs_require__(18);\n\n var pdfjsVersion = '2.5.207';\n var pdfjsBuild = '0974d605';\n {\n var _w_pdfjs_require__ = __w_pdfjs_require__(4),\n isNodeJS = _w_pdfjs_require__.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(19).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(22).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(23).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n }\n /***/\n },\n /* 1 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.addLinkAttributes = addLinkAttributes;\n exports.getFilenameFromUrl = getFilenameFromUrl;\n exports.isFetchSupported = isFetchSupported;\n exports.isValidFetchUrl = isValidFetchUrl;\n exports.loadScript = loadScript;\n exports.deprecated = deprecated;\n exports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\n var SVG_NS = \"http://www.w3.org/2000/svg\";\n\n var DOMCanvasFactory = /*#__PURE__*/function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var canvas = document.createElement(\"canvas\");\n var context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n }();\n\n exports.DOMCanvasFactory = DOMCanvasFactory;\n\n var DOMCMapReaderFactory = /*#__PURE__*/function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context2.next = 5;\n break;\n }\n\n throw new Error(\"CMap name must be specified.\");\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", fetch(url).then( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(response) {\n var cMapData;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (response.ok) {\n _context.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this.isCompressed) {\n _context.next = 10;\n break;\n }\n\n _context.t0 = Uint8Array;\n _context.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context.t1 = _context.sent;\n cMapData = new _context.t0(_context.t1);\n _context.next = 15;\n break;\n\n case 10:\n _context.t2 = (0, _util.stringToBytes);\n _context.next = 13;\n return response.text();\n\n case 13:\n _context.t3 = _context.sent;\n cMapData = (0, _context.t2)(_context.t3);\n\n case 15:\n return _context.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }()).catch(function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n }).catch(function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n }();\n\n exports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\n var DOMSVGFactory = /*#__PURE__*/function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n var svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n }();\n\n exports.DOMSVGFactory = DOMSVGFactory;\n\n var PageViewport = /*#__PURE__*/function () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$offsetX = _ref6.offsetX,\n offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,\n _ref6$offsetY = _ref6.offsetY,\n offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n }();\n\n exports.PageViewport = PageViewport;\n\n var RenderingCancelledException = /*#__PURE__*/function (_util$BaseException) {\n _inherits(RenderingCancelledException, _util$BaseException);\n\n var _super = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _super.call(this, msg);\n _this2.type = type;\n return _this2;\n }\n\n return RenderingCancelledException;\n }(_util.BaseException);\n\n exports.RenderingCancelledException = RenderingCancelledException;\n var LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n };\n exports.LinkTarget = LinkTarget;\n\n function addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel,\n _ref7$enabled = _ref7.enabled,\n enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\n var targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n\n function getFilenameFromUrl(url) {\n var anchor = url.indexOf(\"#\");\n var query = url.indexOf(\"?\");\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n }\n\n var StatTimer = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(name));\n }\n\n this.times.push({\n name: name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var outBuf = [];\n var longest = 0;\n\n var _iterator = _createForOfIteratorHelper(this.times),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.times),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n }();\n\n exports.StatTimer = StatTimer;\n\n function isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n }\n\n function isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref8.protocol;\n\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n }\n\n function loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n }\n\n function deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n }\n\n var pdfDateStringRegex;\n\n var PDFDateString = /*#__PURE__*/function () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || \"Z\";\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n }();\n\n exports.PDFDateString = PDFDateString;\n /***/\n },\n /* 2 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.arrayByteLength = arrayByteLength;\n exports.arraysToBytes = arraysToBytes;\n exports.assert = assert;\n exports.bytesToString = bytesToString;\n exports.createPromiseCapability = createPromiseCapability;\n exports.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isArrayEqual = isArrayEqual;\n exports.isBool = isBool;\n exports.isEmptyObj = isEmptyObj;\n exports.isNum = isNum;\n exports.isString = isString;\n exports.isSameOrigin = isSameOrigin;\n exports.createValidAbsoluteUrl = createValidAbsoluteUrl;\n exports.removeNullCharacters = removeNullCharacters;\n exports.setVerbosityLevel = setVerbosityLevel;\n exports.shadow = shadow;\n exports.string32 = string32;\n exports.stringToBytes = stringToBytes;\n exports.stringToPDFString = stringToPDFString;\n exports.stringToUTF8String = stringToUTF8String;\n exports.utf8StringToString = utf8StringToString;\n exports.warn = warn;\n exports.unreachable = unreachable;\n exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n __w_pdfjs_require__(3);\n\n var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n var PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n };\n exports.PermissionFlag = PermissionFlag;\n var TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n };\n exports.TextRenderingMode = TextRenderingMode;\n var ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n exports.ImageKind = ImageKind;\n var AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n };\n exports.AnnotationType = AnnotationType;\n var AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n };\n exports.AnnotationStateModelType = AnnotationStateModelType;\n var AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n };\n exports.AnnotationMarkedState = AnnotationMarkedState;\n var AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n };\n exports.AnnotationReviewState = AnnotationReviewState;\n var AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n };\n exports.AnnotationReplyType = AnnotationReplyType;\n var AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n };\n exports.AnnotationFlag = AnnotationFlag;\n var AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n };\n exports.AnnotationFieldFlag = AnnotationFieldFlag;\n var AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n var StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n };\n exports.StreamType = StreamType;\n var FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n };\n exports.FontType = FontType;\n var VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n };\n exports.VerbosityLevel = VerbosityLevel;\n var CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n exports.CMapCompressionType = CMapCompressionType;\n var OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n };\n exports.OPS = OPS;\n var UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\"\n };\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n var PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n exports.PasswordResponses = PasswordResponses;\n var verbosity = VerbosityLevel.WARNINGS;\n\n function setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n }\n\n function getVerbosityLevel() {\n return verbosity;\n }\n\n function info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n }\n\n function warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n }\n\n function unreachable(msg) {\n throw new Error(msg);\n }\n\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n\n function isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n }\n\n function _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n }\n\n function createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n }\n\n var BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n }();\n\n exports.BaseException = BaseException;\n\n var PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super2 = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this3;\n\n _classCallCheck(this, PasswordException);\n\n _this3 = _super2.call(this, msg);\n _this3.code = code;\n return _this3;\n }\n\n return PasswordException;\n }(BaseException);\n\n exports.PasswordException = PasswordException;\n\n var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super3 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this4;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this4 = _super3.call(this, msg);\n _this4.details = details;\n return _this4;\n }\n\n return UnknownErrorException;\n }(BaseException);\n\n exports.UnknownErrorException = UnknownErrorException;\n\n var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super4 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return InvalidPDFException;\n }(BaseException);\n\n exports.InvalidPDFException = InvalidPDFException;\n\n var MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super5 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super5.apply(this, arguments);\n }\n\n return MissingPDFException;\n }(BaseException);\n\n exports.MissingPDFException = MissingPDFException;\n\n var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super6 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this5;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this5 = _super6.call(this, msg);\n _this5.status = status;\n return _this5;\n }\n\n return UnexpectedResponseException;\n }(BaseException);\n\n exports.UnexpectedResponseException = UnexpectedResponseException;\n\n var FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super7 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super7.apply(this, arguments);\n }\n\n return FormatError;\n }(BaseException);\n\n exports.FormatError = FormatError;\n\n var AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super8 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super8.apply(this, arguments);\n }\n\n return AbortException;\n }(BaseException);\n\n exports.AbortException = AbortException;\n var NullCharactersRegExp = /\\x00/g;\n\n function removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n }\n\n function bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n }\n\n function stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n }\n\n function arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n }\n\n function arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n }\n\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n\n function isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n }\n\n var IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n };\n exports.IsLittleEndianCached = IsLittleEndianCached;\n\n function isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n }\n\n var IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n };\n exports.IsEvalSupportedCached = IsEvalSupportedCached;\n var rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\n var Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n }();\n\n exports.Util = Util;\n var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\n function stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n }\n\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n\n function isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n }\n\n function isBool(v) {\n return typeof v === \"boolean\";\n }\n\n function isNum(v) {\n return typeof v === \"number\";\n }\n\n function isString(v) {\n return typeof v === \"string\";\n }\n\n function isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n }\n\n function isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n }\n\n function createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n }\n\n var createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n }();\n\n exports.createObjectURL = createObjectURL;\n /***/\n },\n /* 3 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _is_node = __w_pdfjs_require__(4);\n\n ;\n /***/\n },\n /* 4 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isNodeJS = void 0;\n var isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !process.versions.electron;\n exports.isNodeJS = isNodeJS;\n /***/\n },\n /* 5 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getDocument = getDocument;\n exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\n exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _font_loader = __w_pdfjs_require__(6);\n\n var _api_compatibility = __w_pdfjs_require__(7);\n\n var _canvas = __w_pdfjs_require__(8);\n\n var _worker_options = __w_pdfjs_require__(10);\n\n var _is_node = __w_pdfjs_require__(4);\n\n var _message_handler = __w_pdfjs_require__(11);\n\n var _metadata = __w_pdfjs_require__(12);\n\n var _transport_stream = __w_pdfjs_require__(14);\n\n var _webgl = __w_pdfjs_require__(15);\n\n var DEFAULT_RANGE_CHUNK_SIZE = 65536;\n var RENDERING_CANCELLED_TIMEOUT = 100;\n var createPDFNetworkStream;\n\n function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n }\n\n function getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (typeof pdfBytes === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n workerId = _ref10[0],\n networkStream = _ref10[1];\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n }\n\n function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId: docId,\n apiVersion: '2.5.207',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n });\n }\n\n var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask = /*#__PURE__*/function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\" + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this6 = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this6._transport = null;\n\n if (_this6._worker) {\n _this6._worker.destroy();\n\n _this6._worker = null;\n }\n });\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n }();\n\n var PDFDataRangeTransport = /*#__PURE__*/function () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iterator3 = _createForOfIteratorHelper(this._rangeListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this7 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this7._progressListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this8 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator5 = _createForOfIteratorHelper(_this8._progressiveReadListeners),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var listener = _step5.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this9 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator6 = _createForOfIteratorHelper(_this9._progressiveDoneListeners),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var listener = _step6.value;\n listener();\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n }();\n\n exports.PDFDataRangeTransport = PDFDataRangeTransport;\n\n var PDFDocumentProxy = /*#__PURE__*/function () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n }();\n\n exports.PDFDocumentProxy = PDFDocumentProxy;\n\n var PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"pageNumber\",\n get: function get() {\n return this._pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"getViewport\",\n value: function getViewport() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref11.scale,\n _ref11$rotation = _ref11.rotation,\n rotation = _ref11$rotation === void 0 ? this.rotate : _ref11$rotation,\n _ref11$offsetX = _ref11.offsetX,\n offsetX = _ref11$offsetX === void 0 ? 0 : _ref11$offsetX,\n _ref11$offsetY = _ref11.offsetY,\n offsetY = _ref11$offsetY === void 0 ? 0 : _ref11$offsetY,\n _ref11$dontFlip = _ref11.dontFlip,\n dontFlip = _ref11$dontFlip === void 0 ? false : _ref11$dontFlip;\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$intent = _ref12.intent,\n intent = _ref12$intent === void 0 ? null : _ref12$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref13) {\n var _this10 = this;\n\n var canvasContext = _ref13.canvasContext,\n viewport = _ref13.viewport,\n _ref13$intent = _ref13.intent,\n intent = _ref13$intent === void 0 ? \"display\" : _ref13$intent,\n _ref13$enableWebGL = _ref13.enableWebGL,\n enableWebGL = _ref13$enableWebGL === void 0 ? false : _ref13$enableWebGL,\n _ref13$renderInteract = _ref13.renderInteractiveForms,\n renderInteractiveForms = _ref13$renderInteract === void 0 ? false : _ref13$renderInteract,\n _ref13$transform = _ref13.transform,\n transform = _ref13$transform === void 0 ? null : _ref13$transform,\n _ref13$imageLayer = _ref13.imageLayer,\n imageLayer = _ref13$imageLayer === void 0 ? null : _ref13$imageLayer,\n _ref13$canvasFactory = _ref13.canvasFactory,\n canvasFactory = _ref13$canvasFactory === void 0 ? null : _ref13$canvasFactory,\n _ref13$background = _ref13.background,\n background = _ref13$background === void 0 ? null : _ref13$background;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n var renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this10.cleanupAfterRender || renderingIntent === \"print\") {\n _this10.pendingCleanup = true;\n }\n\n _this10._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this10._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this10._stats) {\n _this10._stats.timeEnd(\"Rendering\");\n\n _this10._stats.timeEnd(\"Overall\");\n }\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this10.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this10._stats) {\n _this10._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = \"oplist\";\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$normalizeWhite = _ref14.normalizeWhitespace,\n normalizeWhitespace = _ref14$normalizeWhite === void 0 ? false : _ref14$normalizeWhite,\n _ref14$disableCombine = _ref14.disableCombineTextItems,\n disableCombineTextItems = _ref14$disableCombine === void 0 ? false : _ref14$disableCombine;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref15) {\n var _textContent$items;\n\n var value = _ref15.value,\n done = _ref15.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n var _this11 = this;\n\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n var intentState = _this11.intentStates[intent];\n\n _this11._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var _this12 = this;\n\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = _this12.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete _this12.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i4 = 0; _i4 < intentState.renderTasks.length; _i4++) {\n intentState.renderTasks[_i4].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this13 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n var reader = readableStream.getReader();\n var intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref16) {\n var value = _ref16.value,\n done = _ref16.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this13._transport.destroyed) {\n return;\n }\n\n _this13._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this13._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n _this13._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref17) {\n var _this14 = this;\n\n var intentState = _ref17.intentState,\n reason = _ref17.reason,\n _ref17$force = _ref17.force,\n force = _ref17$force === void 0 ? false : _ref17$force;\n (0, _util.assert)(reason instanceof Error || typeof reason === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this14._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(function (intent) {\n if (_this14.intentStates[intent] === intentState) {\n delete _this14.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n }();\n\n exports.PDFPageProxy = PDFPageProxy;\n\n var LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this15 = this;\n\n function cloneValue(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this15, {\n data: obj\n });\n });\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this15._listeners.forEach(function (listener) {\n listener.call(_this15, e);\n });\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n }();\n\n exports.LoopbackPort = LoopbackPort;\n\n var PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var nextFakeWorkerId = 0;\n var fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var mainWorkerMessageHandler, worker;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context3.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context3.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context3.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context3.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function loader() {\n return _ref18.apply(this, arguments);\n };\n }();\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$name = _ref19.name,\n name = _ref19$name === void 0 ? null : _ref19$name,\n _ref19$port = _ref19.port,\n port = _ref19$port === void 0 ? null : _ref19$port,\n _ref19$verbosity = _ref19.verbosity,\n verbosity = _ref19$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref19$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }, {\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this16 = this;\n\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this16.destroyed) {\n _this16._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this16._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this16._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this16.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this16._messageHandler = messageHandler;\n _this16._port = worker;\n _this16._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this16.postMessageTransfers = false;\n }\n\n _this16._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this16.verbosity\n });\n } else {\n _this16._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this16.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this16._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this16.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this17 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this17.destroyed) {\n _this17._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this17._port = port;\n var id = \"fake\" + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n _this17._messageHandler = messageHandler;\n\n _this17._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this17.verbosity\n });\n }).catch(function (reason) {\n _this17._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n }();\n\n exports.PDFWorker = PDFWorker;\n\n var WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this18 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this18.fontLoader.clear();\n\n if (_this18._networkStream) {\n _this18._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this18.messageHandler) {\n _this18.messageHandler.destroy();\n\n _this18.messageHandler = null;\n }\n\n _this18.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this19 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this19._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this19._fullReader = _this19._networkStream.getFullReader();\n\n _this19._fullReader.onProgress = function (evt) {\n _this19._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this19._fullReader.read().then(function (_ref20) {\n var value = _ref20.value,\n done = _ref20.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this19._fullReader.cancel(reason);\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this19._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this19._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this19._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", function (data, sink) {\n (0, _util.assert)(_this19._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this19._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref21) {\n var value = _ref21.value,\n done = _ref21.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref22) {\n var pdfInfo = _ref22.pdfInfo;\n _this19._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this19));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this19._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this19._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this19._passwordCapability.reject(ex);\n }\n } else {\n _this19._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this19._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this19.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this19.destroyed) {\n return;\n }\n\n var page = _this19.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n if (_this19.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (_this19.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this19._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this19.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _this19._onUnsupportedFeature.bind(_this19),\n fontRegistry: fontRegistry\n });\n\n _this19.fontLoader.bind(font).catch(function (reason) {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n });\n }).finally(function () {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n _this19.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"FontType3Res\":\n case \"Image\":\n _this19.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", function (data) {\n if (_this19.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = _this19.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_this19.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", function (data, sink) {\n if (_this19.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this19.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref23) {\n var featureId = _ref23.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this20 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this20.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this20, _this20._params.pdfBug);\n _this20.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this21 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this21._fullReader ? _this21._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this22 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this22.pageCache.length; i < ii; i++) {\n var page = _this22.pageCache[i];\n\n if (page) {\n var cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\n }\n }\n\n _this22.commonObjs.clear();\n\n _this22.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace\n });\n }\n }]);\n\n return WorkerTransport;\n }();\n\n var PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n }();\n\n var RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }]);\n\n return RenderTask;\n }();\n\n var InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref24) {\n var callback = _ref24.callback,\n params = _ref24.params,\n objs = _ref24.objs,\n commonObjs = _ref24.commonObjs,\n operatorList = _ref24.operatorList,\n pageIndex = _ref24.pageIndex,\n canvasFactory = _ref24.canvasFactory,\n webGLContext = _ref24.webGLContext,\n _ref24$useRequestAnim = _ref24.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref24$useRequestAnim === void 0 ? false : _ref24$useRequestAnim,\n _ref24$pdfBug = _ref24.pdfBug,\n pdfBug = _ref24$pdfBug === void 0 ? false : _ref24$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this23 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this23._nextBound().catch(_this23.cancel.bind(_this23));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!this.cancelled) {\n _context4.next = 2;\n break;\n }\n\n return _context4.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n }();\n\n var version = '2.5.207';\n exports.version = version;\n var build = '0974d605';\n exports.build = build;\n /***/\n },\n /* 6 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontLoader = exports.FontFaceObject = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref25) {\n var docId = _ref25.docId,\n onUnsupportedFeature = _ref25.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(font) {\n var _this24 = this;\n\n var nativeFontFace, rule;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context5.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context5.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context5.prev = 7;\n _context5.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context5.next = 18;\n break;\n\n case 12:\n _context5.prev = 12;\n _context5.t0 = _context5[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context5.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context5.t0;\n\n case 18:\n return _context5.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context5.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context5.next = 24;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 24:\n _context5.next = 26;\n return new Promise(function (resolve) {\n var request = _this24._queueLoadingCallback(resolve);\n\n _this24._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this, [[7, 12]]);\n }));\n\n function bind(_x4) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== \"undefined\" && !!document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }]);\n\n return BaseFontLoader;\n }();\n\n var FontLoader;\n exports.FontLoader = FontLoader;\n {\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super9 = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(docId) {\n var _this25;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this25 = _super9.call(this, docId);\n _this25.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this25.loadTestFontId = 0;\n return _this25;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n var canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext(\"2d\");\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n var div = document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n }\n\n var FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref26) {\n var _ref26$isEvalSupporte = _ref26.isEvalSupported,\n isEvalSupported = _ref26$isEvalSupporte === void 0 ? true : _ref26$isEvalSupporte,\n _ref26$disableFontFac = _ref26.disableFontFace,\n disableFontFace = _ref26$disableFontFac === void 0 ? false : _ref26$disableFontFac,\n _ref26$ignoreErrors = _ref26.ignoreErrors,\n ignoreErrors = _ref26$ignoreErrors === void 0 ? false : _ref26$ignoreErrors,\n _ref26$onUnsupportedF = _ref26.onUnsupportedFeature,\n onUnsupportedFeature = _ref26$onUnsupportedF === void 0 ? null : _ref26$onUnsupportedF,\n _ref26$fontRegistry = _ref26.fontRegistry,\n fontRegistry = _ref26$fontRegistry === void 0 ? null : _ref26$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n var args,\n js = \"\";\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i5 = 0, _ii = cmds.length; _i5 < _ii; _i5++) {\n current = cmds[_i5];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n }();\n\n exports.FontFaceObject = FontFaceObject;\n /***/\n },\n /* 7 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.apiCompatibilityParams = void 0;\n\n var _is_node = __w_pdfjs_require__(4);\n\n var compatibilityParams = Object.create(null);\n {\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n }\n var apiCompatibilityParams = Object.freeze(compatibilityParams);\n exports.apiCompatibilityParams = apiCompatibilityParams;\n /***/\n },\n /* 8 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CanvasGraphics = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _pattern_helper = __w_pdfjs_require__(9);\n\n var MIN_FONT_SIZE = 16;\n var MAX_FONT_SIZE = 100;\n var MAX_GROUP_SIZE = 4096;\n var MIN_WIDTH_FACTOR = 0.65;\n var COMPILE_TYPE3_GLYPHS = true;\n var MAX_SIZE_TO_COMPILE = 1000;\n var FULL_CHUNK_HEIGHT = 16;\n\n function addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n }\n\n var CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n }();\n\n function compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n }\n\n var CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n }();\n\n var CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref27) {\n var transform = _ref27.transform,\n viewport = _ref27.viewport,\n _ref27$transparency = _ref27.transparency,\n transparency = _ref27$transparency === void 0 ? false : _ref27$transparency,\n _ref27$background = _ref27.background,\n background = _ref27$background === void 0 ? null : _ref27$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator7 = _createForOfIteratorHelper(argsArray[i]),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var depObjId = _step7.value;\n var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this26 = this;\n\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this26.commonObjs, _this26.objs, _this26.canvasFactory, _this26.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)(\"Unsupported 'paintXObject' command.\");\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n }();\n\n exports.CanvasGraphics = CanvasGraphics;\n /***/\n },\n /* 9 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getShadingPatternFromIR = getShadingPatternFromIR;\n exports.TilingPattern = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var ShadingIRs = {};\n\n function applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n }\n\n ShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n };\n\n var createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else if (y1 === y2) {\n _k = 1;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * _k;\n car = c1r - (c1r - c2r) * _k;\n cag = c1g - (c1g - c2g) * _k;\n cab = c1b - (c1b - c2b) * _k;\n } else {\n var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n }();\n\n ShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n };\n ShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n };\n\n function getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n }\n\n var TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n }();\n\n exports.TilingPattern = TilingPattern;\n /***/\n },\n /* 10 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.GlobalWorkerOptions = void 0;\n var GlobalWorkerOptions = Object.create(null);\n exports.GlobalWorkerOptions = GlobalWorkerOptions;\n GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\n GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n /***/\n },\n /* 11 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MessageHandler = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n };\n var StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n };\n\n function wrapReason(reason) {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n }\n\n var MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this27 = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this27.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this27._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this27.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this27.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this27.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this27.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this27._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this28 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this28._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId].cancelCall = cancelCapability;\n _this28.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(streamId) {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _deleteStreamController(_x5) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n }();\n\n exports.MessageHandler = MessageHandler;\n /***/\n },\n /* 12 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Metadata = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _xml_parser = __w_pdfjs_require__(13);\n\n var Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = \"\";\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n var obj = Object.create(null);\n\n var _iterator8 = _createForOfIteratorHelper(this._metadataMap),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _slicedToArray(_step8.value, 2),\n key = _step8$value[0],\n value = _step8$value[1];\n\n obj[key] = value;\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return obj;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n }();\n\n exports.Metadata = Metadata;\n /***/\n },\n /* 13 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SimpleXMLParser = void 0;\n var XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n };\n\n function isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n }\n\n function isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n }\n\n var XMLParserBase = /*#__PURE__*/function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this29 = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return _this29.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var attributes = [];\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n var attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n var value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === \"<\") {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n var q2 = s.indexOf(\"[\", j + 8);\n var complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n }();\n\n var SimpleDOMNode = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n }, {\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }]);\n\n return SimpleDOMNode;\n }();\n\n var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super10 = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this30;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this30 = _super10.call(this);\n _this30._currentFragment = null;\n _this30._stack = null;\n _this30._errorCode = XMLParserErrorCode.NoError;\n return _this30;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n }(XMLParserBase);\n\n exports.SimpleXMLParser = SimpleXMLParser;\n /***/\n },\n /* 14 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFDataTransportStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this31 = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this31._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this31._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this31._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this31._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }]);\n\n return PDFDataTransportStream;\n }();\n\n exports.PDFDataTransportStream = PDFDataTransportStream;\n\n var PDFDataTransportStreamReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n var _iterator9 = _createForOfIteratorHelper(this._queuedChunks),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var chunk = _step9.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context7.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context7.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context7.next = 5;\n break;\n }\n\n return _context7.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context7.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n }();\n\n var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (!this._queuedChunk) {\n _context8.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context8.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context8.next = 6;\n break;\n }\n\n return _context8.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context8.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n }();\n /***/\n\n },\n /* 15 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.WebGLContext = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref28) {\n var _ref28$enable = _ref28.enable,\n enable = _ref28$enable === void 0 ? false : _ref28$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n }, {\n key: \"composeSMask\",\n value: function composeSMask(_ref29) {\n var layer = _ref29.layer,\n mask = _ref29.mask,\n properties = _ref29.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref30) {\n var width = _ref30.width,\n height = _ref30.height,\n backgroundColor = _ref30.backgroundColor,\n figures = _ref30.figures,\n context = _ref30.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }]);\n\n return WebGLContext;\n }();\n\n exports.WebGLContext = WebGLContext;\n\n var WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n }();\n /***/\n\n },\n /* 16 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AnnotationLayer = void 0;\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _util = __w_pdfjs_require__(2);\n\n var AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n }();\n\n var AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }]);\n\n return AnnotationElement;\n }();\n\n var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super11 = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super11.call(this, parameters, isRenderable);\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"linkAnnotation\";\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this32 = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this32.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this33 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this33.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n }(AnnotationElement);\n\n var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super12 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.call(this, parameters, isRenderable);\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n }(AnnotationElement);\n\n var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super13 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super13.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n }(AnnotationElement);\n\n var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super14 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super14.call(this, parameters, isRenderable);\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n var fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super15 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super15.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super16 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super16.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"radio\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super17 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super17.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n }(LinkAnnotationElement);\n\n var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super18 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super18.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"choiceWidgetAnnotation\";\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iterator10 = _createForOfIteratorHelper(this.data.options),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var option = _step10.value;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super19 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super19.call(this, parameters, isRenderable);\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n }(AnnotationElement);\n\n var PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement(\"p\");\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n }();\n\n var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super20 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.call(this, parameters, isRenderable, true);\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n }(AnnotationElement);\n\n var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super21 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.call(this, parameters, isRenderable, true);\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n }(AnnotationElement);\n\n var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super22 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n }(AnnotationElement);\n\n var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super23 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super23.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n }(AnnotationElement);\n\n var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super24 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this34;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this34 = _super24.call(this, parameters, isRenderable, true);\n _this34.containerClassName = \"polylineAnnotation\";\n _this34.svgElementName = \"svg:polyline\";\n return _this34;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n\n var _iterator11 = _createForOfIteratorHelper(data.vertices),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var coordinate = _step11.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n }(AnnotationElement);\n\n var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super25 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this35;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this35 = _super25.call(this, parameters);\n _this35.containerClassName = \"polygonAnnotation\";\n _this35.svgElementName = \"svg:polygon\";\n return _this35;\n }\n\n return PolygonAnnotationElement;\n }(PolylineAnnotationElement);\n\n var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super26 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super26.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n }(AnnotationElement);\n\n var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super27 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this36;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this36 = _super27.call(this, parameters, isRenderable, true);\n _this36.containerClassName = \"inkAnnotation\";\n _this36.svgElementName = \"svg:polyline\";\n return _this36;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n\n var _iterator12 = _createForOfIteratorHelper(data.inkLists),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var inkList = _step12.value;\n var points = [];\n\n var _iterator13 = _createForOfIteratorHelper(inkList),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var coordinate = _step13.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n }(AnnotationElement);\n\n var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super28 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super28.call(this, parameters, isRenderable, true);\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n }(AnnotationElement);\n\n var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super29 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super29.call(this, parameters, isRenderable, true);\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n }(AnnotationElement);\n\n var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super30 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super30.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n }(AnnotationElement);\n\n var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super31 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super31.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n }(AnnotationElement);\n\n var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super32 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super32.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n }(AnnotationElement);\n\n var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super33 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this37;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this37 = _super33.call(this, parameters, true);\n var _this37$data$file = _this37.data.file,\n filename = _this37$data$file.filename,\n content = _this37$data$file.content;\n _this37.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this37.content = content;\n\n if (_this37.linkService.eventBus) {\n _this37.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this37),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this37;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"fileAttachmentAnnotation\";\n var trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n }(AnnotationElement);\n\n var AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator14 = _createForOfIteratorHelper(parameters.annotations),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var _data3 = _step14.value;\n\n if (!_data3) {\n continue;\n }\n\n if (_data3.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data3);\n continue;\n }\n\n sortedAnnotations.push(_data3);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i6 = 0, _sortedAnnotations = sortedAnnotations; _i6 < _sortedAnnotations.length; _i6++) {\n var data = _sortedAnnotations[_i6];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator15 = _createForOfIteratorHelper(parameters.annotations),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var data = _step15.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n }();\n\n exports.AnnotationLayer = AnnotationLayer;\n /***/\n },\n /* 17 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.renderTextLayer = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n });\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref31) {\n var _this38 = this;\n\n var textContent = _ref31.textContent,\n textContentStream = _ref31.textContentStream,\n container = _ref31.container,\n viewport = _ref31.viewport,\n textDivs = _ref31.textDivs,\n textContentItemsStr = _ref31.textContentItemsStr,\n enhanceTextSelection = _ref31.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise.finally(function () {\n if (_this38._layoutTextCtx) {\n _this38._layoutTextCtx.canvas.width = 0;\n _this38._layoutTextCtx.canvas.height = 0;\n _this38._layoutTextCtx = null;\n }\n }).catch(function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this39 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement(\"canvas\");\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this39._reader.read().then(function (_ref32) {\n var value = _ref32.value,\n done = _ref32.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this39._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this39);\n } else {\n _this39._renderTimer = setTimeout(function () {\n render(_this39);\n _this39._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n }();\n\n exports.renderTextLayer = renderTextLayer;\n /***/\n },\n /* 18 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SVGGraphics = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _is_node = __w_pdfjs_require__(4);\n\n var SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n };\n\n exports.SVGGraphics = SVGGraphics;\n {\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator16 = _createForOfIteratorHelper(opList),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var opListElement = _step16.value;\n\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i7 = start; _i7 < end; _i7++) {\n var a = (crc ^ data[_i7]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i8 = start; _i8 < end; ++_i8) {\n a = (a + (data[_i8] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n var output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xffff;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i9 = 0; _i9 < lineSize; _i9++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = /*#__PURE__*/function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this40 = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iterator17 = _createForOfIteratorHelper(argsArray[i]),\n _step17;\n\n try {\n var _loop = function _loop() {\n var obj = _step17.value;\n var objsPool = obj.startsWith(\"g_\") ? _this40.commonObjs : _this40.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this40.current.dependencies.push(promise);\n };\n\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this41 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this41.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this41.executeOpTree(_this41.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n fnId: fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iterator18 = _createForOfIteratorHelper(opTree),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var opTreeElement = _step18.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator19 = _createForOfIteratorHelper(glyphs),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var glyph = _step19.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _util$Util$applyTrans = _util.Util.applyTransform([x0, y0], matrix),\n _util$Util$applyTrans2 = _slicedToArray(_util$Util$applyTrans, 2),\n tx0 = _util$Util$applyTrans2[0],\n ty0 = _util$Util$applyTrans2[1];\n\n var _util$Util$applyTrans3 = _util.Util.applyTransform([x1, y1], matrix),\n _util$Util$applyTrans4 = _slicedToArray(_util$Util$applyTrans3, 2),\n tx1 = _util$Util$applyTrans4[0],\n ty1 = _util$Util$applyTrans4[1];\n\n var _util$Util$singularVa = _util.Util.singularValueDecompose2dScale(matrix),\n _util$Util$singularVa2 = _slicedToArray(_util$Util$singularVa, 2),\n xscale = _util$Util$singularVa2[0],\n yscale = _util$Util$singularVa2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var _util$Util;\n\n var cssColor = (_util$Util = _util.Util).makeCssRgb.apply(_util$Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator20 = _createForOfIteratorHelper(colorStops),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var colorStop = _step20.value;\n var stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n\n var _iterator21 = _createForOfIteratorHelper(ops),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var op = _step21.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iterator22 = _createForOfIteratorHelper(states),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var _step22$value = _slicedToArray(_step22.value, 2),\n key = _step22$value[0],\n value = _step22$value[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n var imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n }\n /***/\n },\n /* 19 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNodeStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n ;\n\n var fs = require(\"fs\");\n\n var http = require(\"http\");\n\n var https = require(\"https\");\n\n var url = require(\"url\");\n\n var fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\n function parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n }\n\n var PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n }();\n\n exports.PDFNodeStream = PDFNodeStream;\n\n var BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {\n var chunk, buffer;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context9.next = 4;\n break;\n }\n\n return _context9.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context9.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context9.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context9.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context9.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function read() {\n return _read3.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this42 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this42._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this42._done = true;\n\n _this42._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this42._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseFullReader;\n }();\n\n var BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {\n var chunk, buffer;\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context10.next = 4;\n break;\n }\n\n return _context10.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context10.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context10.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context10.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context10.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function read() {\n return _read4.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this43 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this43._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this43._done = true;\n\n _this43._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this43._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseRangeReader;\n }();\n\n function createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers: headers\n };\n }\n\n var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super34 = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this44;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this44 = _super34.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this44._url, \"\\\".\"));\n _this44._storedError = error;\n\n _this44._headersCapability.reject(error);\n\n return;\n }\n\n _this44._headersCapability.resolve();\n\n _this44._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this44._readableStream.headers[name.toLowerCase()];\n };\n\n var _ref33 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this44._rangeChunkSize,\n disableRange: _this44._disableRange\n }),\n allowRangeRequests = _ref33.allowRangeRequests,\n suggestedLength = _ref33.suggestedLength;\n\n _this44._isRangeSupported = allowRangeRequests;\n _this44._contentLength = suggestedLength || _this44._contentLength;\n _this44._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this44._request = null;\n\n if (_this44._url.protocol === \"http:\") {\n _this44._request = http.request(createRequestOptions(_this44._url, stream.httpHeaders), handleResponse);\n } else {\n _this44._request = https.request(createRequestOptions(_this44._url, stream.httpHeaders), handleResponse);\n }\n\n _this44._request.on(\"error\", function (reason) {\n _this44._storedError = reason;\n\n _this44._headersCapability.reject(reason);\n });\n\n _this44._request.end();\n\n return _this44;\n }\n\n return PDFNodeStreamFullReader;\n }(BaseFullReader);\n\n var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super35 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this45;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this45 = _super35.call(this, stream);\n _this45._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n _this45._httpHeaders[property] = value;\n }\n\n _this45._httpHeaders.Range = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this45._url, \"\\\".\"));\n _this45._storedError = error;\n return;\n }\n\n _this45._setReadableStream(response);\n };\n\n _this45._request = null;\n\n if (_this45._url.protocol === \"http:\") {\n _this45._request = http.request(createRequestOptions(_this45._url, _this45._httpHeaders), handleResponse);\n } else {\n _this45._request = https.request(createRequestOptions(_this45._url, _this45._httpHeaders), handleResponse);\n }\n\n _this45._request.on(\"error\", function (reason) {\n _this45._storedError = reason;\n });\n\n _this45._request.end();\n\n return _this45;\n }\n\n return PDFNodeStreamRangeReader;\n }(BaseRangeReader);\n\n var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super36 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this46;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this46 = _super36.call(this, stream);\n var path = decodeURIComponent(_this46._url.path);\n\n if (fileUriRegex.test(_this46._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this46._storedError = error;\n\n _this46._headersCapability.reject(error);\n\n return;\n }\n\n _this46._contentLength = stat.size;\n\n _this46._setReadableStream(fs.createReadStream(path));\n\n _this46._headersCapability.resolve();\n });\n return _this46;\n }\n\n return PDFNodeStreamFsFullReader;\n }(BaseFullReader);\n\n var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super37 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this47;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this47 = _super37.call(this, stream);\n var path = decodeURIComponent(_this47._url.path);\n\n if (fileUriRegex.test(_this47._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this47._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this47;\n }\n\n return PDFNodeStreamFsRangeReader;\n }(BaseRangeReader);\n /***/\n\n },\n /* 20 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.createResponseStatusError = createResponseStatusError;\n exports.extractFilenameFromHeader = extractFilenameFromHeader;\n exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\n exports.validateResponseStatus = validateResponseStatus;\n\n var _util = __w_pdfjs_require__(2);\n\n var _content_disposition = __w_pdfjs_require__(21);\n\n function validateRangeRequestCapabilities(_ref34) {\n var getResponseHeader = _ref34.getResponseHeader,\n isHttp = _ref34.isHttp,\n rangeChunkSize = _ref34.rangeChunkSize,\n disableRange = _ref34.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n }\n\n function extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n }\n\n function createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n }\n\n function validateResponseStatus(status) {\n return status === 200 || status === 206;\n }\n /***/\n\n },\n /* 21 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\n function getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var _n = 0; _n < matches.length; ++_n) {\n if (!(_n in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n }\n /***/\n\n },\n /* 22 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNetworkStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n ;\n var OK_RESPONSE = 200;\n var PARTIAL_CONTENT_RESPONSE = 206;\n\n function getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n }\n\n var NetworkManager = /*#__PURE__*/function () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n }();\n\n var PDFNetworkStream = /*#__PURE__*/function () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n }();\n\n exports.PDFNetworkStream = PDFNetworkStream;\n\n var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _ref35 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _ref35.allowRangeRequests,\n suggestedLength = _ref35.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (!this._storedError) {\n _context11.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context11.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context11.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context11.next = 7;\n break;\n }\n\n return _context11.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context11.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function read() {\n return _read5.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n }();\n\n var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context12.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context12.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context12.next = 6;\n break;\n }\n\n return _context12.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context12.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function read() {\n return _read6.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n }();\n /***/\n\n },\n /* 23 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFFetchStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n ;\n\n function createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n }\n\n function createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n }\n\n var PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFFetchStream;\n }();\n\n exports.PDFFetchStream = PDFFetchStream;\n\n var PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this48 = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this48._reader = response.body.getReader();\n\n _this48._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _ref36 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this48._stream.isHttp,\n rangeChunkSize: _this48._rangeChunkSize,\n disableRange: _this48._disableRange\n }),\n allowRangeRequests = _ref36.allowRangeRequests,\n suggestedLength = _ref36.suggestedLength;\n\n _this48._isRangeSupported = allowRangeRequests;\n _this48._contentLength = suggestedLength || _this48._contentLength;\n _this48._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this48._isStreamingSupported && _this48._isRangeSupported) {\n _this48.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n _context13.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context13.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context13.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context13.next = 9;\n break;\n }\n\n return _context13.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context13.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function read() {\n return _read7.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }]);\n\n return PDFFetchStreamReader;\n }();\n\n var PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this49 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this49._readCapability.resolve();\n\n _this49._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _context14.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context14.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r2 = _context14.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context14.next = 9;\n break;\n }\n\n return _context14.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context14.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function read() {\n return _read8.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n }();\n /***/\n\n }\n /******/\n ])\n );\n});"],"sourceRoot":""}