{"version":3,"sources":["webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/pdfjs-dist-sig/es5/build/pdf.worker.js","webpack:///./node_modules/pdfjs-dist-sig/es5/web/pdf_viewer.js","webpack:///./node_modules/vue3-pdf/src/annotationLayer.css?5228","webpack:///./node_modules/vue3-resize-sensor/src/resize-sensor.vue?2e4a","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/vue3-pdf/src/pdfjsWrapper.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/vue3-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/vue3-resize-sensor/src/resize-sensor.vue?310e","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./node_modules/vue3-pdf/src/componentFactory.js","webpack:///./node_modules/vue3-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue3-pdf/src/vuePdfNoSss.vue?dcb2","webpack:///./node_modules/pdfjs-dist-sig/es5/build/pdf.js","webpack:///./node_modules/isarray/index.js"],"names":["exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","module","Worker","root","factory","this","modules","installedModules","__w_pdfjs_require__","moduleId","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_annotation_layer_builder","AnnotationLayerBuilder","DefaultAnnotationLayerFactory","_text_layer_builder","DefaultTextLayerFactory","TextLayerBuilder","_ui_utils","EventBus","NullL10n","ProgressBar","_pdf_link_service","PDFLinkService","SimpleLinkService","_download_manager","DownloadManager","_genericl10n","GenericL10n","_pdf_find_controller","PDFFindController","_pdf_history","PDFHistory","_pdf_page_view","PDFPageView","_pdf_single_page_viewer","PDFSinglePageViewer","_pdf_viewer","PDFViewer","_pdfjsLib","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","configurable","writable","_createClass","protoProps","staticProps","_ref","pageDiv","pdfPage","linkService","downloadManager","_ref$annotationStorag","annotationStorage","_ref$imageResourcesPa","imageResourcesPath","_ref$renderInteractiv","renderInteractiveForms","_ref$l10n","l10n","div","_cancelled","viewport","_this","intent","arguments","undefined","getAnnotations","then","annotations","parameters","clone","dontFlip","page","AnnotationLayer","update","document","createElement","className","appendChild","render","translate","setAttribute","pdfjsLib","window","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","clamp","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDirection","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","WaitOnType","animationStarted","SpreadMode","ScrollMode","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","CSS_UNITS","AutoPrintRegExp","_regenerator","_interopRequireDefault","obj","_typeof","iterator","constructor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","from","test","arr2","_arr","_n","_d","_e","_s","_i","next","done","err","isArray","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","_asyncToGenerator","fn","self","args","apply","UNKNOWN","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","NONE","ODD","EVEN","formatL10nValue","text","replace","all","getLanguage","mark","_callee","wrap","_context","prev","abrupt","stop","getDirection","_callee2","_context2","fallback","_callee3","_context3","element","_callee4","_context4","ctx","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","sx","sy","scaled","spot","skipOverflowHiddenElements","parent","offsetParent","offsetY","offsetTop","clientTop","offsetX","offsetLeft","clientLeft","clientHeight","scrollHeight","clientWidth","scrollWidth","getComputedStyle","overflow","dataset","_scaleY","_scaleX","top","left","scrollLeft","scrollTop","console","viewAreaElement","callback","debounceScroll","evt","rAF","requestAnimationFrame","currentX","lastX","state","right","currentY","lastY","down","_eventHandler","addEventListener","query","split","params","ii","param","toLowerCase","decodeURIComponent","items","condition","minIndex","maxIndex","currentIndex","currentItem","x","Math","floor","xinv","limit","result","x_","a","b","q","round","view","userUnit","rotate","_view","x1","y1","x2","y2","changeOrientation","width","height","index","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","bottom","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","visible","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","max","hiddenWidth","percent","id","y","first","last","sort","pc","abs","preventDefault","isDataSchema","url","trim","substring","defaultFilename","warn","reURI","reFilename","splitURI","exec","suggestedFilename","includes","ex","delta","sqrt","deltaX","deltaY","angle","atan2","PI","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","Number","isInteger","values","size","EVENT","TIMEOUT","_ref2","_ref2$delay","delay","handler","type","_off","eventHandler","removeEventListener","timeout","clearTimeout","_on","timeoutHandler","setTimeout","options","_listeners","eventName","listener","external","eventListeners","externalListeners","forEach","_ref3","splice","v","min","_ref4","units","querySelector","bar","parentNode","style","_indeterminate","classList","add","remove","progressSize","_percent","viewer","container","scrollbarWidth","offsetWidth","concat","body","set","val","isNaN","_updateBar","moved","write","read","_read","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","method","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","eventBus","_ref$externalLinkTarg","externalLinkTarget","_ref$externalLinkRel","externalLinkRel","_ref$externalLinkEnab","externalLinkEnabled","_ref$ignoreDestinatio","ignoreDestinationZoom","_ignoreDestinationZoom","baseUrl","pdfDocument","pdfViewer","pdfHistory","_pagesRefCache","dest","goToDestination","pageNumber","namedDest","explicitDest","destRef","_cachedPageNumber","getPageIndex","pageIndex","cachePageRef","pagesCount","pushCurrentPosition","scrollPageIntoView","destArray","getDestination","data","getAnchorUrl","escape","str","JSON","stringify","anchor","hash","dispatch","source","search","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","parseFloat","allowNegativeOffset","pagemode","navigateTo","nameddest","unescape","parse","isValidExplicitDestination","action","back","forward","pageNum","pageRef","refStr","isPageVisible","numPages","currentPageNumber","pagesRotation","destLength","allowNull","EXPAND_DIVS_TIMEOUT","textLayerDiv","_ref$findController","findController","_ref$enhanceTextSelec","enhanceTextSelection","textContent","textContentItemsStr","textContentStream","renderingDone","pageIdx","matches","textDivs","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","cancel","textLayerFrag","createDocumentFragment","renderTextLayer","promise","_finishRendering","_updateMatches","reason","readableStream","matchesLength","iIndex","queryLen","mm","matchIdx","match","begin","divIdx","offset","isSelectedPage","selected","selectedMatchIdx","highlightAll","prevEnd","infinity","i0","i1","isSelected","highlightSuffix","scrollMatchIntoView","matchIndex","appendTextToDiv","beginText","n0","n1","fromOffset","toOffset","content","node","createTextNode","span","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","_convertMatches","_renderMatches","_this2","expandDivsTimer","expandTextDivs","adjustTop","getPropertyValue","divBounds","getBoundingClientRect","pageY","toFixed","_viewer_compatibility","_download","blobUrl","filename","click","href","download","documentElement","createValidAbsoluteUrl","contentType","navigator","msSaveBlob","Blob","createObjectURL","viewerCompatibilityParams","disableCreateObjectURL","blob","downloadUrl","URL","compatibilityParams","userAgent","platform","maxTouchPoints","isAndroid","isIE","isIOS","isIOSChrome","maxCanvasPixels","freeze","webL10n","lang","_lang","_ready","setLanguage","_getLanguage","_getDirection","_get","_x","_x2","_x3","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","querySelectorAll","getL10nDictionary","script","innerHTML","getTranslatableChildren","getL10nAttributes","l10nId","getAttribute","l10nArgs","e","xhrLoadText","onSuccess","onFailure","xhr","XMLHttpRequest","open","overrideMimeType","onreadystatechange","readyState","status","responseText","onerror","ontimeout","send","parseResource","successCallback","failureCallback","baseURL","evalString","lastIndexOf","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","entries","currentLang","genericLang","skipLang","nextEntry","line","shift","loadImport","response","prop","loadLocale","clear","langLinks","langCount","onResourceLoaded","gResourceCount","resource","L10nResourceLink","load","dict","locales","default_locale","log","defaultLocale","anyCaseLang","link","getPluralRules","locales2rules","isIn","list","isBetween","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","translateElement","getChildElementCount","childNodes","found","nodeType","nodeValue","textNode","insertBefore","firstChild","k","childElementCount","count","translateFragment","elementCount","plural","_pluralRules","fallbackString","getData","getText","rtlList","shortCode","getReadyState","ready","once","FindState","_pdf_find_utils","FOUND","NOT_FOUND","PENDING","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","normalize","RegExp","ch","_linkService","_eventBus","_reset","_onFindBarClose","_pdfDocument","_firstPageCapability","cmd","_state","_shouldDirtyMatch","_dirtyMatch","_updateUIState","_extractText","findbarClosed","_highlightMatches","pendingTimeout","_findTimeout","_nextMatch","_updateAllPages","_ref2$element","_ref2$pageIndex","_ref2$matchIndex","_scrollMatches","_selected","_pageMatches","_pageMatchesLength","_offset","wrapped","_extractTextPromises","_pageContents","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","createPromiseCapability","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","startIdx","getCharacterType","endIdx","_limit","pageContent","entireWord","_isEntireWord","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","caseSensitive","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","_loop","extractTextCapability","getPage","getTextContent","normalizeWhitespace","textItems","strBuf","j","jj","_this3","previous","findPrevious","currentPageIndex","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","previousPage","_this4","_this$_selected","current","total","matchesCount","_requestMatchesCount","rawQuery","_rawQuery","_normalizedQuery","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","isDestHashesEqual","isDestArraysEqual","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","location","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","active","switchInProgress","_isPagesLoaded","onPagesLoaded","fingerprint","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","history","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","rotation","_pushOrReplaceState","destination","_updateInternalState","uid","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_tryPushCurrentPosition","newUrl","shouldReplace","newState","startsWith","replaceState","pushState","temporary","position","assign","checkReload","_performance$getEntri","performance","getEntriesByType","_performance$getEntri2","perfEntry","removeTemporary","checkNameddest","pdfOpenParams","_ref5","newHash","hashChanged","setHash","_this$_parseCurrentHa2","updateViewarea","_updateViewarea","popState","_popState","pageHide","destHash","pushHash","_parseQueryString","firstDest","secondDest","isEntryEqual","second","_pdf_rendering_queue","MAX_CANVAS_PIXELS","defaultViewport","renderingId","pageLabel","scale","pdfPageRotate","_annotationStorage","_optionalContentConfigPromise","optionalContentConfigPromise","hasRestrictedScaling","textLayerMode","useOnlyCssZoom","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","enableWebGL","paintTask","paintedViewportMap","WeakMap","renderingState","RenderingStates","INITIAL","resume","annotationLayer","textLayer","zoomLayer","totalRotation","getViewport","stats","cleanup","_renderAnnotationLayer2","t0","_renderAnnotationLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","removeChild","removeAttribute","hide","canvas","_resetZoomLayer","svg","loadingIconDiv","cssTransform","timestamp","now","isScalingRestricted","outputScale","hasAttribute","redrawAnnotations","relativeRotation","absRotation","scaleX","scaleY","transform","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","transformOrigin","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","RenderingCancelledException","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","streamTextContent","setTextContentStream","createAnnotationLayerBuilder","renderCapability","renderTask","msg","isCanvasHidden","showCanvas","mozOpaque","getContext","alpha","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","canvasContext","onContinue","wrapper","cancelled","ensureNotCancelled","getOperatorList","opList","svgGfx","SVGGraphics","commonObjs","objs","getSVG","label","PDFRenderingQueue","CLEANUP_TIMEOUT","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","currentlyVisiblePages","forceRendering","scrolledDown","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","draw","renderHighestPriority","_base_viewer","receiver","Reflect","base","_superPropBase","desc","getOwnPropertyDescriptor","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","NewTarget","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Date","_BaseViewer","_super","_ensurePageViewVisible","_previousPageNumber","_shadowViewer","_updateScrollDown","pageView","_pages","_currentPageNumber","previousPageView","viewerNodes","_ref$pageSpot","pageSpot","_ref$pageNumber","_setCurrentPageNumber","scroll","_getCurrentVisiblePage","visiblePages","shadow","BaseViewer","_createForOfIteratorHelper","allowArrayLike","it","F","f","normalCompletion","didErr","step","_e2","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","destroy","resize","newSize","pagesToKeep","pageIdsToKeep","Set","iMax","has","isSameScale","oldScale","newScale","_name","firstElementChild","HTMLDivElement","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","setViewer","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","_pageLabels","_getVisiblePages","_onePageRenderedCapability","_cancelRendering","setDocument","firstPagePromise","getOptionalContentConfig","_pagesCapability","_buffer","settled","firstPdfPage","currentScale","_viewerElement","firstPageView","setPdfPage","ref","_spreadMode","_updateSpreadMode","_onePageRenderedOrForceFetch","loadingParams","disableAutoFetch","getPagesLeft","_pageNum","labels","setPageLabel","_currentScale","_currentScaleValue","_location","_pagesRotation","_pagesRequests","_scrollMode","_updateScrollMode","newValue","noScroll","preset","presetValue","isInPresentationMode","isChangingPresentationMode","_setScaleUpdatePages","currentPage","noPadding","hPadding","vPadding","_isScrollModeHorizontal","pageWidthScale","pageHeightScale","horizontalScale","_setScale","_scrollIntoView","_ref3$destArray","_ref3$allowNegativeOf","_ref3$ignoreDestinati","widthScale","heightScale","pageWidth","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","firstPage","normalizedScaleValue","currentPageView","topLeft","getPagePoint","intLeft","intTop","numVisiblePages","newCacheSize","_updateHelper","_updateLocation","contains","focus","some","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","pagesOverview","map","scrollMode","toggle","pages","parity","spread","_iMax","cloneNode","every","_step","_iterator","_this$container","currentId","stillFullyVisible","buffer","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","Infinity","pow","rt","LN2","pendingOperation","isPDFDocumentLoadingTask","__PDFDocumentLoadingTask","createLoadingTask","src","withCredentials","loadingTask","PDFJS","getDocument","onPassword","onProgress","PDFJSWrapper","canvasElt","annotationLayerElt","emitter","pdfDoc","pdfRender","canceling","clearCanvas","clearRect","clearAnnotations","save","getResolutionScale","printPage","dpi","pageNumberOnly","PRINT_RESOLUTION","PRINT_UNITS","iframeElt","frameBorder","scrolling","cssText","onload","contentWindow","win","title","head","allPages","printCanvasElt","queryCommandSupported","execCommand","print","removeIframe","catch","emit","renderPage","pageRotate","visibility","getAnnotationsOperation","pdfRenderOperation","forEachPage","pageCallback","loadPage","loadDocument","destroyed","updatePassword","reasonStr","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","ratio","loaded","pdf","base64","ieee754","typedArraySupport","foo","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","allocUnsafe","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","alloc","fill","encoding","checked","string","isEncoding","actual","fromArrayLike","array","byteOffset","isBuffer","copy","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","String","buf","readUInt16BE","foundIndex","hexWrite","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","isFinite","toJSON","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","leadSurrogate","byteArray","hi","lo","dst","initial","Boolean","default","methods","expand","$el","shrink","lastChild","offsetHeight","watch","deep","$emit","styleChild","onAnimationStart","onScroll","beforeUnmount","mounted","$nextTick","onresizeHandler","removeOnresizeEvent","detachEvent","$off","attachEvent","$on","__exports__","Map","on","off","pdfjsWrapper","class","$refs","resolutionScale","pageList","unmounted","VUE_ENV","appVersion","PdfjsWorker","GlobalWorkerOptions","workerPort","component","componentFactory","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","_api","build","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","InvalidPDFException","MissingPDFException","OPS","PermissionFlag","removeNullCharacters","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","_api_compatibility","apiCompatibilityParams","_worker_options","_text_layer","_svg","_require","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","deprecated","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","BaseCMapReaderFactory","DOMCanvasFactory","BaseCanvasFactory","DEFAULT_LINK_REL","PageViewport","SVG_NS","unreachable","canvasAndContext","_BaseCanvasFactory","_ref$ownerDocument","ownerDocument","globalThis","_document","_ref2$baseUrl","_ref2$isCompressed","isCompressed","_fetch","compressionType","BINARY","_fetchData","fetch","_BaseCMapReaderFactor","_super2","baseURI","cMapData","ok","statusText","arrayBuffer","t1","t2","stringToBytes","t3","request","responseType","DONE","assert","createElementNS","viewBox","_ref5$offsetX","_ref5$offsetY","_ref5$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","applyTransform","rect","bottomRight","applyInverseTransform","_BaseException","_super3","BaseException","SELF","BLANK","PARENT","TOP","_ref7","rel","_ref7$enabled","enabled","urlNullRemoved","onclick","targetStr","pdfDateStringRegex","started","times","outBuf","longest","time","_step2","_iterator2","_time","duration","padEnd","Response","ReadableStream","_ref8","protocol","details","input","isString","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","arrayByteLength","arraysToBytes","bytesToString","escapeString","getModificationDate","getVerbosityLevel","isArrayBuffer","isArrayEqual","isBool","isNum","isSameOrigin","setVerbosityLevel","string32","stringToPDFString","stringToUTF8String","utf8StringToString","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","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","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","errorMarkedContent","verbosity","level","cond","otherUrl","origin","other","_isValidProtocol","absoluteUrl","message","_BaseException2","_BaseException3","_BaseException4","_super4","_BaseException5","_super5","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","MAX_ARGUMENT_COUNT","chunkEnd","chunk","resultLength","item","itemLength","isLittleEndian","buffer8","view32","Uint32Array","isEvalSupported","rgbBuf","g","m1","m2","xt","yt","p1","p2","p3","p4","transpose","rect1","rect2","orderedX","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","encodeURIComponent","arr1","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","capability","isSettled","digits","forceDataSchema","b1","b2","b3","d1","d2","d3","d4","_is_node","_pdfjsCompatibilityChecked","hasDOM","btoa","chars","atob","Element","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","force","OriginalPushState","OriginalReplaceState","endsWith","fromEntries","log2","allSettled","isReadableStreamSupported","controller","close","WeakSet","codePointAt","fromCodePoint","process","versions","nw","electron","$","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","isObject","PREFERRED_STRING","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","IS_PURE","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","integer","replacement","feature","detection","POLYFILL","NATIVE","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","display","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","ARRAY_ITERATOR","kind","Arguments","iterate","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","number","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","DataView","SPECIES","defaultConstructor","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","notify","isReject","notified","chain","reactions","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","$promiseResolve","counter","alreadyCalled","race","CONSTRUCTOR_NAME","defer","channel","port","IS_IOS","setImmediate","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","post","postMessage","host","nextTick","port2","port1","onmessage","importScripts","flush","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","numbersSeen","ipv4Piece","swaps","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","fragment","encodedCodePoints","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","getAll","entriesIndex","sliceIndex","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","DequeueValue","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","filter","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","$padEnd","$values","TO_ENTRIES","$entries","PDFPageProxy","PDFDocumentProxy","_font_loader","_node_utils","_annotation_storage","_canvas","_message_handler","_metadata","_optional_content_config","_transport_stream","_webgl","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_e3","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DefaultCanvasFactory","NodeCanvasFactory","DefaultCMapReaderFactory","NodeCMapReaderFactory","createPDFNetworkStream","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","workerParams","fromPort","_worker","docId","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","docBaseUrl","nextDocumentId","onUnsupportedFeature","transportDestroyed","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","_step3","_iterator3","_step4","_iterator4","pdfInfo","_pdfInfo","getDestinations","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","downloadInfoCapability","getStats","startCleanup","saveDocument","AnnotationStorage","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","_pdfBug","PDFObjects","cleanupAfterRender","pendingCleanup","_intentStates","_ref3$rotation","_ref3$offsetX","_ref3$offsetY","_ref3$dontFlip","_ref4$intent","annotationsPromise","annotationsIntent","_this5","_ref5$intent","_ref5$enableWebGL","_ref5$renderInteracti","_ref5$transform","_ref5$imageLayer","imageLayer","_ref5$canvasFactory","canvasFactory","_ref5$background","background","_ref5$annotationStora","_ref5$optionalContent","renderingIntent","intentState","streamReaderCancelTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref8$normalizeWhites","_ref8$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","pump","_ref9","_textContent$items","styles","pageCache","_step5","waitOn","_iterator5","_step5$value","_step6","_iterator6","completed","resetStats","_step7","_iterator7","_step7$value","operatorListChunk","_this6","streamReader","_ref10","_renderPageChunk","_ref11","_this7","_ref11$force","_step8","_iterator8","_step8$value","curIntentState","_defer","_deferred","transfers","_this8","cloneValue","cloned","transferable","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref12","_callee$","eval","createCDNWrapper","_ref13","_ref13$name","_ref13$port","_ref13$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","_this9","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this10","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this11","_destroy","terminated","cancelAllRequests","_this12","sink","getFullReader","onPull","_ref14","onCancel","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref15","_ref16","_numPages","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref17","featureId","_this13","resetModified","results","OptionalContentConfig","_this14","Metadata","contentDispositionFilename","_this15","cleanupSuccessful","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","canvasInRendering","_ref18","_ref18$useRequestAnim","_ref18$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_ref19","_ref19$transparency","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this16","_next2","executeOperatorList","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","supported","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","spliceString","insert","chunk1","chunk2","isFontReady","fillText","getImageData","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","fontFamily","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","js","_ii","Canvas","createCanvas","fs","readFile","_storage","_modified","onSetModified","onResetModified","defaultValue","_setModified","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","cosValue","cos","sinValue","sin","CachedCanvases","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","sum","steps","outlines","pp","coords","p0","drawOutline","beginPath","kk","ll","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","transferMaps","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","contentVisible","markedContentStack","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","hasTransferMaps","_k","_k2","_hasTransferMaps","_k3","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","isEnabled","composed","layer","drawImage","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref2$transparency","_ref2$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","depObjId","objsPool","endSMaskGroup","endLayout","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","singularValueDecompose2dScale","getPattern","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","charWidth","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","img","compiled","maskCanvas","skewX","skewY","positions","images","image","w","h","imgToPaint","tmpCanvas","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","isVisible","isContentVisible","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","actionName","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_metadataMap","_parse","codes","rdf","nodeName","nextSibling","hasChildNodes","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","OptionalContentGroup","creator","_order","_groups","order","groups","_group","expression","policy","ids","_id","_id2","_id3","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_loaded","_stream","_done","_filename","_requests","_headersReady","requestCapability","_end","_queuedChunk","requestsCapability","_removeRangeReader","_read2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","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","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","AnnotationElementFactory","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","svgFactory","_createContainer","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","_AnnotationElement","newWindow","_bindNamedAction","_bindLink","getDestinationHash","executeNamedAction","_AnnotationElement2","hasPopup","alt","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","storage","getOrCreateValue","multiLine","setValue","disabled","readOnly","fieldName","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","buttonValue","getElementsByName","radio","_LinkAnnotationElemen","_WidgetAnnotationElem4","_super8","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","selectedIndex","_AnnotationElement4","_super9","IGNORE_TYPES","parentType","selector","parentId","parentElement","parentLeft","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","pin","zIndex","unpin","_AnnotationElement5","_super10","_AnnotationElement6","_super11","lineCoordinates","_AnnotationElement7","_super12","square","_AnnotationElement8","_super13","circle","_AnnotationElement9","_super14","containerClassName","svgElementName","vertices","coordinate","polyline","_PolylineAnnotationEl","_super15","_AnnotationElement10","_super16","_AnnotationElement11","_super17","inkLists","inkList","_AnnotationElement12","_super18","_AnnotationElement13","_super19","_AnnotationElement14","_super20","_AnnotationElement15","_super21","_AnnotationElement16","_super22","_AnnotationElement17","_super23","_this6$data$file","downloadData","sortedAnnotations","popupAnnotations","_sortedAnnotations","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","fontName","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","_canceled","textDivsLength","_renderingDone","findPositiveMin","ts","expanded","expandBounds","divProperties","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","textStyles","expandDivs","transformBuf","paddingBuf","divProps","padding","opListToTree","opTree","opListElement","pf","pm","acos","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","getAttributeNS","clipId","clipPath","clipElement","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","auth","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","Range","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","validateResponseStatus","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","textdecode","decoder","TextDecoder","fatal","decode","contentDispositionStr","_match","_match2","quot","_n2","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","ok_response_on_range_request","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","credentials","redirect","createHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","_yield$this$_reader$r","_yield$this$_reader$r2"],"mappings":"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","file":"js/chunk-805da624.79e0c03b.js","sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"b7d0fbb48b378c331540.worker.js\");\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\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n});\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n});\nObject.defineProperty(exports, \"TextLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.TextLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"EventBus\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.EventBus;\n }\n});\nObject.defineProperty(exports, \"NullL10n\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.NullL10n;\n }\n});\nObject.defineProperty(exports, \"ProgressBar\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.ProgressBar;\n }\n});\nObject.defineProperty(exports, \"PDFLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.PDFLinkService;\n }\n});\nObject.defineProperty(exports, \"SimpleLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.SimpleLinkService;\n }\n});\nObject.defineProperty(exports, \"DownloadManager\", {\n enumerable: true,\n get: function get() {\n return _download_manager.DownloadManager;\n }\n});\nObject.defineProperty(exports, \"GenericL10n\", {\n enumerable: true,\n get: function get() {\n return _genericl10n.GenericL10n;\n }\n});\nObject.defineProperty(exports, \"PDFFindController\", {\n enumerable: true,\n get: function get() {\n return _pdf_find_controller.PDFFindController;\n }\n});\nObject.defineProperty(exports, \"PDFHistory\", {\n enumerable: true,\n get: function get() {\n return _pdf_history.PDFHistory;\n }\n});\nObject.defineProperty(exports, \"PDFPageView\", {\n enumerable: true,\n get: function get() {\n return _pdf_page_view.PDFPageView;\n }\n});\nObject.defineProperty(exports, \"PDFSinglePageViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n});\nObject.defineProperty(exports, \"PDFViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_viewer.PDFViewer;\n }\n});\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _download_manager = __w_pdfjs_require__(9);\n\nvar _genericl10n = __w_pdfjs_require__(11);\n\nvar _pdf_find_controller = __w_pdfjs_require__(13);\n\nvar _pdf_history = __w_pdfjs_require__(15);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(18);\n\nvar _pdf_viewer = __w_pdfjs_require__(20);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationLayerBuilder = /*#__PURE__*/function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$annotationStorag = _ref.annotationStorage,\n annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,\n _ref$imageResourcesPa = _ref.imageResourcesPath,\n imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n _classCallCheck(this, AnnotationLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.div = null;\n this._cancelled = false;\n }\n\n _createClass(AnnotationLayerBuilder, [{\n key: \"render\",\n value: function render(viewport) {\n var _this = this;\n\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"display\";\n return this.pdfPage.getAnnotations({\n intent: intent\n }).then(function (annotations) {\n if (_this._cancelled) {\n return;\n }\n\n if (annotations.length === 0) {\n return;\n }\n\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: _this.div,\n annotations: annotations,\n page: _this.pdfPage,\n imageResourcesPath: _this.imageResourcesPath,\n renderInteractiveForms: _this.renderInteractiveForms,\n linkService: _this.linkService,\n downloadManager: _this.downloadManager,\n annotationStorage: _this.annotationStorage\n };\n\n if (_this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n _this.div = document.createElement(\"div\");\n _this.div.className = \"annotationLayer\";\n\n _this.pageDiv.appendChild(_this.div);\n\n parameters.div = _this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n _this.l10n.translate(_this.div);\n }\n });\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._cancelled = true;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.div) {\n return;\n }\n\n this.div.setAttribute(\"hidden\", \"true\");\n }\n }]);\n\n return AnnotationLayerBuilder;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nvar DefaultAnnotationLayerFactory = /*#__PURE__*/function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n\n _createClass(DefaultAnnotationLayerFactory, [{\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n,\n annotationStorage: annotationStorage\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nvar NullL10n = {\n getLanguage: function getLanguage() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", \"en-us\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getDirection: function getDirection() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", \"ltr\");\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n get: function get(property, args, fallback) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n translate: function translate(element) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n }\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var parts = query.split(\"&\");\n var params = Object.create(null);\n\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split(\"=\");\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n var xinv = 1 / x;\n var limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n var result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n var i = 0;\n var ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDirection(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n var delta = normalizeWheelEventDirection(evt);\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nvar WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref2) {\n var target = _ref2.target,\n name = _ref2.name,\n _ref2$delay = _ref2.delay,\n delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\n return new Promise(function (resolve, reject) {\n if (_typeof(target) !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nvar EventBus = /*#__PURE__*/function () {\n function EventBus(options) {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n var externalListeners;\n eventListeners.slice(0).forEach(function (_ref3) {\n var listener = _ref3.listener,\n external = _ref3.external;\n\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n }, {\n key: \"_on\",\n value: function _on(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener: listener,\n external: (options && options.external) === true\n });\n }\n }, {\n key: \"_off\",\n value: function _off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (var i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n }]);\n\n return EventBus;\n}();\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = \"calc(100% - \".concat(scrollbarWidth, \"px)\");\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(5);\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(6)(module)))\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFLinkService = /*#__PURE__*/function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n _ref$externalLinkEnab = _ref.externalLinkEnabled,\n externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,\n _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"navigateTo\",\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0];\n var pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n })[\"catch\"](function () {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n });\n\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: _this._ignoreDestinationZoom\n });\n };\n\n new Promise(function (resolve, reject) {\n if (typeof dest === \"string\") {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n goToDestination(data);\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n var pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n var zoomArgs = params.zoom.split(\",\");\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n var page = dest[0];\n\n if (!(_typeof(page) === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n var zoom = dest[1];\n\n if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n var allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"navigateTo\",\n value: function navigateTo(dest) {}\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return \"#\";\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return \"#\";\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === void 0 ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\n\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._onUpdateTextLayerMatches = null;\n\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: \"_finishRendering\",\n value: function _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs = [];\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n\n _this._finishRendering();\n\n _this._updateMatches();\n }, function (reason) {});\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = function (evt) {\n if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {\n _this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n }, {\n key: \"setTextContentStream\",\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: \"setTextContent\",\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: \"_convertMatches\",\n value: function _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n var findController = this.findController,\n textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\n var queryLen = findController.state.query.length;\n var result = [];\n\n for (var m = 0, mm = matches.length; m < mm; m++) {\n var matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n }, {\n key: \"_renderMatches\",\n value: function _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n var findController = this.findController,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var isSelectedPage = pageIdx === findController.selected.pageIdx;\n var selectedMatchIdx = findController.selected.matchIdx;\n var highlightAll = findController.state.highlightAll;\n var prevEnd = null;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n\n if (className) {\n var span = document.createElement(\"span\");\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n\n div.appendChild(node);\n }\n\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? \" selected\" : \"\";\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: \"_updateMatches\",\n value: function _updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n\n var findController = this.findController,\n matches = this.matches,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var clearedUntilDivIdx = -1;\n\n for (var i = 0, ii = matches.length; i < ii; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController || !findController.highlightMatches) {\n return;\n }\n\n var pageMatches = findController.pageMatches[pageIdx] || null;\n var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n }, {\n key: \"_bindMouse\",\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener(\"mousedown\", function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n }]);\n\n return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection,\n eventBus: eventBus\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction _download(blobUrl, filename) {\n var a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nvar DownloadManager = /*#__PURE__*/function () {\n function DownloadManager() {\n _classCallCheck(this, DownloadManager);\n }\n\n _createClass(DownloadManager, [{\n key: \"downloadUrl\",\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n return;\n }\n\n _download(url + \"#pdfjs.action=download\", filename);\n }\n }, {\n key: \"downloadData\",\n value: function downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n return;\n }\n\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL);\n\n _download(blobUrl, filename);\n }\n }, {\n key: \"download\",\n value: function download(blob, url, filename) {\n var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"download\";\n\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n\n return;\n }\n\n if (_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n\n var blobUrl = URL.createObjectURL(blob);\n\n _download(blobUrl, filename);\n }\n }]);\n\n return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.viewerCompatibilityParams = void 0;\nvar compatibilityParams = Object.create(null);\n{\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n var isAndroid = /Android/.test(userAgent);\n var isIE = /Trident/.test(userAgent);\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nvar viewerCompatibilityParams = Object.freeze(compatibilityParams);\nexports.viewerCompatibilityParams = viewerCompatibilityParams;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\n__w_pdfjs_require__(12);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context.sent;\n return _context.abrupt(\"return\", l10n.getLanguage());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }, {\n key: \"getDirection\",\n value: function () {\n var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context2.sent;\n return _context2.abrupt(\"return\", l10n.getDirection());\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }()\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(property, args, fallback) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context3.sent;\n return _context3.abrupt(\"return\", l10n.get(property, args, fallback));\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }()\n }, {\n key: \"translate\",\n value: function () {\n var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(element) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context4.sent;\n return _context4.abrupt(\"return\", l10n.translate(element));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_find_utils = __w_pdfjs_require__(14);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\xBC\": \"1/4\",\n \"\\xBD\": \"1/2\",\n \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n }\n\n return text.replace(normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n function PDFFindController(_ref) {\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFFindController);\n\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n _createClass(PDFFindController, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this._reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n }, {\n key: \"executeCommand\",\n value: function executeCommand(cmd, state) {\n var _this = this;\n\n if (!state) {\n return;\n }\n\n var pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(function () {\n if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n return;\n }\n\n _this._extractText();\n\n var findbarClosed = !_this._highlightMatches;\n var pendingTimeout = !!_this._findTimeout;\n\n if (_this._findTimeout) {\n clearTimeout(_this._findTimeout);\n _this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n _this._findTimeout = setTimeout(function () {\n _this._nextMatch();\n\n _this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (_this._dirtyMatch) {\n _this._nextMatch();\n } else if (cmd === \"findagain\") {\n _this._nextMatch();\n\n if (findbarClosed && _this._state.highlightAll) {\n _this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\n if (pendingTimeout) {\n _this._nextMatch();\n } else {\n _this._highlightMatches = true;\n }\n\n _this._updateAllPages();\n } else {\n _this._nextMatch();\n }\n });\n }\n }, {\n key: \"scrollMatchIntoView\",\n value: function scrollMatchIntoView(_ref2) {\n var _ref2$element = _ref2.element,\n element = _ref2$element === void 0 ? null : _ref2$element,\n _ref2$pageIndex = _ref2.pageIndex,\n pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n _ref2$matchIndex = _ref2.matchIndex,\n matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\n\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n var spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n }, {\n key: \"_reset\",\n value: function _reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = Object.create(null);\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n }, {\n key: \"_shouldDirtyMatch\",\n value: function _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n var pageNumber = this._selected.pageIdx + 1;\n var linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_prepareMatches\",\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: \"_isEntireWord\",\n value: function _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n var first = content.charCodeAt(startIdx);\n var limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n var endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n var last = content.charCodeAt(endIdx);\n\n var _limit = content.charCodeAt(endIdx + 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"_calculatePhraseMatch\",\n value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n matches.push(matchIdx);\n }\n\n this._pageMatches[pageIndex] = matches;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n }, {\n key: \"_calculateMatch\",\n value: function _calculateMatch(pageIndex) {\n var pageContent = this._pageContents[pageIndex];\n var query = this._query;\n var _this$_state = this._state,\n caseSensitive = _this$_state.caseSensitive,\n entireWord = _this$_state.entireWord,\n phraseSearch = _this$_state.phraseSearch;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n }, {\n key: \"_extractText\",\n value: function _extractText() {\n var _this2 = this;\n\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n _this2._pageContents[i] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n _this2._pageContents[i] = \"\";\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: \"_updatePage\",\n value: function _updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n }, {\n key: \"_updateAllPages\",\n value: function _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n }, {\n key: \"_nextMatch\",\n value: function _nextMatch() {\n var _this3 = this;\n\n var previous = this._state.findPrevious;\n var currentPageIndex = this._linkService.page - 1;\n var numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n\n this._updateAllPages();\n\n for (var i = 0; i < numPages; i++) {\n if (this._pendingFindMatches[i] === true) {\n continue;\n }\n\n this._pendingFindMatches[i] = true;\n\n this._extractTextPromises[i].then(function (pageIdx) {\n delete _this3._pendingFindMatches[pageIdx];\n\n _this3._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n var offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n var numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n }, {\n key: \"_matchesReady\",\n value: function _matchesReady(matches) {\n var offset = this._offset;\n var numMatches = matches.length;\n var previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\n return true;\n }\n\n this._advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this._updateMatch(false);\n\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_nextPageMatch\",\n value: function _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n var matches = null;\n\n do {\n var pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this._matchesReady(matches));\n }\n }, {\n key: \"_advanceOffsetPage\",\n value: function _advanceOffsetPage(previous) {\n var offset = this._offset;\n var numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: \"_updateMatch\",\n value: function _updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n var previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this._updatePage(previousPage);\n }\n }\n\n this._updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n\n this._updatePage(this._selected.pageIdx);\n }\n }\n }, {\n key: \"_onFindBarClose\",\n value: function _onFindBarClose(evt) {\n var _this4 = this;\n\n var pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(function () {\n if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (_this4._findTimeout) {\n clearTimeout(_this4._findTimeout);\n _this4._findTimeout = null;\n }\n\n if (_this4._resumePageIdx) {\n _this4._resumePageIdx = null;\n _this4._dirtyMatch = true;\n }\n\n _this4._updateUIState(FindState.FOUND);\n\n _this4._highlightMatches = false;\n\n _this4._updateAllPages();\n });\n }\n }, {\n key: \"_requestMatchesCount\",\n value: function _requestMatchesCount() {\n var _this$_selected = this._selected,\n pageIdx = _this$_selected.pageIdx,\n matchIdx = _this$_selected.matchIdx;\n var current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (var i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i] && this._pageMatches[i].length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current: current,\n total: total\n };\n }\n }, {\n key: \"_updateUIResultsCount\",\n value: function _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"_updateUIState\",\n value: function _updateUIState(state, previous) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state: state,\n previous: previous,\n matchesCount: this._requestMatchesCount(),\n rawQuery: this._state ? this._state.query : null\n });\n }\n }, {\n key: \"highlightMatches\",\n get: function get() {\n return this._highlightMatches;\n }\n }, {\n key: \"pageMatches\",\n get: function get() {\n return this._pageMatches;\n }\n }, {\n key: \"pageMatchesLength\",\n get: function get() {\n return this._pageMatchesLength;\n }\n }, {\n key: \"selected\",\n get: function get() {\n return this._selected;\n }\n }, {\n key: \"state\",\n get: function get() {\n return this._state;\n }\n }, {\n key: \"_query\",\n get: function get() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n this._normalizedQuery = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n function PDFHistory(_ref) {\n var _this = this;\n\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFHistory);\n\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", function (evt) {\n _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n var onPagesLoaded = function onPagesLoaded(evt) {\n _this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n _this._isPagesLoaded = !!evt.pagesCount;\n };\n\n _this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n });\n }\n\n _createClass(PDFHistory, [{\n key: \"initialize\",\n value: function initialize(_ref2) {\n var fingerprint = _ref2.fingerprint,\n _ref2$resetHistory = _ref2.resetHistory,\n resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n _ref2$updateUrl = _ref2.updateUrl,\n updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\n\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n var reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n var state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n var _this$_parseCurrentHa = this._parseCurrentHash(true),\n hash = _this$_parseCurrentHa.hash,\n page = _this$_parseCurrentHa.page,\n rotation = _this$_parseCurrentHa.rotation;\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = \"page=\".concat(destination.page);\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n }, {\n key: \"push\",\n value: function push(_ref3) {\n var _this2 = this;\n\n var _ref3$namedDest = _ref3.namedDest,\n namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n explicitDest = _ref3.explicitDest,\n pageNumber = _ref3.pageNumber;\n\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n return;\n } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n }\n\n var hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash: hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this2._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushCurrentPosition\",\n value: function pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n }, {\n key: \"back\",\n value: function back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n }, {\n key: \"forward\",\n value: function forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n }, {\n key: \"_pushOrReplaceState\",\n value: function _pushOrReplaceState(destination) {\n var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var shouldReplace = forceReplace || !this._destination;\n var newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination: destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n var newUrl;\n\n if (this._updateUrl && destination && destination.hash) {\n var baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n this._maxUid = this._uid;\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n }, {\n key: \"_tryPushCurrentPosition\",\n value: function _tryPushCurrentPosition() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._position) {\n return;\n }\n\n var position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n }, {\n key: \"_isValidState\",\n value: function _isValidState(state) {\n var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n perfEntry = _performance$getEntri2[0];\n\n if (!perfEntry || perfEntry.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || _typeof(state.destination) !== \"object\") {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_updateInternalState\",\n value: function _updateInternalState(destination, uid) {\n var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._numPositionUpdates = 0;\n }\n }, {\n key: \"_parseCurrentHash\",\n value: function _parseCurrentHash() {\n var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var hash = unescape(getCurrentHash()).substring(1);\n var params = (0, _ui_utils.parseQueryString)(hash);\n var nameddest = params.nameddest || \"\";\n var page = params.page | 0;\n\n if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash: hash,\n page: page,\n rotation: this.linkService.rotation\n };\n }\n }, {\n key: \"_updateViewarea\",\n value: function _updateViewarea(_ref4) {\n var _this3 = this;\n\n var location = _ref4.location;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(function () {\n if (!_this3._popStateInProgress) {\n _this3._tryPushCurrentPosition(true);\n }\n\n _this3._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this4 = this;\n\n var state = _ref5.state;\n var newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n hash = _this$_parseCurrentHa2.hash,\n page = _this$_parseCurrentHa2.page,\n rotation = _this$_parseCurrentHa2.rotation;\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(function () {\n _this4._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.navigateTo(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(function () {\n _this4._popStateInProgress = false;\n });\n }\n }, {\n key: \"_pageHide\",\n value: function _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n }, {\n key: \"_bindEvents\",\n value: function _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n }, {\n key: \"popStateInProgress\",\n get: function get() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n }, {\n key: \"initialBookmark\",\n get: function get() {\n return this._initialized ? this._initialBookmark : null;\n }\n }, {\n key: \"initialRotation\",\n get: function get() {\n return this._initialized ? this._initialRotation : null;\n }\n }]);\n\n return PDFHistory;\n}();\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),\n nameddest = _parseQueryString.nameddest;\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (_typeof(first) !== _typeof(second)) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && _typeof(first) === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (var i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._annotationStorage = options.annotationStorage || null;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.hasRestrictedScaling = false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = typeof options.renderInteractiveForms === \"boolean\" ? options.renderInteractiveForms : true;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: \"setPdfPage\",\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n }, {\n key: \"_renderAnnotationLayer\",\n value: function () {\n var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var error;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n error = null;\n _context.prev = 1;\n _context.next = 4;\n return this.annotationLayer.render(this.viewport, \"display\");\n\n case 4:\n _context.next = 9;\n break;\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](1);\n error = _context.t0;\n\n case 9:\n _context.prev = 9;\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error: error\n });\n return _context.finish(9);\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 6, 9, 12]]);\n }));\n\n function _renderAnnotationLayer() {\n return _renderAnnotationLayer2.apply(this, arguments);\n }\n\n return _renderAnnotationLayer;\n }()\n }, {\n key: \"_resetZoomLayer\",\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.zoomLayer) {\n return;\n }\n\n var zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap[\"delete\"](zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.cancelRendering(keepAnnotations);\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n var childNodes = div.childNodes;\n var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n\n div.removeChild(node);\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else if (this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n\n if (!currentZoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap[\"delete\"](this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap[\"delete\"](this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon\";\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: \"update\",\n value: function update(scale, rotation) {\n var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n this.scale = scale || this.scale;\n\n if (typeof rotation !== \"undefined\") {\n this.rotation = rotation;\n }\n\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n }\n\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n var isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n\n this.reset(true, true);\n }\n }, {\n key: \"cancelRendering\",\n value: function cancelRendering() {\n var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (!keepAnnotations && this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n }\n }, {\n key: \"cssTransform\",\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n var cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n target.style.transform = cssTransform;\n\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = \"rotate(\" + textAbsRotation + \"deg) \" + \"scale(\" + scale + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this._renderAnnotationLayer();\n }\n }\n }, {\n key: \"getPagePoint\",\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: \"draw\",\n value: function draw() {\n var _this = this;\n\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n var div = this.div,\n pdfPage = this.pdfPage;\n\n if (!pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n var textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n var textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);\n }\n\n this.textLayer = textLayer;\n var renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this.renderingQueue.isHighestPriority(_this)) {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n _this.resume = function () {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n var finishPaintTask = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(error) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context2.next = 4;\n break;\n }\n\n _this.error = null;\n return _context2.abrupt(\"return\");\n\n case 4:\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n\n _this._resetZoomLayer(true);\n\n _this.error = error;\n _this.stats = pdfPage.stats;\n\n _this.eventBus.dispatch(\"pagerendered\", {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false,\n timestamp: performance.now()\n });\n\n if (!error) {\n _context2.next = 12;\n break;\n }\n\n throw error;\n\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function finishPaintTask(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this._annotationStorage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\n }\n\n this._renderAnnotationLayer();\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n }, {\n key: \"paintOnCanvas\",\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement(\"canvas\");\n this.l10n.get(\"page_canvas\", {\n page: this.id\n }, \"Page {{page}}\").then(function (msg) {\n canvas.setAttribute(\"aria-label\", msg);\n });\n canvas.setAttribute(\"hidden\", \"hidden\");\n var isCanvasHidden = true;\n\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.removeAttribute(\"hidden\");\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n\n if (this.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n\n if (this.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n enableWebGL: this.enableWebGL,\n renderInteractiveForms: this.renderInteractiveForms,\n optionalContentConfigPromise: this._optionalContentConfigPromise\n };\n var renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: \"paintOnSvg\",\n value: function paintOnSvg(wrapper) {\n var _this2 = this;\n\n var cancelled = false;\n\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(\"Rendering cancelled, page \".concat(_this2.id), \"svg\");\n }\n };\n\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n var promise = pdfPage.getOperatorList().then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this2.svg = svg;\n\n _this2.paintedViewportMap.set(svg, actualSizeViewport);\n\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: \"setPageLabel\",\n value: function setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n }, {\n key: \"width\",\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.viewport.height;\n }\n }]);\n\n return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw()[\"finally\"](function () {\n _this.renderHighestPriority();\n })[\"catch\"](function (reason) {\n console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n });\n break;\n }\n\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFSinglePageViewer, _BaseViewer);\n\n var _super = _createSuper(PDFSinglePageViewer);\n\n function PDFSinglePageViewer(options) {\n var _this;\n\n _classCallCheck(this, PDFSinglePageViewer);\n\n _this = _super.call(this, options);\n\n _this.eventBus._on(\"pagesinit\", function (evt) {\n _this._ensurePageViewVisible();\n });\n\n return _this;\n }\n\n _createClass(PDFSinglePageViewer, [{\n key: \"_resetView\",\n value: function _resetView() {\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n }, {\n key: \"_ensurePageViewVisible\",\n value: function _ensurePageViewVisible() {\n var pageView = this._pages[this._currentPageNumber - 1];\n var previousPageView = this._pages[this._previousPageNumber - 1];\n var viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var _this2 = this;\n\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n\n this._updateScrollDown = function () {\n _this2.scroll.down = scrolledDown;\n _this2._updateScrollDown = null;\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {}\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {}\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {}\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n }]);\n\n return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n var data = [];\n\n this.push = function (view) {\n var i = data.indexOf(view);\n\n if (i >= 0) {\n data.splice(i, 1);\n }\n\n data.push(view);\n\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.resize = function (newSize, pagesToKeep) {\n size = newSize;\n\n if (pagesToKeep) {\n var pageIdsToKeep = new Set();\n\n for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n pageIdsToKeep.add(pagesToKeep[i].id);\n }\n\n (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n return pageIdsToKeep.has(page.id);\n });\n }\n\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n}\n\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n function BaseViewer(options) {\n var _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (!(this.container instanceof HTMLDivElement && this.viewer instanceof HTMLDivElement)) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = typeof options.renderInteractiveForms === \"boolean\" ? options.renderInteractiveForms : true;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n Promise.resolve().then(function () {\n _this.eventBus.dispatch(\"baseviewerinit\", {\n source: _this\n });\n });\n }\n\n _createClass(BaseViewer, [{\n key: \"getPageView\",\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: \"_setCurrentPageNumber\",\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n }, {\n key: \"_onePageRenderedOrForceFetch\",\n value: function _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var _this2 = this;\n\n if (this.pdfDocument) {\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n var pagesCount = pdfDocument.numPages;\n var firstPagePromise = pdfDocument.getPage(1);\n var annotationStorage = pdfDocument.annotationStorage;\n var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\n\n this._pagesCapability.promise.then(function () {\n _this2.eventBus.dispatch(\"pagesloaded\", {\n source: _this2,\n pagesCount: pagesCount\n });\n });\n\n this._onBeforeDraw = function (evt) {\n var pageView = _this2._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n _this2._buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = function (evt) {\n if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {\n return;\n }\n\n _this2._onePageRenderedCapability.resolve();\n\n _this2.eventBus._off(\"pagerendered\", _this2._onAfterDraw);\n\n _this2._onAfterDraw = null;\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n firstPagePromise.then(function (firstPdfPage) {\n _this2._firstPageCapability.resolve(firstPdfPage);\n\n _this2._optionalContentConfigPromise = optionalContentConfigPromise;\n var scale = _this2.currentScale;\n var viewport = firstPdfPage.getViewport({\n scale: scale * _ui_utils.CSS_UNITS\n });\n var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;\n\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this2._viewerElement,\n eventBus: _this2.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n annotationStorage: annotationStorage,\n optionalContentConfigPromise: optionalContentConfigPromise,\n renderingQueue: _this2.renderingQueue,\n textLayerFactory: textLayerFactory,\n textLayerMode: _this2.textLayerMode,\n annotationLayerFactory: _this2,\n imageResourcesPath: _this2.imageResourcesPath,\n renderInteractiveForms: _this2.renderInteractiveForms,\n renderer: _this2.renderer,\n enableWebGL: _this2.enableWebGL,\n useOnlyCssZoom: _this2.useOnlyCssZoom,\n maxCanvasPixels: _this2.maxCanvasPixels,\n l10n: _this2.l10n\n });\n\n _this2._pages.push(pageView);\n }\n\n var firstPageView = _this2._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n\n _this2.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {\n _this2._updateSpreadMode();\n }\n\n _this2._onePageRenderedOrForceFetch().then(function () {\n if (_this2.findController) {\n _this2.findController.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this2._pages[_pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n }, function (reason) {\n console.error(\"Unable to get page \".concat(_pageNum, \" to initialize viewer\"), reason);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n });\n };\n\n for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n\n _this2.eventBus.dispatch(\"pagesinit\", {\n source: _this2\n });\n\n if (_this2.defaultRenderingQueue) {\n _this2.update();\n }\n })[\"catch\"](function (reason) {\n console.error(\"Unable to initialize viewer\", reason);\n });\n }\n }, {\n key: \"setPageLabels\",\n value: function setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(\"\".concat(this._name, \".setPageLabels: Invalid page labels.\"));\n } else {\n this._pageLabels = labels;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n var label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n }, {\n key: \"_resetView\",\n value: function _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._pagesRequests = new WeakMap();\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n }, {\n key: \"_setScaleUpdatePages\",\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"_setScale\",\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n var noPadding = this.isInPresentationMode || this.removePageBorders;\n var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n var _ref2 = [vPadding, hPadding];\n hPadding = _ref2[0];\n vPadding = _ref2[1];\n }\n\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(\"\".concat(this._name, \"._setScale: \\\"\").concat(value, \"\\\" is an unknown zoom value.\"));\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: \"_resetCurrentPageView\",\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n }, {\n key: \"scrollPageIntoView\",\n value: function scrollPageIntoView(_ref3) {\n var pageNumber = _ref3.pageNumber,\n _ref3$destArray = _ref3.destArray,\n destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale,\n heightScale;\n var changeOrientation = pageView.rotation % 180 !== 0;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(destArray[1].name, \"\\\" is not a valid destination type.\"));\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageNumber: pageNumber\n });\n\n return;\n }\n\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageSpot: {\n left: left,\n top: top\n },\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_updateLocation\",\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n }, {\n key: \"update\",\n value: function update() {\n var visible = this._getVisiblePages();\n\n var visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n }, {\n key: \"containsElement\",\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: \"_getCurrentVisiblePage\",\n value: function _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n var element = pageView.div;\n var view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is out of bounds.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: \"_cancelRendering\",\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: \"_ensurePdfPageLoaded\",\n value: function _ensurePdfPageLoaded(pageView) {\n var _this3 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this3._pagesRequests[\"delete\"](pageView);\n\n return pdfPage;\n })[\"catch\"](function (reason) {\n console.error(\"Unable to get page for page view\", reason);\n\n _this3._pagesRequests[\"delete\"](pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n }, {\n key: \"forceRendering\",\n value: function forceRendering(currentlyVisiblePages) {\n var _this4 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this4.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n }, {\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n annotationStorage: annotationStorage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: \"getPagesOverview\",\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n\n return pagesOverview.map(function (size) {\n if ((0, _ui_utils.isPortraitOrientation)(size)) {\n return size;\n }\n\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var viewer = this.viewer,\n pages = this._pages;\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (var i = 0, iMax = pages.length; i < iMax; ++i) {\n viewer.appendChild(pages[i].div);\n }\n } else {\n var parity = this._spreadMode - 1;\n var spread = null;\n\n for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (_i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[_i].div);\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: \"pageViewsReady\",\n get: function get() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView && pageView.pdfPage;\n });\n }\n }, {\n key: \"currentPageNumber\",\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(\"\".concat(this._name, \".currentPageNumber: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentPageLabel\",\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var page = val | 0;\n\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(\"\".concat(this._name, \".currentPageLabel: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentScale\",\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"currentScaleValue\",\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"pagesRotation\",\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n var pageNumber = this._currentPageNumber;\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber: pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"firstPagePromise\",\n get: function get() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n }, {\n key: \"onePageRendered\",\n get: function get() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n }, {\n key: \"pagesPromise\",\n get: function get() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"isInPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n }, {\n key: \"isChangingPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n }, {\n key: \"isHorizontalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: \"isVerticalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n }, {\n key: \"hasEqualPageSizes\",\n get: function get() {\n var firstPageView = this._pages[0];\n\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"optionalContentConfigPromise\",\n get: function get() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n\n if (!this._optionalContentConfigPromise) {\n return this.pdfDocument.getOptionalContentConfig();\n }\n\n return this._optionalContentConfigPromise;\n },\n set: function set(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(\"Invalid optionalContentConfigPromise: \".concat(promise));\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._optionalContentConfigPromise) {\n return;\n }\n\n this._optionalContentConfigPromise = promise;\n\n var _iterator = _createForOfIteratorHelper(this._pages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var pageView = _step.value;\n pageView.update(pageView.scale, pageView.rotation, promise);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.update();\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise: promise\n });\n }\n }, {\n key: \"scrollMode\",\n get: function get() {\n return this._scrollMode;\n },\n set: function set(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(\"Invalid scroll mode: \".concat(mode));\n }\n\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n }, {\n key: \"spreadMode\",\n get: function get() {\n return this._spreadMode;\n },\n set: function set(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(\"Invalid spread mode: \".concat(mode));\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n }]);\n\n return BaseViewer;\n}();\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFViewer, _BaseViewer);\n\n var _super = _createSuper(PDFViewer);\n\n function PDFViewer() {\n _classCallCheck(this, PDFViewer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PDFViewer, [{\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (!pageSpot && !this.isInPresentationMode) {\n var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n var right = left + pageDiv.clientWidth;\n var _this$container = this.container,\n scrollLeft = _this$container.scrollLeft,\n clientWidth = _this$container.clientWidth;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n var currentId = this._currentPageNumber;\n var stillFullyVisible = false;\n\n var _iterator = _createForOfIteratorHelper(visiblePages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var page = _step.value;\n\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n }]);\n\n return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf_viewer.js.map","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../postcss-loader/src/index.js??ref--7-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css\"","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../postcss-loader/src/index.js??ref--7-oneOf-1-2!../../cache-loader/dist/cjs.js??ref--1-0!../../@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./resize-sensor.vue?vue&type=style&index=0&id=3a8d472e&lang=css\"","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import { PDFLinkService } from 'pdfjs-dist-sig/es5/web/pdf_viewer';\r\n\r\nvar pendingOperation = Promise.resolve();\r\n\r\nexport default function(PDFJS) {\r\n\r\n\tfunction isPDFDocumentLoadingTask(obj) {\r\n\r\n\t\treturn typeof(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true;\r\n\t\t// or: return obj.constructor.name === 'PDFDocumentLoadingTask';\r\n\t}\r\n\r\n\tfunction createLoadingTask(src, options) {\r\n\r\n\t\tvar source;\r\n\t\tif ( typeof(src) === 'string' )\r\n\t\t\tsource = { url: src };\r\n\t\telse if ( src instanceof Uint8Array )\r\n\t\t\tsource = { data: src };\r\n\t\telse if ( typeof(src) === 'object' && src !== null )\r\n\t\t\tsource = Object.assign({}, src);\r\n\t\telse\r\n\t\t\tthrow new TypeError('invalid src type');\r\n\r\n\t\t// source.verbosity = PDFJS.VerbosityLevel.INFOS;\r\n\t\t// source.pdfBug = true;\r\n\t\t// source.stopAtErrors = true;\r\n\r\n\t\tif ( options && options.withCredentials )\r\n\t\t\tsource.withCredentials = options.withCredentials;\r\n\r\n\t\tvar loadingTask = PDFJS.getDocument(source);\r\n\t\tloadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public\r\n\r\n\t\tif ( options && options.onPassword )\r\n\t\t\tloadingTask.onPassword = options.onPassword;\r\n\r\n\t\tif ( options && options.onProgress )\r\n\t\t\tloadingTask.onProgress = options.onProgress;\r\n\r\n\t\treturn loadingTask;\r\n\t}\r\n\r\n\r\n\tfunction PDFJSWrapper(canvasElt, annotationLayerElt, emitter) {\r\n\r\n\t\tvar pdfDoc = null;\r\n\t\tvar pdfPage = null;\r\n\t\tvar pdfRender = null;\r\n\t\tvar canceling = false;\r\n\r\n\t\tcanvasElt.getContext('2d').save();\r\n\r\n\t\tfunction clearCanvas() {\r\n\r\n\t\t\tcanvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);\r\n\t\t}\r\n\r\n\t\tfunction clearAnnotations() {\r\n\r\n\t\t\twhile ( annotationLayerElt.firstChild )\r\n\t\t\t\tannotationLayerElt.removeChild(annotationLayerElt.firstChild);\r\n\t\t}\r\n\r\n\t\tthis.destroy = function() {\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// Aborts all network requests and destroys worker.\r\n\t\t\tpendingOperation = pdfDoc.destroy();\r\n\t\t\tpdfDoc = null;\r\n\t\t}\r\n\r\n\t\tthis.getResolutionScale = function() {\r\n\r\n\t\t\treturn canvasElt.offsetWidth / canvasElt.width;\r\n\t\t}\r\n\r\n\t\tthis.printPage = function(dpi, pageNumberOnly) {\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// 1in == 72pt\r\n\t\t\t// 1in == 96px\r\n\t\t\tvar PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;\r\n\t\t\tvar PRINT_UNITS = PRINT_RESOLUTION / 72.0;\r\n\t\t\tvar CSS_UNITS = 96.0 / 72.0;\r\n\r\n\t\t\tvar iframeElt = document.createElement('iframe');\r\n\r\n\t\t\tfunction removeIframe() {\r\n\r\n\t\t\t\tiframeElt.parentNode.removeChild(iframeElt);\r\n\t\t\t}\r\n\r\n\t\t\tnew Promise(function(resolve, reject) {\r\n\r\n\t\t\t\tiframeElt.frameBorder = '0';\r\n\t\t\t\tiframeElt.scrolling = 'no';\r\n\t\t\t\tiframeElt.width = '0px;'\r\n\t\t\t\tiframeElt.height = '0px;'\r\n\t\t\t\tiframeElt.style.cssText = 'position: absolute; top: 0; left: 0';\r\n\r\n\t\t\t\tiframeElt.onload = function() {\r\n\r\n\t\t\t\t\tresolve(this.contentWindow);\r\n\t\t\t\t}\r\n\r\n\t\t\t\twindow.document.body.appendChild(iframeElt);\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\twin.document.title = '';\r\n\r\n\t\t\t\treturn pdfDoc.getPage(1)\r\n\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\t\t\t\t\twin.document.head.appendChild(win.document.createElement('style')).textContent =\r\n\t\t\t\t\t\t'@supports ((size:A4) and (size:1pt 1pt)) {' +\r\n\t\t\t\t\t\t\t'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +\r\n\t\t\t\t\t\t'}' +\r\n\r\n\t\t\t\t\t\t'@media print {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t\t'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t'@media screen {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\treturn win;\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\tvar allPages = [];\r\n\r\n\t\t\t\tfor ( var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber ) {\r\n\r\n\t\t\t\t\tif ( pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1 )\r\n\t\t\t\t\t\tcontinue;\r\n\r\n\t\t\t\t\tallPages.push(\r\n\t\t\t\t\t\tpdfDoc.getPage(pageNumber)\r\n\t\t\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\r\n\t\t\t\t\t\t\tvar printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));\r\n\t\t\t\t\t\t\tprintCanvasElt.width = (viewport.width * PRINT_UNITS);\r\n\t\t\t\t\t\t\tprintCanvasElt.height = (viewport.height * PRINT_UNITS);\r\n\r\n\t\t\t\t\t\t\treturn page.render({\r\n\t\t\t\t\t\t\t\tcanvasContext: printCanvasElt.getContext('2d'),\r\n\t\t\t\t\t\t\t\ttransform: [ // Additional transform, applied just before viewport transform.\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0,\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\tviewport: viewport,\r\n\t\t\t\t\t\t\t\tintent: 'print'\r\n\t\t\t\t\t\t\t}).promise;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tPromise.all(allPages)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\twin.focus(); // Required for IE\r\n\t\t\t\t\tif (win.document.queryCommandSupported('print')) {\r\n\t\t\t\t\t\twin.document.execCommand('print', false, null);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\twin.print();\r\n\t\t\t\t\t }\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t\temitter.emit('error', err);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tthis.renderPage = function(rotate) {\r\n\t\t\tif ( pdfRender !== null ) {\r\n\r\n\t\t\t\tif ( canceling )\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcanceling = true;\r\n\t\t\t\tpdfRender.cancel();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar pageRotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);\r\n\r\n\t\t\tvar scale = canvasElt.offsetWidth / pdfPage.getViewport({ scale: 1 }).width * (window.devicePixelRatio || 1);\r\n\t\t\tvar viewport = pdfPage.getViewport({ scale: scale, rotation:pageRotate });\r\n\r\n\t\t\temitter.emit('page-size', { width: viewport.width, height: viewport.height, scale });\r\n\r\n\t\t\tcanvasElt.width = viewport.width;\r\n\t\t\tcanvasElt.height = viewport.height;\r\n\r\n\t\t\tpdfRender = pdfPage.render({\r\n\t\t\t\tcanvasContext: canvasElt.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t});\r\n\r\n\t\t\tannotationLayerElt.style.visibility = 'hidden';\r\n\t\t\tclearAnnotations();\r\n\r\n\t\t\tvar viewer = {\r\n\t\t\t\tscrollPageIntoView: function(params) {\r\n\t\t\t\t\temitter.emit('link-clicked', params.pageNumber)\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t\tvar linkService = new PDFLinkService();\r\n\t\t\tlinkService.setDocument(pdfDoc);\r\n\t\t\tlinkService.setViewer(viewer);\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar getAnnotationsOperation =\r\n\t\t\t\tpdfPage.getAnnotations({ intent: 'display' })\r\n\t\t\t\t.then(function(annotations) {\r\n\r\n\t\t\t\t\tPDFJS.AnnotationLayer.render({\r\n\t\t\t\t\t\tviewport: viewport.clone({ dontFlip: true }),\r\n\t\t\t\t\t\tdiv: annotationLayerElt,\r\n\t\t\t\t\t\tannotations: annotations,\r\n\t\t\t\t\t\tpage: pdfPage,\r\n\t\t\t\t\t\tlinkService: linkService,\r\n\t\t\t\t\t\trenderInteractiveForms: false\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar pdfRenderOperation =\r\n\t\t\t\tpdfRender.promise\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tannotationLayerElt.style.visibility = '';\r\n\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t\tif ( err instanceof PDFJS.RenderingCancelledException ) {\r\n\r\n\t\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\temitter.emit('error', err);\r\n\t\t\t\t}.bind(this))\r\n\r\n\t\t\t\treturn Promise.all([getAnnotationsOperation, pdfRenderOperation]);\r\n\t\t\t}.bind(this));\r\n\t\t}\r\n\r\n\r\n\t\tthis.forEachPage = function(pageCallback) {\r\n\r\n\t\t\tvar numPages = pdfDoc.numPages;\r\n\r\n\t\t\t(function next(pageNum) {\r\n\r\n\t\t\t\tpdfDoc.getPage(pageNum)\r\n\t\t\t\t.then(pageCallback)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tif ( ++pageNum <= numPages )\r\n\t\t\t\t\t\tnext(pageNum);\r\n\t\t\t\t})\r\n\t\t\t})(1);\r\n\t\t}\r\n\r\n\r\n\t\tthis.loadPage = function(pageNumber, rotate) {\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\treturn pdfDoc.getPage(pageNumber);\r\n\t\t\t})\r\n\t\t\t.then(function(page) {\r\n\r\n\t\t\t\tpdfPage = page;\r\n\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\temitter.emit('page-loaded', page.pageNumber);\r\n\t\t\t}.bind(this))\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitter.emit('error', err);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.loadDocument = function(src) {\r\n\r\n\t\t\tpdfDoc = null;\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\temitter.emit('num-pages', undefined);\r\n\r\n\t\t\tif ( !src ) {\r\n\r\n\t\t\t\tcanvasElt.removeAttribute('width');\r\n\t\t\t\tcanvasElt.removeAttribute('height');\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// wait for pending operation ends\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar loadingTask;\r\n\t\t\t\tif ( isPDFDocumentLoadingTask(src) ) {\r\n\r\n\t\t\t\t\tif ( src.destroyed ) {\r\n\r\n\t\t\t\t\t\temitter.emit('error', new Error('loadingTask has been destroyed'));\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tloadingTask = src;\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tloadingTask = createLoadingTask(src, {\r\n\t\t\t\t\t\tonPassword: function(updatePassword, reason) {\r\n\r\n\t\t\t\t\t\t\tvar reasonStr;\r\n\t\t\t\t\t\t\tswitch (reason) {\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.NEED_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'NEED_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.INCORRECT_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'INCORRECT_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\temitter.emit('password', updatePassword, reasonStr);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tonProgress: function(status) {\r\n\r\n\t\t\t\t\t\t\tvar ratio = status.loaded / status.total;\r\n\t\t\t\t\t\t\temitter.emit('progress', Math.min(ratio, 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn loadingTask.promise;\r\n\t\t\t})\r\n\t\t\t.then(function(pdf) {\r\n\r\n\t\t\t\tpdfDoc = pdf;\r\n\t\t\t\temitter.emit('num-pages', pdf.numPages);\r\n\t\t\t\temitter.emit('loaded');\r\n\t\t\t})\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitter.emit('error', err);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tannotationLayerElt.style.transformOrigin = '0 0';\r\n\t}\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\tPDFJSWrapper: PDFJSWrapper,\r\n\t}\r\n}\r\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","\r\n\r\n\r\n","import script from \"./resize-sensor.vue?vue&type=script&lang=js\"\nexport * from \"./resize-sensor.vue?vue&type=script&lang=js\"\n\nimport \"./resize-sensor.vue?vue&type=style&index=0&id=3a8d472e&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i&&i.push(e)||n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&i.splice(i.indexOf(e)>>>0,1)},emit:function(t,e){(n.get(t)||[]).slice().map(function(n){n(e)}),(n.get(\"*\")||[]).slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.es.js.map\n","import resizeSensor from 'vue3-resize-sensor'\r\nimport { h } from 'vue'\r\nimport mitt from 'mitt'\r\n\r\nexport default function(pdfjsWrapper) {\r\n\r\n\tvar createLoadingTask = pdfjsWrapper.createLoadingTask;\r\n\tvar PDFJSWrapper = pdfjsWrapper.PDFJSWrapper;\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\trender: function() {\r\n\t\t\treturn h('span', {\r\n\t\t\t\tstyle: 'position: relative; display: block'\r\n\t\t\t}, [\r\n\t\t\t\th('canvas', {\r\n\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%; vertical-align: top',\r\n\t\t\t\t\tref:'canvas'\r\n\t\t\t\t}),\r\n\t\t\t\th('span', {\r\n\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%',\r\n\t\t\t\t\tclass: 'annotationLayer',\r\n\t\t\t\t\tref:'annotationLayer'\r\n\t\t\t\t}),\r\n\t\t\t\th(resizeSensor, {\r\n\t\t\t\t\tprops: {\r\n\t\t\t\t\t\tinitial: true\r\n\t\t\t\t\t},\r\n\t\t\t\t\ton: {\r\n\t\t\t\t\t\tresize: this.resize\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tsrc: {\r\n\t\t\t\ttype: [String, Object, Uint8Array],\r\n\t\t\t\tdefault: '',\r\n\t\t\t},\r\n\t\t\tpage: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 1,\r\n\t\t\t},\r\n\t\t\trotate: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t},\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\tsrc: function() {\r\n\r\n\t\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t\t},\r\n\t\t\tpage: function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t},\r\n\t\t\trotate: function() {\r\n\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\t\t\t},\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tresize: function(size) {\r\n\r\n\t\t\t\t// check if the element is attached to the dom tree || resizeSensor being destroyed\r\n\t\t\t\tif ( this.$el.parentNode === null || (size.width === 0 && size.height === 0) )\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\t// on IE10- canvas height must be set\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (this.$refs.canvas.height / this.$refs.canvas.width) + 'px';\r\n\t\t\t\t// update the page when the resolution is too poor\r\n\t\t\t\tvar resolutionScale = this.pdf.getResolutionScale();\r\n\r\n\t\t\t\tif ( resolutionScale < 0.85 || resolutionScale > 1.15 )\r\n\t\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\r\n\t\t\t\t// this.$refs.annotationLayer.style.transform = 'scale('+resolutionScale+')';\r\n\t\t\t},\r\n\t\t\tprint: function(dpi, pageList) {\r\n\r\n\t\t\t\tthis.pdf.printPage(dpi, pageList);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// doc: mounted hook is not called during server-side rendering.\r\n\t\tmounted: function() {\r\n\t\t\tconst emitter = mitt()\r\n\r\n\t\t\tthis.pdf = new PDFJSWrapper(this.$refs.canvas, this.$refs.annotationLayer, emitter);\r\n\r\n\t\t\temitter.on('loaded', () => {\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t});\r\n\r\n\t\t\temitter.on('page-size', ({ width, height }) => {\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (height / width) + 'px';\r\n\t\t\t});\r\n\r\n\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t},\r\n\r\n\t\t// doc: destroyed hook is not called during server-side rendering.\r\n\t\tunmounted: function() {\r\n\r\n\t\t\tthis.pdf.destroy();\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","\r\n","import script from \"./vuePdfNoSss.vue?vue&type=script&lang=js\"\nexport * from \"./vuePdfNoSss.vue?vue&type=script&lang=js\"\n\nimport \"./annotationLayer.css?vue&type=style&index=0&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","/**\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\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n});\nObject.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n});\nObject.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n});\nObject.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n});\nObject.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n});\nObject.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n});\nObject.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n});\nObject.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n});\nObject.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n});\nObject.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n});\nObject.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n});\nObject.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n});\nObject.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n});\nObject.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n});\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n});\nObject.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n});\nObject.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n});\nObject.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n});\nObject.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n});\nObject.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n});\nObject.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n});\nObject.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n});\nObject.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n});\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n});\nObject.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n});\nObject.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n});\nObject.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n});\nObject.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n});\nObject.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n});\nObject.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n});\nObject.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n});\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(202);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(216);\n\nvar _api_compatibility = __w_pdfjs_require__(206);\n\nvar _worker_options = __w_pdfjs_require__(209);\n\nvar _text_layer = __w_pdfjs_require__(217);\n\nvar _svg = __w_pdfjs_require__(218);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n{\n var _require = __w_pdfjs_require__(7),\n isNodeJS = _require.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(219).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(222).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(223).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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.BaseCMapReaderFactory = exports.DOMCanvasFactory = exports.BaseCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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 asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\n\nvar BaseCanvasFactory = /*#__PURE__*/function () {\n function BaseCanvasFactory() {\n _classCallCheck(this, BaseCanvasFactory);\n\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n _createClass(BaseCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.unreachable)(\"Abstract method `create` called.\");\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 BaseCanvasFactory;\n}();\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nvar DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(DOMCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(DOMCanvasFactory);\n\n function DOMCanvasFactory() {\n var _this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\n\n _classCallCheck(this, DOMCanvasFactory);\n\n _this = _super.call(this);\n _this._document = ownerDocument;\n return _this;\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 = this._document.createElement(\"canvas\");\n\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\n return DOMCanvasFactory;\n}(BaseCanvasFactory);\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar BaseCMapReaderFactory = /*#__PURE__*/function () {\n function BaseCMapReaderFactory(_ref2) {\n var _ref2$baseUrl = _ref2.baseUrl,\n baseUrl = _ref2$baseUrl === void 0 ? null : _ref2$baseUrl,\n _ref2$isCompressed = _ref2.isCompressed,\n isCompressed = _ref2$isCompressed === void 0 ? false : _ref2$isCompressed;\n\n _classCallCheck(this, BaseCMapReaderFactory);\n\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(BaseCMapReaderFactory, [{\n key: \"fetch\",\n value: function () {\n var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref3) {\n var _this2 = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n name = _ref3.name;\n\n if (this.baseUrl) {\n _context.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 _context.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 return _context.abrupt(\"return\", this._fetchData(url, compressionType)[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this2.isCompressed ? \"binary \" : \"\", \"CMap at: \").concat(url));\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n return fetch;\n }()\n }, {\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n }]);\n\n return BaseCMapReaderFactory;\n}();\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nvar DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(DOMCMapReaderFactory);\n\n function DOMCMapReaderFactory() {\n _classCallCheck(this, DOMCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n var _this3 = this;\n\n if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {\n return fetch(url).then( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (response.ok) {\n _context2.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this3.isCompressed) {\n _context2.next = 10;\n break;\n }\n\n _context2.t0 = Uint8Array;\n _context2.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context2.t1 = _context2.sent;\n cMapData = new _context2.t0(_context2.t1);\n _context2.next = 15;\n break;\n\n case 10:\n _context2.t2 = _util.stringToBytes;\n _context2.next = 13;\n return response.text();\n\n case 13:\n _context2.t3 = _context2.sent;\n cMapData = (0, _context2.t2)(_context2.t3);\n\n case 15:\n return _context2.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n\n return new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this3.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 (_this3.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this3.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 });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}(BaseCMapReaderFactory);\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar 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\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar 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\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = /*#__PURE__*/function (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n var _super3 = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this4;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this4 = _super3.call(this, msg);\n _this4.type = type;\n return _this4;\n }\n\n return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction 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\nfunction 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\nvar 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\nexports.StatTimer = StatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n}\n\nfunction 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\nfunction 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\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nvar pdfDateStringRegex;\n\nvar 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\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.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__(6);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar 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};\nexports.StreamType = StreamType;\nvar 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};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar 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};\nexports.OPS = OPS;\nvar 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 errorMarkedContent: \"errorMarkedContent\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction 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\nfunction _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\nfunction 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\nfunction 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\nvar 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\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.apply(this, arguments);\n }\n\n return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction 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\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar 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\nexports.Util = Util;\nvar 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\nfunction 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\nfunction escapeString(str) {\n return str.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction getModificationDate() {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(Date.now());\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), (date.getUTCDate() + 1).toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\n\nfunction 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\nvar 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\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.atob = function (input) {\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (div.classList.contains(\"testOne\") === true && div.classList.contains(\"testTwo\") === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n\n __w_pdfjs_require__(101);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(105);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(107);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(109);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(112);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(117);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(138);\n })();\n\n (function checkReadableStream() {\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(145).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(146);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(155);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(161);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(163);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(165);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(190);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(195);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(197);\n })();\n\n (function checkObjectEntries() {\n if (Object.entries) {\n return;\n }\n\n Object.entries = __w_pdfjs_require__(200);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(103);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar iterate = __w_pdfjs_require__(104);\nvar createProperty = __w_pdfjs_require__(93);\n$({\n target: 'Object',\n stat: true\n}, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, undefined, true);\n return obj;\n }\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(108);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(110);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(111);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(113);\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(114);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(115);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(136);\n__w_pdfjs_require__(137);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(119);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(121);\nvar ArrayIteratorMethods = __w_pdfjs_require__(102);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(125);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(126);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(104);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar task = __w_pdfjs_require__(127).set;\nvar microtask = __w_pdfjs_require__(130);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar hostReportErrors = __w_pdfjs_require__(133);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n }, { unsafe: true });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(128);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(127).set;\nvar IS_IOS = __w_pdfjs_require__(128);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(132);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(129);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar iterate = __w_pdfjs_require__(104);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(123);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(144);\n__w_pdfjs_require__(142);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(126);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(141);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(142);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(102);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(126);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(143);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n }\n function MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }();\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }();\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return promiseRejectedWith(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n }();\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n }();\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n }();\n var TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n }();\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar iterate = __w_pdfjs_require__(104);\nvar anInstance = __w_pdfjs_require__(126);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(151);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(150);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(124);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(125);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(149).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(124);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(124);\nvar getWeakData = __w_pdfjs_require__(149).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar ArrayIterationModule = __w_pdfjs_require__(158);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar push = [].push;\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(160);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(170);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\n__w_pdfjs_require__(188);\n__w_pdfjs_require__(189);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(169);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(171);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(158).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineProperty = __w_pdfjs_require__(27).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(191);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(192).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(193);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(192).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(198);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(199).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(201);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.entries;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $entries = __w_pdfjs_require__(199).entries;\n$({\n target: 'Object',\n stat: true\n}, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(203);\n\nvar _node_utils = __w_pdfjs_require__(204);\n\nvar _annotation_storage = __w_pdfjs_require__(205);\n\nvar _api_compatibility = __w_pdfjs_require__(206);\n\nvar _canvas = __w_pdfjs_require__(207);\n\nvar _worker_options = __w_pdfjs_require__(209);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(210);\n\nvar _metadata = __w_pdfjs_require__(211);\n\nvar _optional_content_config = __w_pdfjs_require__(213);\n\nvar _transport_stream = __w_pdfjs_require__(214);\n\nvar _webgl = __w_pdfjs_require__(215);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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(_e2) { throw _e2; }, 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 = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar RENDERING_CANCELLED_TIMEOUT = 100;\nvar DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\nvar DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction 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 || DefaultCMapReaderFactory;\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.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\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 (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n workerId = _ref2[0],\n networkStream = _ref2[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\nfunction _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.6.347',\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\nvar 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: \"destroy\",\n value: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar 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 _iterator = _createForOfIteratorHelper(this._rangeListeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.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\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar 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: \"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: \"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: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\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: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n return this._transport.saveDocument(annotationStorage);\n }\n }, {\n key: \"annotationStorage\",\n get: function get() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n }, {\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: \"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\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) {\n var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\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 = new Map();\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref3.scale,\n _ref3$rotation = _ref3.rotation,\n rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$intent = _ref4.intent,\n intent = _ref4$intent === void 0 ? null : _ref4$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(_ref5) {\n var _this5 = this;\n\n var canvasContext = _ref5.canvasContext,\n viewport = _ref5.viewport,\n _ref5$intent = _ref5.intent,\n intent = _ref5$intent === void 0 ? \"display\" : _ref5$intent,\n _ref5$enableWebGL = _ref5.enableWebGL,\n enableWebGL = _ref5$enableWebGL === void 0 ? false : _ref5$enableWebGL,\n _ref5$renderInteracti = _ref5.renderInteractiveForms,\n renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti,\n _ref5$transform = _ref5.transform,\n transform = _ref5$transform === void 0 ? null : _ref5$transform,\n _ref5$imageLayer = _ref5.imageLayer,\n imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,\n _ref5$canvasFactory = _ref5.canvasFactory,\n canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,\n _ref5$background = _ref5.background,\n background = _ref5$background === void 0 ? null : _ref5$background,\n _ref5$annotationStora = _ref5.annotationStorage,\n annotationStorage = _ref5$annotationStora === void 0 ? null : _ref5$annotationStora,\n _ref5$optionalContent = _ref5.optionalContentConfigPromise,\n optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent;\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 (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\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 annotationStorage: annotationStorage && annotationStorage.getAll() || null\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 (_this5.cleanupAfterRender || renderingIntent === \"print\") {\n _this5.pendingCleanup = true;\n }\n\n _this5._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this5._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this5._stats) {\n _this5._stats.timeEnd(\"Rendering\");\n\n _this5._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 Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n transparency = _ref7[0],\n optionalContentConfig = _ref7[1];\n\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this5._stats) {\n _this5._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency: transparency,\n optionalContentConfig: optionalContentConfig\n });\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 var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\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 _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref8$normalizeWhites = _ref8.normalizeWhitespace,\n normalizeWhitespace = _ref8$normalizeWhites === void 0 ? false : _ref8$normalizeWhites,\n _ref8$disableCombineT = _ref8.disableCombineTextItems,\n disableCombineTextItems = _ref8$disableCombineT === void 0 ? false : _ref8$disableCombineT;\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 (_ref9) {\n var _textContent$items;\n\n var value = _ref9.value,\n done = _ref9.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 this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n\n var _iterator5 = _createForOfIteratorHelper(this._intentStates),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _step5$value = _slicedToArray(_step5.value, 2),\n intent = _step5$value[0],\n intentState = _step5$value[1];\n\n this._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n continue;\n }\n\n var _iterator6 = _createForOfIteratorHelper(intentState.renderTasks),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var internalRenderTask = _step6.value;\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\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 resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup) {\n return false;\n }\n\n var _iterator7 = _createForOfIteratorHelper(this._intentStates.values()),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _step7.value,\n renderTasks = _step7$value.renderTasks,\n operatorList = _step7$value.operatorList;\n\n if (renderTasks.length !== 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this._intentStates.clear();\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.get(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 _i2 = 0; _i2 < intentState.renderTasks.length; _i2++) {\n intentState.renderTasks[_i2].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this6 = 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\n var intentState = this._intentStates.get(args.intent);\n\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref10) {\n var value = _ref10.value,\n done = _ref10.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this6._transport.destroyed) {\n return;\n }\n\n _this6._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this6._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 _this6._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(_ref11) {\n var _this7 = this;\n\n var intentState = _ref11.intentState,\n reason = _ref11.reason,\n _ref11$force = _ref11.force,\n force = _ref11$force === void 0 ? false : _ref11$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 _this7._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 var _iterator8 = _createForOfIteratorHelper(this._intentStates),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _slicedToArray(_step8.value, 2),\n intent = _step8$value[0],\n curIntentState = _step8$value[1];\n\n if (curIntentState === intentState) {\n this._intentStates[\"delete\"](intent);\n\n break;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n this.cleanup();\n }\n }, {\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: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar 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 _this8 = 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(_this8, {\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 _this8._listeners.forEach(function (listener) {\n listener.call(_this8, 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\nexports.LoopbackPort = LoopbackPort;\n\nvar 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 === \"undefined\" ? \"undefined\" : _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 _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var mainWorkerMessageHandler, worker;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function loader() {\n return _ref12.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 _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$name = _ref13.name,\n name = _ref13$name === void 0 ? null : _ref13$name,\n _ref13$port = _ref13.port,\n port = _ref13$port === void 0 ? null : _ref13$port,\n _ref13$verbosity = _ref13.verbosity,\n verbosity = _ref13$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref13$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: \"_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 _this9 = 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 (_this9.destroyed) {\n _this9._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this9._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this9._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 (_this9.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this9._messageHandler = messageHandler;\n _this9._port = worker;\n _this9._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this9.postMessageTransfers = false;\n }\n\n _this9._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this9.verbosity\n });\n } else {\n _this9._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this9.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this9._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this9.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 _this10 = 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 (_this10.destroyed) {\n _this10._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this10._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 _this10._messageHandler = messageHandler;\n\n _this10._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this10.verbosity\n });\n })[\"catch\"](function (reason) {\n _this10._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: \"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: \"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\nexports.PDFWorker = PDFWorker;\n\nvar 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 ownerDocument: params.ownerDocument\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 _this11 = 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 _this11.fontLoader.clear();\n\n if (_this11._networkStream) {\n _this11._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this11.messageHandler) {\n _this11.messageHandler.destroy();\n\n _this11.messageHandler = null;\n }\n\n _this11.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this12 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this12._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this12._fullReader = _this12._networkStream.getFullReader();\n\n _this12._fullReader.onProgress = function (evt) {\n _this12._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this12._fullReader.read().then(function (_ref14) {\n var value = _ref14.value,\n done = _ref14.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 _this12._fullReader.cancel(reason);\n\n sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this12._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this12._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this12._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)(_this12._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this12._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 (_ref15) {\n var value = _ref15.value,\n done = _ref15.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 sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref16) {\n var pdfInfo = _ref16.pdfInfo;\n _this12._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this12));\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 if (!(reason instanceof Error)) {\n var msg = \"DocException - expected a valid Error.\";\n (0, _util.warn)(msg);\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this12._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this12._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this12._passwordCapability.reject(ex);\n }\n } else {\n _this12._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this12._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 _this12.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n var page = _this12.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n if (_this12.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 (_this12.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this12._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this12.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: _this12._onUnsupportedFeature.bind(_this12),\n fontRegistry: fontRegistry\n });\n\n _this12.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 _this12.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"Image\":\n _this12.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 (_this12.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 = _this12.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 (_this12.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 (_this12.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 _this12.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(_ref17) {\n var featureId = _ref17.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 _this13 = 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 (_this13.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.ownerDocument, _this13._params.pdfBug);\n _this13.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: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n numPages: this._numPages,\n annotationStorage: annotationStorage && annotationStorage.getAll() || null,\n filename: this._fullReader ? this._fullReader.filename : null\n })[\"finally\"](function () {\n if (annotationStorage) {\n annotationStorage.resetModified();\n }\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: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(function (results) {\n return new _optional_content_config.OptionalContentConfig(results);\n });\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 _this14 = 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: _this14._fullReader ? _this14._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 _this15 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {\n var page = _this15.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 _this15.commonObjs.clear();\n\n _this15.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\nvar 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\nvar 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: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref18) {\n var callback = _ref18.callback,\n params = _ref18.params,\n objs = _ref18.objs,\n commonObjs = _ref18.commonObjs,\n operatorList = _ref18.operatorList,\n pageIndex = _ref18.pageIndex,\n canvasFactory = _ref18.canvasFactory,\n webGLContext = _ref18.webGLContext,\n _ref18$useRequestAnim = _ref18.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref18$useRequestAnim === void 0 ? false : _ref18$useRequestAnim,\n _ref18$pdfBug = _ref18.pdfBug,\n pdfBug = _ref18$pdfBug === void 0 ? false : _ref18$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(_ref19) {\n var _ref19$transparency = _ref19.transparency,\n transparency = _ref19$transparency === void 0 ? false : _ref19$transparency,\n optionalContentConfig = _ref19.optionalContentConfig;\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, optionalContentConfig);\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 _this16 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this16._nextBound()[\"catch\"](_this16.cancel.bind(_this16));\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__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this.cancelled) {\n _context2.next = 2;\n break;\n }\n\n return _context2.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 _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }, {\n key: \"completed\",\n get: function get() {\n return this.capability.promise[\"catch\"](function () {});\n }\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.6.347';\nexports.version = version;\nvar build = '3be9c65f';\nexports.build = build;\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature,\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\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._document = ownerDocument;\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\n this._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 = this._document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n\n this._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 var _this = this;\n\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n _this._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__*/_regenerator[\"default\"].mark(function _callee(font) {\n var _this2 = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"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(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 24:\n _context.next = 26;\n return new Promise(function (resolve) {\n var request = _this2._queueLoadingCallback(resolve);\n\n _this2._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\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: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof this._document !== \"undefined\" && !!this._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\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(params) {\n var _this3;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this3 = _super.call(this, params);\n _this3.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this3.loadTestFontId = 0;\n return _this3;\n }\n\n _createClass(GenericFontLoader, [{\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: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n var _this4 = this;\n\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\n var canvas = this._document.createElement(\"canvas\");\n\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\n var div = this._document.createElement(\"div\");\n\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 = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n this._document.body.appendChild(div);\n\n isFontReady(loadTestFontId, function () {\n _this4._document.body.removeChild(div);\n\n request.complete();\n });\n }\n }, {\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: \"_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\n return GenericFontLoader;\n }(BaseFontLoader);\n}\n\nvar FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$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 _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\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\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar NodeCanvasFactory = function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCanvasFactory\");\n};\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nvar NodeCMapReaderFactory = function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCMapReaderFactory\");\n};\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nif (_is_node.isNodeJS) {\n exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(NodeCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(NodeCanvasFactory);\n\n function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NodeCanvasFactory, [{\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 = require(\"canvas\");\n\n var canvas = Canvas.createCanvas(width, height);\n return {\n canvas: canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n }]);\n\n return NodeCanvasFactory;\n }(_display_utils.BaseCanvasFactory);\n\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(NodeCMapReaderFactory);\n\n function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NodeCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n return new Promise(function (resolve, reject) {\n var fs = require(\"fs\");\n\n fs.readFile(url, function (error, data) {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve({\n cMapData: new Uint8Array(data),\n compressionType: compressionType\n });\n });\n });\n }\n }]);\n\n return NodeCMapReaderFactory;\n }(_display_utils.BaseCMapReaderFactory);\n}\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationStorage = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationStorage = /*#__PURE__*/function () {\n function AnnotationStorage() {\n _classCallCheck(this, AnnotationStorage);\n\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n _createClass(AnnotationStorage, [{\n key: \"getOrCreateValue\",\n value: function getOrCreateValue(key, defaultValue) {\n if (this._storage.has(key)) {\n return this._storage.get(key);\n }\n\n this._storage.set(key, defaultValue);\n\n return defaultValue;\n }\n }, {\n key: \"setValue\",\n value: function setValue(key, value) {\n if (this._storage.get(key) !== value) {\n this._setModified();\n }\n\n this._storage.set(key, value);\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n if (this._storage.size === 0) {\n return null;\n }\n\n return Object.fromEntries(this._storage);\n }\n }, {\n key: \"_setModified\",\n value: function _setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n }, {\n key: \"resetModified\",\n value: function resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._storage.size;\n }\n }]);\n\n return AnnotationStorage;\n}();\n\nexports.AnnotationStorage = AnnotationStorage;\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apiCompatibilityParams = void 0;\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar compatibilityParams = Object.create(null);\n{\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nvar apiCompatibilityParams = Object.freeze(compatibilityParams);\nexports.apiCompatibilityParams = apiCompatibilityParams;\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _pattern_helper = __w_pdfjs_require__(208);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction 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\nvar 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\nfunction 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\nvar 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 this.transferMaps = 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\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer, optionalContentConfig) {\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.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\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 var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\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 var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\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 if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n var _ref = [black, white];\n white = _ref[0];\n black = _ref[1];\n }\n }\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 var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\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\n if (hasTransferMaps) {\n for (var _k = 0; _k < elemsInThisChunk; _k += 4) {\n if (transferMapRed) {\n dest[_k + 0] = transferMapRed[dest[_k + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k + 1] = transferMapGreen[dest[_k + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k + 2] = transferMapBlue[dest[_k + 2]];\n }\n }\n }\n\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\n if (hasTransferMaps) {\n for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {\n if (transferMapRed) {\n dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n\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 if (_hasTransferMaps) {\n for (var _k3 = 0; _k3 < destPos; _k3 += 4) {\n if (transferMapRed) {\n dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];\n }\n }\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(_ref2) {\n var transform = _ref2.transform,\n viewport = _ref2.viewport,\n _ref2$transparency = _ref2.transparency,\n transparency = _ref2$transparency === void 0 ? false : _ref2$transparency,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? null : _ref2$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 _iterator = _createForOfIteratorHelper(argsArray[i]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var depObjId = _step.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 _iterator.e(err);\n } finally {\n _iterator.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 case \"TR\":\n this.current.transferMaps = value;\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 && ctx.lineWidth < this.getSinglePixelWidth()) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n ctx.moveTo(x, y);\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n ctx.lineTo(x, y);\n 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 (this.contentVisible) {\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\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.contentVisible) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\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 (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - fontSize * 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 if (this.contentVisible) {\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\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 _this = 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, _this.commonObjs, _this.objs, _this.canvasFactory, _this.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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 paintImageMaskXObjectRepeat(imgData, scaleX) {\n var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var scaleY = arguments.length > 4 ? arguments[4] : undefined;\n var positions = arguments.length > 5 ? arguments[5] : undefined;\n\n if (!this.contentVisible) {\n return;\n }\n\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, skewX, skewY, 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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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 if (!this.contentVisible) {\n return;\n }\n\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, this.current.transferMaps);\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 if (!this.contentVisible) {\n return;\n }\n\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, this.current.transferMaps);\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 if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n },\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n },\n endMarkedContent: function CanvasGraphics_endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n },\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 isContentVisible: function CanvasGraphics_isContentVisible() {\n for (var i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\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\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar ShadingIRs = {};\n\nfunction 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\nShadingIRs.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\nvar 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\nShadingIRs.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};\nShadingIRs.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\nfunction 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\nvar 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\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nvar 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\nfunction 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\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = 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 !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.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 = _this.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 = _this.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 _this._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 _this2 = 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 _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2._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 _this2.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 _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.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__*/_regenerator[\"default\"].mark(function _callee(streamId) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.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 _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\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\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _xml_parser = __w_pdfjs_require__(212);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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 return Object.fromEntries(this._metadataMap);\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction 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\nvar 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 _this = 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 _this.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\nvar 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: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\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\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _super.call(this);\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\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\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OptionalContentConfig = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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 _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OptionalContentGroup = function OptionalContentGroup(name, intent) {\n _classCallCheck(this, OptionalContentGroup);\n\n this.visible = true;\n this.name = name;\n this.intent = intent;\n};\n\nvar OptionalContentConfig = /*#__PURE__*/function () {\n function OptionalContentConfig(data) {\n _classCallCheck(this, OptionalContentConfig);\n\n this.name = null;\n this.creator = null;\n this._order = null;\n this._groups = new Map();\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n this._order = data.order;\n\n var _iterator = _createForOfIteratorHelper(data.groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _group = _step.value;\n\n this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (data.baseState === \"OFF\") {\n var _iterator2 = _createForOfIteratorHelper(this._groups),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var group = _step2.value;\n group.visible = false;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n var _iterator3 = _createForOfIteratorHelper(data.on),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var on = _step3.value;\n this._groups.get(on).visible = true;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var _iterator4 = _createForOfIteratorHelper(data.off),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var off = _step4.value;\n this._groups.get(off).visible = false;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n _createClass(OptionalContentConfig, [{\n key: \"isVisible\",\n value: function isVisible(group) {\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(group.id));\n return true;\n }\n\n return this._groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n (0, _util.warn)(\"Visibility expression not supported yet.\");\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n var _iterator5 = _createForOfIteratorHelper(group.ids),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var id = _step5.value;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n var _iterator6 = _createForOfIteratorHelper(group.ids),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _id = _step6.value;\n\n if (!this._groups.has(_id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id));\n return true;\n }\n\n if (!this._groups.get(_id).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n var _iterator7 = _createForOfIteratorHelper(group.ids),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _id2 = _step7.value;\n\n if (!this._groups.has(_id2)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id2));\n return true;\n }\n\n if (!this._groups.get(_id2).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n var _iterator8 = _createForOfIteratorHelper(group.ids),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _id3 = _step8.value;\n\n if (!this._groups.has(_id3)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id3));\n return true;\n }\n\n if (this._groups.get(_id3).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return true;\n }\n\n (0, _util.warn)(\"Unknown optional content policy \".concat(group.policy, \".\"));\n return true;\n }\n\n (0, _util.warn)(\"Unknown group type \".concat(group.type, \".\"));\n return true;\n }\n }, {\n key: \"setVisibility\",\n value: function setVisibility(id) {\n var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return;\n }\n\n this._groups.get(id).visible = !!visible;\n }\n }, {\n key: \"getOrder\",\n value: function getOrder() {\n if (!this._groups.size) {\n return null;\n }\n\n if (this._order) {\n return this._order.slice();\n }\n\n return Array.from(this._groups.keys());\n }\n }, {\n key: \"getGroups\",\n value: function getGroups() {\n if (!this._groups.size) {\n return null;\n }\n\n return Object.fromEntries(this._groups);\n }\n }, {\n key: \"getGroup\",\n value: function getGroup(id) {\n return this._groups.get(id) || null;\n }\n }]);\n\n return OptionalContentConfig;\n}();\n\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = 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 _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._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: \"_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 key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar 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 _iterator = _createForOfIteratorHelper(this._queuedChunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.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: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.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 _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, 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 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\n return PDFDataTransportStreamReader;\n}();\n\nvar 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: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.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 _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, 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 key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.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 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\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar 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/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_storage = __w_pdfjs_require__(205);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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 _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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\nvar 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 this.annotationStorage = parameters.annotationStorage;\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\nvar LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super = _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 _super.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 _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.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 _this2 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super2 = _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 _super2.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\nvar WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super3 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super3.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\nvar TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super4 = _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 _super4.call(this, parameters, isRenderable);\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n var storage = this.annotationStorage;\n var id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n var textContent = storage.getOrCreateValue(id, this.data.fieldValue);\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n }\n\n element.addEventListener(\"input\", function (event) {\n storage.setValue(id, event.target.value);\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\nvar CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super5.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, data.fieldValue && data.fieldValue !== \"Off\");\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.addEventListener(\"change\", function (event) {\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super6.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 storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, data.fieldValue === data.buttonValue);\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.addEventListener(\"change\", function (event) {\n var name = event.target.name;\n\n var _iterator = _createForOfIteratorHelper(document.getElementsByName(name)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var radio = _step.value;\n\n if (radio !== event.target) {\n storage.setValue(radio.parentNode.getAttribute(\"data-annotation-id\"), false);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super7.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\nvar ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super8.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"choiceWidgetAnnotation\";\n var storage = this.annotationStorage;\n var id = this.data.id;\n storage.getOrCreateValue(id, this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null);\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 _iterator2 = _createForOfIteratorHelper(this.data.options),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var option = _step2.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.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n selectElement.addEventListener(\"input\", function (event) {\n var options = event.target.options;\n var value = options[options.selectedIndex].value;\n storage.setValue(id, value);\n });\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super9 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super9.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\nvar 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\nvar FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super10 = _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 _super10.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\nvar LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super11 = _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 _super11.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\nvar SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super12 = _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 _super12.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\nvar CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super13 = _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 _super13.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\nvar PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super14 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _super14.call(this, parameters, isRenderable, true);\n _this3.containerClassName = \"polylineAnnotation\";\n _this3.svgElementName = \"svg:polyline\";\n return _this3;\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 _iterator3 = _createForOfIteratorHelper(data.vertices),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var coordinate = _step3.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 _iterator3.e(err);\n } finally {\n _iterator3.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\nvar PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super15 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _super15.call(this, parameters);\n _this4.containerClassName = \"polygonAnnotation\";\n _this4.svgElementName = \"svg:polygon\";\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super16 = _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 _super16.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\nvar InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super17 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _super17.call(this, parameters, isRenderable, true);\n _this5.containerClassName = \"inkAnnotation\";\n _this5.svgElementName = \"svg:polyline\";\n return _this5;\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 _iterator4 = _createForOfIteratorHelper(data.inkLists),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var inkList = _step4.value;\n var points = [];\n\n var _iterator5 = _createForOfIteratorHelper(inkList),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var coordinate = _step5.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 _iterator5.e(err);\n } finally {\n _iterator5.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 _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super18 = _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 _super18.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\nvar UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super19 = _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 _super19.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\nvar SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super20 = _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 _super20.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\nvar StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super21 = _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 _super21.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\nvar StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super22 = _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 _super22.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\nvar FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _super23.call(this, parameters, true);\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\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\nvar 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 _iterator6 = _createForOfIteratorHelper(parameters.annotations),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _data = _step6.value;\n\n if (!_data) {\n continue;\n }\n\n if (_data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data);\n continue;\n }\n\n sortedAnnotations.push(_data);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {\n var data = _sortedAnnotations[_i];\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: typeof parameters.renderInteractiveForms === \"boolean\" ? parameters.renderInteractiveForms : true,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage()\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 _iterator7 = _createForOfIteratorHelper(parameters.annotations),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var data = _step7.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 _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar 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(_ref) {\n var _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\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 (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._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 _this2 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n\n var canvas = this._document.createElement(\"canvas\");\n\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 _this2._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this2._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(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._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\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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(_e2) { throw _e2; }, 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 = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, 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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator = _createForOfIteratorHelper(opList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var opListElement = _step.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 _iterator.e(err);\n } finally {\n _iterator.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 _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 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 _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 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 _i3 = 0; _i3 < lineSize; _i3++) {\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 _this = 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 _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n _step2;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith(\"g_\") ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.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 _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.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 _iterator3 = _createForOfIteratorHelper(opTree),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var opTreeElement = _step3.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 _iterator3.e(err);\n } finally {\n _iterator3.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 _iterator4 = _createForOfIteratorHelper(glyphs),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var glyph = _step4.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 _iterator4.e(err);\n } finally {\n _iterator4.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$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[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 cssColor = _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 _iterator5 = _createForOfIteratorHelper(colorStops),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var colorStop = _step5.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 _iterator5.e(err);\n } finally {\n _iterator5.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 _iterator6 = _createForOfIteratorHelper(ops),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var op = _step6.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 _iterator6.e(err);\n } finally {\n _iterator6.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 _iterator7 = _createForOfIteratorHelper(states),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$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 _iterator7.e(err);\n } finally {\n _iterator7.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 = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : 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/* 219 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nvar fs = require(\"fs\");\n\nvar http = require(\"http\");\n\nvar https = require(\"https\");\n\nvar url = require(\"url\");\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction 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\nvar 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: \"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 key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar 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: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.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 _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.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 _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, 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 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 _this = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this._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 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\n return BaseFullReader;\n}();\n\nvar 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: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.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 _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.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 _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, 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 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 _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this2._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _super.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === \"http:\") {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on(\"error\", function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _super2.call(this, stream);\n _this4._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 _this4._httpHeaders[property] = value;\n }\n\n _this4._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(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === \"http:\") {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on(\"error\", function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _super3.call(this, stream);\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._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 _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _super4.call(this, stream);\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _content_disposition = __w_pdfjs_require__(221);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.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\nfunction 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\nfunction 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\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction 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 _n2 = 0; _n2 < matches.length; ++_n2) {\n if (!(_n2 in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n2], 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 (_n2 === 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/* 222 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction 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\nvar 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: \"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: \"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\nvar 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\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar 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 _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.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: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.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 _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, 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._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 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\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar 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: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.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 _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, 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 if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction 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\nfunction 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\nvar 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: \"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 key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this = 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 _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n })[\"catch\"](this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.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 _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, 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 if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\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\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = 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 _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n })[\"catch\"](function (reason) {\n if (reason && reason.name === \"AbortError\") {\n return;\n }\n\n throw reason;\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.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 _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, 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 if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}