{"version":3,"sources":["webpack:///./node_modules/pdfjs-dist/build/pdf.js"],"names":["factory","modules","installedModules","__w_pdfjs_require__","moduleId","exports","module","i","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","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDOMUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","Response","ReadableStream","PDFFetchStream","PDFNetworkStream","build","version","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","createPromiseCapability","PasswordResponses","InvalidPDFException","MissingPDFException","SVGGraphics","NativeImageDecoding","CMapCompressionType","PermissionFlag","UnexpectedResponseException","OPS","VerbosityLevel","UNSUPPORTED_FEATURES","createValidAbsoluteUrl","createObjectURL","removeNullCharacters","shadow","Util","URL","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","GlobalWorkerOptions","apiCompatibilityParams","toRomanNumerals","number","lowerCase","arguments","length","undefined","assert","Number","isInteger","pos","romanBuf","push","ROMAN_NUMBER_MAP","romanStr","join","toLowerCase","arrayByteLength","arraysToBytes","arr","Uint8Array","item","itemLength","resultLength","ii","data","stringToBytes","byteLength","set","bytesToString","bytes","_typeof","String","fromCharCode","apply","strBuf","chunkEnd","Math","min","chunk","subarray","capability","isSettled","promise","Promise","resolve","reject","reason","deprecated","details","console","log","getInheritableProperty","_ref","values","dict","_ref$getArray","getArray","_ref$stopWhenFound","stopWhenFound","loopCount","warn","concat","getLookupTableFactory","initializer","lookup","getVerbosityLevel","verbosity","info","msg","INFOS","isArrayBuffer","v","isBool","isEmptyObj","obj","isNum","isString","isSpace","ch","isSameOrigin","baseUrl","otherUrl","base","_url_polyfill","origin","e","other","url","absoluteUrl","protocol","_isValidProtocol","ex","isLittleEndian","buffer8","Uint32Array","buffer","isEvalSupported","Function","log2","x","ceil","readInt8","start","readUint16","offset","readUint32","str","replace","NullCharactersRegExp","setVerbosityLevel","level","prop","configurable","writable","string32","stringToPDFString","charCodeAt","code","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","_streams_polyfill","FormatError","XRefParseException","XRefEntryException","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","MissingDataException","AbortException","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","iterator","constructor","NONE","DECODE","DISPLAY","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","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RL","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","Error","cond","this","message","status","begin","end","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","slice","p3","p4","max","inverseTransform","apply3dTransform","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","result","digits","contentType","forceDataSchema","blob","Blob","type","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","window","document","btoa","chars","Buffer","from","toString","atob","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","Array","_key","_i","token","_len2","_key2","_i2","toggle","force","startsWith","endsWith","includes","assign","isNaN","finally","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","global","self","process","versions","$export","toLength","context","$startsWith","P","F","searchString","that","index","search","core","hide","redefine","ctx","source","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_PROTO","IS_BIND","B","target","S","expProto","U","W","R","__g","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","TypeError","isObject","it","exec","is","fn","val","valueOf","bitmap","has","SRC","$toString","TPL","split","inspectSource","safe","isFunction","id","px","random","aFunction","toInteger","floor","isRegExp","defined","NAME","cof","MATCH","store","uid","_Symbol","USE_SYMBOL","copyright","KEY","re","$endsWith","endPosition","len","indexOf","$includes","el","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","propertyIsEnumerable","UNSCOPABLES","ArrayProto","$at","iterated","_t","point","done","TO_STRING","LIBRARY","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","_createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","open","write","lt","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","shared","documentElement","def","tag","stat","toObject","ObjectProto","isArrayIter","createProperty","getIterFn","iter","arrayLike","step","C","aLen","mapfn","mapping","iterFn","ret","$defineProperty","classof","getIteratorMethod","ARG","T","tryGet","callee","SAFE_CLOSING","riter","skipClosing","gOPS","pIE","$assign","A","K","forEach","k","getSymbols","isEnum","j","getOwnPropertySymbols","LN2","isFinite","test","$iterators","wks","TO_STRING_TAG","ArrayValues","DOMIterables","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","collections","explicit","Collection","addToUnscopables","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","error","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","err","onFulfilled","onRejected","$$reject","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","_exports","SPECIES","D","defer","channel","port","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","listener","event","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","DESCRIPTORS","onFinally","callbackfn","InternalMap","each","meta","weak","fails","validate","getWeak","isExtensible","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","getConstructor","NEED","method","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","isArray","arg","META","setDesc","FREEZE","preventExtensions","setMeta","w","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","splice","ADDER","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","setPrototypeOf","check","buggy","__proto__","gOPD","getOwnPropertyDescriptor","COLLECTION","of","cb","mapFn","nextItem","$fromCodePoint","RangeError","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$DP","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","getOwnPropertyNames","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$pad","maxLength","repeat","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","Infinity","$values","isEntries","isReadableStreamSupported","controller","_typeof2","IsPropertyKey","argument","Call","V","typeIsObject","createDataProperty","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","CreateIterResultObject","IsFiniteNonNegativeNumber","InvokeOrNoop","PromiseInvokeOrNoop","returnValueE","PromiseInvokeOrPerformFallback","argsF","methodE","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","ValidateAndNormalizeQueuingStrategy","size","AssertionError","stack","rethrowAssertionErrorRejection","_createClass","props","protoProps","staticProps","_classCallCheck","_require","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref$highWaterMark","_state","_storedError","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","WritableStreamDefaultController","__startSteps","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","AcquireWritableStreamDefaultWriter","stream","WritableStreamDefaultWriter","state","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightClose","_closedPromise_resolve","_closedPromise_reject","_closedPromiseState","defaultWriterClosedPromiseResolve","WritableStreamCloseQueuedOrInFlight","defaultWriterClosedPromiseReject","_closedPromise","catch","WritableStreamUpdateBackpressure","backpressure","_readyPromise_resolve","_readyPromise_reject","_readyPromise","_readyPromiseState","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","_ownerWritableStream","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultControllerGetDesiredSize","closeRequest","WritableStreamDefaultControllerAdvanceQueueIfNeeded","WritableStreamDefaultWriterEnsureClosedPromiseRejected","defaultWriterClosedPromiseResetToRejected","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","releasedError","chunkSize","strategySize","_strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","WritableStreamDefaultControllerGetChunkSize","writeRequest","WritableStreamAddWriteRequest","writeRecord","enqueueE","_controlledWritableStream","WritableStreamDefaultControllerGetBackpressure","WritableStreamDefaultControllerWrite","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategyHWM","_this","startResult","WritableStreamMarkCloseRequestInFlight","WritableStreamFinishInFlightCloseWithError","WritableStreamDefaultControllerProcessClose","shift","WritableStreamMarkFirstWriteRequestInFlight","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamDefaultControllerProcessWrite","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","_ref2","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","_ref3","options","readable","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","pipeTo","_ref4","preventClose","preventAbort","preventCancel","Boolean","reader","shuttingDown","currentWrite","action","isOrBecomesErrored","shutdownWithAction","shutdown","destClosed","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","pipeLoop","ReadableStreamDefaultReaderRead","_ref5","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","branch1","_branch1","branch2","_branch2","_teeState","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","_cloneForBranch2","cancel1","_stream","cancelResult","cancel2","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","ReadableStreamDefaultControllerError","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","IsReadableStreamDisturbed","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","view","ArrayBuffer","isView","_controlledReadableStream","elementSize","DataView","BYTES_PER_ELEMENT","ctor","pullIntoDescriptor","byteOffset","bytesFilled","readerType","_pendingPullIntos","emptyView","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerHandleQueueDrain","_closeRequested","ReadableByteStreamControllerError","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerPullInto","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","__pullSteps","_underlyingSource","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","ReadableStreamDefaultControllerShouldCallPull","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespondInternal","ReadableByteStreamControllerRespond","firstDescriptor","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_autoAllocateChunkSize","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","transferredBuffer","ReadableByteStreamControllerEnqueueChunkToQueue","transferredView","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerEnqueue","viewE","bufferE","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerRespondInClosedState","remainderSize","remainder","ReadableByteStreamControllerRespondInReadableState","transformStream","readableStream","writableStream","TransformStream","TransformStreamEnqueueToReadable","_errored","_readableClosed","_readableController","TransformStreamErrorIfNeeded","TransformStreamSetBackpressure","TransformStreamCloseReadableInternal","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","_transforming","transformer","_transformer","_transformStreamController","TransformStreamTransform","TransformStreamSource","TransformStreamDefaultController","TransformStreamCloseReadable","TransformStreamError","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","sink","_writable","desiredSize","isURLSupported","u","pathname","href","PolyfillURL","OriginalURL","revokeObjectURL","relative","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","h","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","parse","stateOverride","errors","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","pop","cp","tempC","temp","parseInt","JURL","_url","authority","host","_","PDFDocumentLoadingTask","_util","range","rangeTransport","worker","pdfBytes","location","rangeChunkSize","CMapReaderFactory","_dom_utils","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","_api_compatibility","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","postMessageTransfers","_worker_options","workerPort","fromPort","_worker","docId","destroyed","pdfDataRangeTransport","initialData","messageHandler","sendWithPromise","apiVersion","password","docBaseUrl","workerId","_fetchDocument","networkStream","_transport_stream","PDFDataTransportStream","createPDFNetworkStream","httpHeaders","withCredentials","_message_handler","MessageHandler","transport","WorkerTransport","_transport","send","_capability","pdfNetworkStreamFactory","PDFPageProxy","PDFDocumentProxy","_regenerator","_interopRequireDefault","_font_loader","_canvas","_global_scope","_metadata","_webgl","default","asyncGeneratorStep","gen","_next","_throw","_slicedToArray","_arrayWithHoles","_arr","_e","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","arr2","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_defineProperties","fallbackWorkerSrc","fakeWorkerFilesLoader","isWorkerDisabled","useRequireEnsure","requirejs","toUrl","dynamicLoaderSupported","load","WorkerMessageHandler","pdfjsFilePath","currentScript","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_readyCapability","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","loaded","_this2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_this3","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","pdfInfo","loadingTask","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageMode","getOpenActionDestination","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","scale","_ref$rotation","rotation","rotate","_ref$dontFlip","dontFlip","PageViewport","viewBox","_ref2$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_this4","canvasContext","viewport","_ref3$intent","_ref3$enableWebGL","enableWebGL","_ref3$renderInteracti","renderInteractiveForms","_ref3$transform","_ref3$imageLayer","imageLayer","_ref3$canvasFactory","canvasFactory","_ref3$background","background","stats","time","renderingIntent","canvasFactoryInstance","DOMCanvasFactory","webGLContext","WebGLContext","enable","intentState","displayReadyCapability","receivingOperatorList","operatorList","fnArray","argsArray","lastChunk","complete","renderTasks","internalRenderTask","_tryCleanup","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListTask","opListReadCapability","_ref4$normalizeWhites","normalizeWhitespace","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","streamTextContent","getReader","styles","pump","read","_textContent$items","pageCache","waitOn","renderCompleted","cancel","resetStats","some","operatorListChunk","userUnit","_listeners","_defer","_deferred","transfers","_this5","cloned","cloneValue","transferable","desc","fakeWorkerFilesLoadedCapability","pdfWorkerPorts","nextFakeWorkerId","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","_ref6","_ref6$name","_ref6$port","_ref6$postMessageTran","_ref6$verbosity","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this6","Worker","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this7","mainWorkerMessageHandler","setupFakeWorkerGlobal","workerHandler","setup","delete","canvasInRendering","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this8","page","_destroy","terminated","cancelAllRequests","_this9","getFullReader","evt","total","onPull","_ref7","enqueue","onCancel","_this10","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref8","_ref9","pdfDocument","exception","_this11","_startRenderPage","_renderPageChunk","_this12","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","img","Image","onload","onerror","pageNum","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref10","featureId","_this13","_this14","results","metadata","Metadata","contentDispositionFilename","filename","_this15","cleanup","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","_ref11","_ref11$useRequestAnim","_ref11$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","canvas","_next2","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this16","requestAnimationFrame","mark","_callee","_context","prev","abrupt","executeOperatorList","stop","hadRuntime","regeneratorRuntime","oldRuntime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","reverse","Context","reset","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","rootRecord","completion","rval","dispatchException","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","finallyEntry","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","delegateResult","maybeInvokeDelegate","tryCatch","makeInvokeMethod","previousPromise","callInvokeWithMethodAndArg","unwrapped","pushTryEntry","locs","iteratorMethod","doneResult","webpackPolyfill","deprecate","paths","children","link","rel","title","LinkTargetValues","targetIndex","LinkTargetStringMap","anchor","query","substring","lastIndexOf","script","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","response","responseText","cMapData","compressionType","svg","createElementNS","setAttribute","_ref3$offsetX","offsetX","_ref3$offsetY","offsetY","_ref3$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","_ref4$scale","_ref4$rotation","_ref4$dontFlip","y","tl","br","SELF","BLANK","PARENT","TOP","started","times","Date","longest","_ii","span","duration","_possibleConstructorReturn","ReferenceError","_assertThisInitialized","_getPrototypeOf","_setPrototypeOf","BaseFontLoader","nativeFontFaces","styleElement","_bind","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","t0","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_x","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","subClass","superClass","_inherits","otherRequest","int32","spliceString","insert","called","_loadTestFont","checksum","loadedName","fontFamily","body","isFontReady","fillText","supported","IsEvalSupportedCached","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","compatibilityParams","isIE","isIOSChrome","_pattern_helper","IsLittleEndianCached","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","canvasCtx","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","imgData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","mask","srcByte","putBinaryImageMask","elem","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","layerCtx","maskCtx","scaleX","scaleY","backdrop","isEnabled","composed","layer","subtype","composeFn","hasBackdrop","row","chunkHeight","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref$transparency","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","steps","breakIt","deps","nn","depObjId","objsPool","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","getPattern","needRestore","pendingTextPaths","beginPath","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","patternIR","inv","bl","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","canvasBounds","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","position","getCanvasPosition","appendImage","top","isPatternFill","compiled","j0","width1","points","POINT_TYPES","lineSize","data0","sum","Int32Array","outlines","pp","coords","p0","jj","compileType3Glyph","maskCanvas","positions","images","image","map","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","raw","shadingIR","ShadingIRs","fromIR","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","topLeft","botRight","curMatrixScale","combinedScale","graphics","setFillAndStrokeStyleToContext","setScale","transformToScale","tmpTranslate","clipBbox","tmpScale","scaleToContext","bboxWidth","bboxHeight","cssColor","_asyncToGenerator","resolveCall","_x2","_resolveCall","thisArg","_args","wrapReason","makeReasonSerializable","resolveOrReject","success","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","scope","queueingStrategy","startCapability","startCall","isClosed","pullCapability","pullCall","cancelCapability","cancelCall","sendStreamRequest","streamSink","isCancelled","lastDesiredSize","sinkCapability","sendStreamResponse","deleteStreamController","_xml_parser","_repair","xmlDocument","SimpleXMLParser","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","trim","_get","receiver","Reflect","_superPropBase","XMLParserErrorCode","isWhitespace","XMLParserBase","entity","onResolveEntity","attributes","skipWs","attrValue","attrName","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","text","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","isWhitespaceString","lastElement","_queuedChunks","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","transportReady","PDFDataTransportStreamReader","queuedChunks","_done","_filename","_requests","_headersReady","_read","_read2","PDFDataTransportStreamRangeReader","_begin","_end","_queuedChunk","_enqueue","found","firstReader","_removeRangeReader","requestDataRange","abort","requestCapability","_callee2","_context2","_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","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskCache","figuresCache","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","initSmaskGL","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","scaleLocation","offsetLocation","colorLocation","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","NonWhitespaceRegexp","styleBuf","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","dataset","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","render","_canceled","textDivs","textDivsLength","_renderingDone","expand","expanded","boxes","box","x1New","x2New","expandBoundsLTR","expandBounds","divProperties","ts","Float64Array","findPositiveMin","boxScale","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","clearTimeout","_processItems","styleCache","textLayerFrag","_render","timeout","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","padding","renderParameters","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popup","PopupElement","contents","hideWrapper","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","_bindNamedAction","_bindLink","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","element","multiLine","disabled","readOnly","maxLen","comb","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","fieldName","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","hideElement","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","lineCoordinates","append","_AnnotationElement6","square","_AnnotationElement7","circle","_AnnotationElement8","containerClassName","svgElementName","vertices","polyline","_PolylineAnnotationEl","_AnnotationElement9","inkLists","inkList","_AnnotationElement10","_AnnotationElement11","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_this6$data$file","file","eventBus","dispatch","_download","downloadData","annotations","_is_node","SVG_DEFAULTS","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","crc32","deflateSyncUncompressed","literals","deflateBlocks","idat","adler","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","output","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","pf","toFixed","pm","acos","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","XLINK_NS","clipCount","maskCount","tgrp","executeOpTree","loadDependencies","fnArrayLen","getSVG","svgElement","opTree","convertOpList","REVOPS","opList","opListLen","opListToTree","opTreeLen","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","charWidth","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","setStrokeAlpha","setFillAlpha","opLength","clipId","clipPath","clipElement","cloneNode","getAttributeNS","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","sourceUrl","parsedUrl","isHttp","isFsUrl","_fullRequest","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_loaded","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","auth","hostname","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","match","matches","_match2","quot","part","parts","_matches$n","rfc2231getparam","_filename2","attributePattern","flags","RegExp","textdecode","encoding","decoder","TextDecoder","fatal","decode","quotindex","extvalue","encodingend","charset","hex","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","rangeStr","NetworkManager","getXhr","currXhrId","pendingRequests","loadedRequests","getArrayBuffer","xhr","supportsMozChunked","_source","_manager","PDFNetworkStreamFullRequestReader","manager","onHeadersReceived","_onHeadersReceived","onProgressiveData","_onProgressiveData","onDone","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","PDFNetworkStreamRangeRequestReader","_requestId","requestRange","onClosed","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","mozChunked","onStateChange","onprogress","xhrStatus","rangeHeader","hasPendingRequests","getRequestXhr","isStreamingRequest","isPendingRequest","isLoadedRequest","abortAllRequests","_onRangeRequestReaderClosed","fullRequestXhrId","fullRequestXhr","networkManager","lengthComputable","_close"],"mappings":"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","file":"2b7b2d2a-a66b585da15ecc5f1964.js","sourcesContent":["require(\"core-js/modules/es.typed-array.sort.js\");\n\nrequire(\"core-js/modules/es.array.sort.js\");\n\nrequire(\"core-js/modules/es.promise.finally.js\");\n\n/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/build/pdf\", [], factory);else if (typeof exports === 'object') exports[\"pdfjs-dist/build/pdf\"] = factory();else root[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function () {\n return (\n /******/\n function (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __w_pdfjs_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __w_pdfjs_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __w_pdfjs_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/\n if (!__w_pdfjs_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n enumerable: true,\n get: getter\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // define __esModule on exports\n\n /******/\n\n\n __w_pdfjs_require__.r = function (exports) {\n /******/\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/\n Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n\n /******/\n // create a fake namespace object\n\n /******/\n // mode & 1: value is a module id, require it\n\n /******/\n // mode & 2: merge all properties of value into the ns\n\n /******/\n // mode & 4: return value when already ns object\n\n /******/\n // mode & 8|1: behave like require\n\n /******/\n\n\n __w_pdfjs_require__.t = function (value, mode) {\n /******/\n if (mode & 1) value = __w_pdfjs_require__(value);\n /******/\n\n if (mode & 8) return value;\n /******/\n\n if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value;\n /******/\n\n var ns = Object.create(null);\n /******/\n\n __w_pdfjs_require__.r(ns);\n /******/\n\n\n Object.defineProperty(ns, 'default', {\n enumerable: true,\n value: value\n });\n /******/\n\n if (mode & 2 && typeof value != 'string') for (var key in value) {\n __w_pdfjs_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n }\n /******/\n\n return ns;\n /******/\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __w_pdfjs_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __w_pdfjs_require__.p = \"\";\n /******/\n\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n /******/\n }([\n /* 0 */\n\n /***/\n\n /* 1 */\n\n /***/\n\n /* 2 */\n\n /***/\n\n /* 3 */\n\n /***/\n\n /* 4 */\n\n /***/\n\n /* 5 */\n\n /***/\n\n /* 6 */\n\n /***/\n\n /* 7 */\n\n /***/\n\n /* 8 */\n\n /***/\n\n /* 9 */\n\n /***/\n\n /* 10 */\n\n /***/\n\n /* 11 */\n\n /***/\n\n /* 12 */\n\n /***/\n\n /* 13 */\n\n /***/\n\n /* 14 */\n\n /***/\n\n /* 15 */\n\n /***/\n\n /* 16 */\n\n /***/\n\n /* 17 */\n\n /***/\n\n /* 18 */\n\n /***/\n\n /* 19 */\n\n /***/\n\n /* 20 */\n\n /***/\n\n /* 21 */\n\n /***/\n\n /* 22 */\n\n /***/\n\n /* 23 */\n\n /***/\n\n /* 24 */\n\n /***/\n\n /* 25 */\n\n /***/\n\n /* 26 */\n\n /***/\n\n /* 27 */\n\n /***/\n\n /* 28 */\n\n /***/\n\n /* 29 */\n\n /***/\n\n /* 30 */\n\n /***/\n\n /* 31 */\n\n /***/\n\n /* 32 */\n\n /***/\n\n /* 33 */\n\n /***/\n\n /* 34 */\n\n /***/\n\n /* 35 */\n\n /***/\n\n /* 36 */\n\n /***/\n\n /* 37 */\n\n /***/\n\n /* 38 */\n\n /***/\n\n /* 39 */\n\n /***/\n\n /* 40 */\n\n /***/\n\n /* 41 */\n\n /***/\n\n /* 42 */\n\n /***/\n\n /* 43 */\n\n /***/\n\n /* 44 */\n\n /***/\n\n /* 45 */\n\n /***/\n\n /* 46 */\n\n /***/\n\n /* 47 */\n\n /***/\n\n /* 48 */\n\n /***/\n\n /* 49 */\n\n /***/\n\n /* 50 */\n\n /***/\n\n /* 51 */\n\n /***/\n\n /* 52 */\n\n /***/\n\n /* 53 */\n\n /***/\n\n /* 54 */\n\n /***/\n\n /* 55 */\n\n /***/\n\n /* 56 */\n\n /***/\n\n /* 57 */\n\n /***/\n\n /* 58 */\n\n /***/\n\n /* 59 */\n\n /***/\n\n /* 60 */\n\n /***/\n\n /* 61 */\n\n /***/\n\n /* 62 */\n\n /***/\n\n /* 63 */\n\n /***/\n\n /* 64 */\n\n /***/\n\n /* 65 */\n\n /***/\n\n /* 66 */\n\n /***/\n\n /* 67 */\n\n /***/\n\n /* 68 */\n\n /***/\n\n /* 69 */\n\n /***/\n\n /* 70 */\n\n /***/\n\n /* 71 */\n\n /***/\n\n /* 72 */\n\n /***/\n\n /* 73 */\n\n /***/\n\n /* 74 */\n\n /***/\n\n /* 75 */\n\n /***/\n\n /* 76 */\n\n /***/\n\n /* 77 */\n\n /***/\n\n /* 78 */\n\n /***/\n\n /* 79 */\n\n /***/\n\n /* 80 */\n\n /***/\n\n /* 81 */\n\n /***/\n\n /* 82 */\n\n /***/\n\n /* 83 */\n\n /***/\n\n /* 84 */\n\n /***/\n\n /* 85 */\n\n /***/\n\n /* 86 */\n\n /***/\n\n /* 87 */\n\n /***/\n\n /* 88 */\n\n /***/\n\n /* 89 */\n\n /***/\n\n /* 90 */\n\n /***/\n\n /* 91 */\n\n /***/\n\n /* 92 */\n\n /***/\n\n /* 93 */\n\n /***/\n\n /* 94 */\n\n /***/\n\n /* 95 */\n\n /***/\n\n /* 96 */\n\n /***/\n\n /* 97 */\n\n /***/\n\n /* 98 */\n\n /***/\n\n /* 99 */\n\n /***/\n\n /* 100 */\n\n /***/\n\n /* 101 */\n\n /***/\n\n /* 102 */\n\n /***/\n\n /* 103 */\n\n /***/\n\n /* 104 */\n\n /***/\n\n /* 105 */\n\n /***/\n\n /* 106 */\n\n /***/\n\n /* 107 */\n\n /***/\n\n /* 108 */\n\n /***/\n\n /* 109 */\n\n /***/\n\n /* 110 */\n\n /***/\n\n /* 111 */\n\n /***/\n\n /* 112 */\n\n /***/\n\n /* 113 */\n\n /***/\n\n /* 114 */\n\n /***/\n\n /* 115 */\n\n /***/\n\n /* 116 */\n\n /***/\n\n /* 117 */\n\n /***/\n\n /* 118 */\n\n /***/\n\n /* 119 */\n\n /***/\n\n /* 120 */\n\n /***/\n\n /* 121 */\n\n /***/\n\n /* 122 */\n\n /***/\n\n /* 123 */\n\n /***/\n\n /* 124 */\n\n /***/\n\n /* 125 */\n\n /***/\n\n /* 126 */\n\n /***/\n\n /* 127 */\n\n /***/\n\n /* 128 */\n\n /***/\n\n /* 129 */\n\n /***/\n\n /* 130 */\n\n /***/\n\n /* 131 */\n\n /***/\n\n /* 132 */\n\n /***/\n\n /* 133 */\n\n /***/\n\n /* 134 */\n\n /***/\n\n /* 135 */\n\n /***/\n\n /* 136 */\n\n /***/\n\n /* 137 */\n\n /***/\n\n /* 138 */\n\n /***/\n\n /* 139 */\n\n /***/\n\n /* 140 */\n\n /***/\n\n /* 141 */\n\n /***/\n\n /* 142 */\n\n /***/\n\n /* 143 */\n\n /***/\n\n /* 144 */\n\n /***/\n\n /* 145 */\n\n /***/\n\n /* 146 */\n\n /***/\n\n /* 147 */\n\n /***/\n\n /* 148 */\n\n /***/\n\n /* 149 */\n\n /***/\n\n /* 150 */\n\n /***/\n\n /* 151 */\n\n /***/\n\n /* 152 */\n\n /***/\n\n /* 153 */\n\n /***/\n\n /* 154 */\n\n /***/\n\n /* 155 */\n\n /***/\n\n /* 156 */\n\n /***/\n\n /* 157 */\n\n /***/\n\n /* 158 */\n\n /***/\n\n /* 159 */\n\n /***/\n\n /* 160 */\n\n /***/\n\n /* 161 */\n\n /***/\n\n /* 162 */\n\n /***/\n\n /* 163 */\n\n /***/\n\n /* 164 */\n\n /***/\n\n /* 165 */\n\n /***/\n\n /* 166 */\n\n /***/\n\n /* 167 */\n\n /***/\n\n /* 168 */\n\n /***/\n\n /* 169 */\n\n /***/\n\n /******/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var pdfjsVersion = '2.1.266';\n var pdfjsBuild = '81f5835c';\n\n var pdfjsSharedUtil = __w_pdfjs_require__(1);\n\n var pdfjsDisplayAPI = __w_pdfjs_require__(146);\n\n var pdfjsDisplayTextLayer = __w_pdfjs_require__(162);\n\n var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(163);\n\n var pdfjsDisplayDOMUtils = __w_pdfjs_require__(151);\n\n var pdfjsDisplaySVG = __w_pdfjs_require__(164);\n\n var pdfjsDisplayWorkerOptions = __w_pdfjs_require__(156);\n\n var pdfjsDisplayAPICompatibility = __w_pdfjs_require__(153);\n\n {\n var isNodeJS = __w_pdfjs_require__(4);\n\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(165).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else if (typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined') {\n var PDFFetchStream = __w_pdfjs_require__(168).PDFFetchStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFFetchStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(169).PDFNetworkStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNetworkStream(params);\n });\n }\n }\n exports.build = pdfjsDisplayAPI.build;\n exports.version = pdfjsDisplayAPI.version;\n exports.getDocument = pdfjsDisplayAPI.getDocument;\n exports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\n exports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\n exports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\n exports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\n exports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\n exports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\n exports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\n exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\n exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\n exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\n exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\n exports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\n exports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\n exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\n exports.OPS = pdfjsSharedUtil.OPS;\n exports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\n exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\n exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\n exports.createObjectURL = pdfjsSharedUtil.createObjectURL;\n exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\n exports.shadow = pdfjsSharedUtil.shadow;\n exports.Util = pdfjsSharedUtil.Util;\n exports.ReadableStream = pdfjsSharedUtil.ReadableStream;\n exports.URL = pdfjsSharedUtil.URL;\n exports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;\n exports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\n exports.LinkTarget = pdfjsDisplayDOMUtils.LinkTarget;\n exports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\n exports.loadScript = pdfjsDisplayDOMUtils.loadScript;\n exports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\n exports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.toRomanNumerals = toRomanNumerals;\n exports.arrayByteLength = arrayByteLength;\n exports.arraysToBytes = arraysToBytes;\n exports.assert = assert;\n exports.bytesToString = bytesToString;\n exports.createPromiseCapability = createPromiseCapability;\n exports.deprecated = deprecated;\n exports.getInheritableProperty = getInheritableProperty;\n exports.getLookupTableFactory = getLookupTableFactory;\n exports.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isBool = isBool;\n exports.isEmptyObj = isEmptyObj;\n exports.isNum = isNum;\n exports.isString = isString;\n exports.isSpace = isSpace;\n exports.isSameOrigin = isSameOrigin;\n exports.createValidAbsoluteUrl = createValidAbsoluteUrl;\n exports.isLittleEndian = isLittleEndian;\n exports.isEvalSupported = isEvalSupported;\n exports.log2 = log2;\n exports.readInt8 = readInt8;\n exports.readUint16 = readUint16;\n exports.readUint32 = readUint32;\n exports.removeNullCharacters = removeNullCharacters;\n exports.setVerbosityLevel = setVerbosityLevel;\n exports.shadow = shadow;\n exports.string32 = string32;\n exports.stringToBytes = stringToBytes;\n exports.stringToPDFString = stringToPDFString;\n exports.stringToUTF8String = stringToUTF8String;\n exports.utf8StringToString = utf8StringToString;\n exports.warn = warn;\n exports.unreachable = unreachable;\n Object.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function get() {\n return _streams_polyfill.ReadableStream;\n }\n });\n Object.defineProperty(exports, \"URL\", {\n enumerable: true,\n get: function get() {\n return _url_polyfill.URL;\n }\n });\n exports.createObjectURL = exports.FormatError = exports.XRefParseException = exports.XRefEntryException = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = void 0;\n\n __w_pdfjs_require__(2);\n\n var _streams_polyfill = __w_pdfjs_require__(142);\n\n var _url_polyfill = __w_pdfjs_require__(144);\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n var NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n };\n exports.NativeImageDecoding = NativeImageDecoding;\n var PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n };\n exports.PermissionFlag = PermissionFlag;\n var TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n };\n exports.TextRenderingMode = TextRenderingMode;\n var ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n exports.ImageKind = ImageKind;\n var AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n };\n exports.AnnotationType = AnnotationType;\n var AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n };\n exports.AnnotationFlag = AnnotationFlag;\n var AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n };\n exports.AnnotationFieldFlag = AnnotationFieldFlag;\n var AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n var StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n };\n exports.StreamType = StreamType;\n var FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n };\n exports.FontType = FontType;\n var VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n };\n exports.VerbosityLevel = VerbosityLevel;\n var CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n exports.CMapCompressionType = CMapCompressionType;\n var OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n };\n exports.OPS = OPS;\n var UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n };\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n var PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n exports.PasswordResponses = PasswordResponses;\n var verbosity = VerbosityLevel.WARNINGS;\n\n function setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n }\n\n function getVerbosityLevel() {\n return verbosity;\n }\n\n function info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n }\n\n function warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n }\n\n function deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n }\n\n function unreachable(msg) {\n throw new Error(msg);\n }\n\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n\n function isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.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_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n }\n\n function _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n }\n\n function createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n }\n\n function getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\n }\n\n var PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n }();\n\n exports.PasswordException = PasswordException;\n\n var UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n }();\n\n exports.UnknownErrorException = UnknownErrorException;\n\n var InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n }();\n\n exports.InvalidPDFException = InvalidPDFException;\n\n var MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n }();\n\n exports.MissingPDFException = MissingPDFException;\n\n var UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n }();\n\n exports.UnexpectedResponseException = UnexpectedResponseException;\n\n var MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n }();\n\n exports.MissingDataException = MissingDataException;\n\n var XRefEntryException = function XRefEntryExceptionClosure() {\n function XRefEntryException(msg) {\n this.message = msg;\n }\n\n XRefEntryException.prototype = new Error();\n XRefEntryException.prototype.name = 'XRefEntryException';\n XRefEntryException.constructor = XRefEntryException;\n return XRefEntryException;\n }();\n\n exports.XRefEntryException = XRefEntryException;\n\n var XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n }();\n\n exports.XRefParseException = XRefParseException;\n\n var FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n }();\n\n exports.FormatError = FormatError;\n\n var AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n }();\n\n exports.AbortException = AbortException;\n var NullCharactersRegExp = /\\x00/g;\n\n function removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n }\n\n function bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join('');\n }\n\n function stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n }\n\n function arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n }\n\n function arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (i = 0; i < ii; i++) {\n 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 itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n }\n\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n\n function log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n }\n\n function readInt8(data, start) {\n return data[start] << 24 >> 24;\n }\n\n function readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n }\n\n function isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n }\n\n function isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n warn(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get('Parent');\n }\n\n return values;\n }\n\n var Util = function UtilClosure() {\n function Util() {}\n\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n\n Util.transform = function Util_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 Util.applyTransform = function Util_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 Util.applyInverseTransform = function Util_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 Util.getAxialAlignedBoundingBox = function Util_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 Util.inverseTransform = function Util_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 Util.apply3dTransform = function Util_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 Util.singularValueDecompose2dScale = function Util_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 Util.normalizeRect = function Util_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 Util.intersect = function Util_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 orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n 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 false;\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 false;\n }\n\n return result;\n };\n\n return Util;\n }();\n\n exports.Util = Util;\n var ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];\n\n function toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos,\n romanBuf = [];\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n }\n\n var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\n function stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n\n return strBuf.join('');\n }\n\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n\n function isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n }\n\n function isBool(v) {\n return typeof v === 'boolean';\n }\n\n function isNum(v) {\n return typeof v === 'number';\n }\n\n function isString(v) {\n return typeof v === 'string';\n }\n\n function isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n }\n\n function isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n }\n\n function createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n }\n\n var createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && _url_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n\n var buffer = 'data:' + contentType + ';base64,';\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n }();\n\n exports.createObjectURL = createObjectURL;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n var globalScope = __w_pdfjs_require__(3);\n\n if (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(4);\n\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object';\n\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n\n globalScope.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 || 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; _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; _i2 < tokens.length; _i2++) {\n var token = tokens[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || 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 checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(5);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(35);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(37);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(39);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(46);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(69);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(74);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(76);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(78);\n })();\n\n (function checkPromise() {\n if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype.finally) {\n return;\n }\n\n globalScope.Promise = __w_pdfjs_require__(81);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(101);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(118);\n })();\n\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n\n String.codePointAt = __w_pdfjs_require__(122);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(124);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(126);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(133);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(137);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(139);\n })();\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n module.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'];\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(6);\n\n module.exports = __w_pdfjs_require__(9).String.startsWith;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var toLength = __w_pdfjs_require__(25);\n\n var context = __w_pdfjs_require__(27);\n\n var STARTS_WITH = 'startsWith';\n var $startsWith = ''[STARTS_WITH];\n $export($export.P + $export.F * __w_pdfjs_require__(34)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(8);\n\n var core = __w_pdfjs_require__(9);\n\n var hide = __w_pdfjs_require__(10);\n\n var redefine = __w_pdfjs_require__(20);\n\n var ctx = __w_pdfjs_require__(23);\n\n var PROTOTYPE = 'prototype';\n\n var $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n };\n\n global.core = core;\n $export.F = 1;\n $export.G = 2;\n $export.S = 4;\n $export.P = 8;\n $export.B = 16;\n $export.W = 32;\n $export.U = 64;\n $export.R = 128;\n module.exports = $export;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n if (typeof __g == 'number') __g = global;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var core = module.exports = {\n version: '2.6.2'\n };\n if (typeof __e == 'number') __e = core;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var dP = __w_pdfjs_require__(11);\n\n var createDesc = __w_pdfjs_require__(19);\n\n module.exports = __w_pdfjs_require__(15) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n } : function (object, key, value) {\n object[key] = value;\n return object;\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var anObject = __w_pdfjs_require__(12);\n\n var IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\n var toPrimitive = __w_pdfjs_require__(18);\n\n var dP = Object.defineProperty;\n exports.f = __w_pdfjs_require__(15) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n module.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n module.exports = function (it) {\n return _typeof(it) === 'object' ? it !== null : typeof it === 'function';\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = !__w_pdfjs_require__(15) && !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty(__w_pdfjs_require__(17)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n var document = __w_pdfjs_require__(8).document;\n\n var is = isObject(document) && isObject(document.createElement);\n\n module.exports = function (it) {\n return is ? document.createElement(it) : {};\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n module.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.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 }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(8);\n\n var hide = __w_pdfjs_require__(10);\n\n var has = __w_pdfjs_require__(21);\n\n var SRC = __w_pdfjs_require__(22)('src');\n\n var TO_STRING = 'toString';\n var $toString = Function[TO_STRING];\n var TPL = ('' + $toString).split(TO_STRING);\n\n __w_pdfjs_require__(9).inspectSource = function (it) {\n return $toString.call(it);\n };\n\n (module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n })(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var hasOwnProperty = {}.hasOwnProperty;\n\n module.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var id = 0;\n var px = Math.random();\n\n module.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var aFunction = __w_pdfjs_require__(24);\n\n module.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n\n return function () {\n return fn.apply(that, arguments);\n };\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toInteger = __w_pdfjs_require__(26);\n\n var min = Math.min;\n\n module.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ceil = Math.ceil;\n var floor = Math.floor;\n\n module.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isRegExp = __w_pdfjs_require__(28);\n\n var defined = __w_pdfjs_require__(33);\n\n module.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n var cof = __w_pdfjs_require__(29);\n\n var MATCH = __w_pdfjs_require__(30)('match');\n\n module.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toString = {}.toString;\n\n module.exports = function (it) {\n return toString.call(it).slice(8, -1);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var store = __w_pdfjs_require__(31)('wks');\n\n var uid = __w_pdfjs_require__(22);\n\n var _Symbol = __w_pdfjs_require__(8).Symbol;\n\n var USE_SYMBOL = typeof _Symbol == 'function';\n\n var $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n };\n\n $exports.store = store;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var core = __w_pdfjs_require__(9);\n\n var global = __w_pdfjs_require__(8);\n\n var SHARED = '__core-js_shared__';\n var store = global[SHARED] || (global[SHARED] = {});\n (module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n })('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(32) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = false;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var MATCH = __w_pdfjs_require__(30)('match');\n\n module.exports = function (KEY) {\n var re = /./;\n\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n\n return true;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(36);\n\n module.exports = __w_pdfjs_require__(9).String.endsWith;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var toLength = __w_pdfjs_require__(25);\n\n var context = __w_pdfjs_require__(27);\n\n var ENDS_WITH = 'endsWith';\n var $endsWith = ''[ENDS_WITH];\n $export($export.P + $export.F * __w_pdfjs_require__(34)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(38);\n\n module.exports = __w_pdfjs_require__(9).String.includes;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var context = __w_pdfjs_require__(27);\n\n var INCLUDES = 'includes';\n $export($export.P + $export.F * __w_pdfjs_require__(34)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(40);\n\n module.exports = __w_pdfjs_require__(9).Array.includes;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var $includes = __w_pdfjs_require__(41)(true);\n\n $export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n });\n\n __w_pdfjs_require__(45)('includes');\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toIObject = __w_pdfjs_require__(42);\n\n var toLength = __w_pdfjs_require__(25);\n\n var toAbsoluteIndex = __w_pdfjs_require__(44);\n\n module.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }\n return !IS_INCLUDES && -1;\n };\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var IObject = __w_pdfjs_require__(43);\n\n var defined = __w_pdfjs_require__(33);\n\n module.exports = function (it) {\n return IObject(defined(it));\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var cof = __w_pdfjs_require__(29);\n\n module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toInteger = __w_pdfjs_require__(26);\n\n var max = Math.max;\n var min = Math.min;\n\n module.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var UNSCOPABLES = __w_pdfjs_require__(30)('unscopables');\n\n var ArrayProto = Array.prototype;\n if (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(10)(ArrayProto, UNSCOPABLES, {});\n\n module.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(47);\n\n __w_pdfjs_require__(62);\n\n module.exports = __w_pdfjs_require__(9).Array.from;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $at = __w_pdfjs_require__(48)(true);\n\n __w_pdfjs_require__(49)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n }, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n });\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toInteger = __w_pdfjs_require__(26);\n\n var defined = __w_pdfjs_require__(33);\n\n module.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var LIBRARY = __w_pdfjs_require__(32);\n\n var $export = __w_pdfjs_require__(7);\n\n var redefine = __w_pdfjs_require__(20);\n\n var hide = __w_pdfjs_require__(10);\n\n var Iterators = __w_pdfjs_require__(50);\n\n var $iterCreate = __w_pdfjs_require__(51);\n\n var setToStringTag = __w_pdfjs_require__(59);\n\n var getPrototypeOf = __w_pdfjs_require__(60);\n\n var ITERATOR = __w_pdfjs_require__(30)('iterator');\n\n var BUGGY = !([].keys && 'next' in [].keys());\n var FF_ITERATOR = '@@iterator';\n var KEYS = 'keys';\n var VALUES = 'values';\n\n var returnThis = function returnThis() {\n return this;\n };\n\n module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n\n $default = function values() {\n return $native.call(this);\n };\n }\n\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n\n return methods;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = {};\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var create = __w_pdfjs_require__(52);\n\n var descriptor = __w_pdfjs_require__(19);\n\n var setToStringTag = __w_pdfjs_require__(59);\n\n var IteratorPrototype = {};\n\n __w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(30)('iterator'), function () {\n return this;\n });\n\n module.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, {\n next: descriptor(1, next)\n });\n setToStringTag(Constructor, NAME + ' Iterator');\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var anObject = __w_pdfjs_require__(12);\n\n var dPs = __w_pdfjs_require__(53);\n\n var enumBugKeys = __w_pdfjs_require__(57);\n\n var IE_PROTO = __w_pdfjs_require__(56)('IE_PROTO');\n\n var Empty = function Empty() {};\n\n var PROTOTYPE = 'prototype';\n\n var _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(17)('iframe');\n\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n\n __w_pdfjs_require__(58).appendChild(iframe);\n\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }\n\n return _createDict();\n };\n\n module.exports = Object.create || function create(O, Properties) {\n var result;\n\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n\n return Properties === undefined ? result : dPs(result, Properties);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var dP = __w_pdfjs_require__(11);\n\n var anObject = __w_pdfjs_require__(12);\n\n var getKeys = __w_pdfjs_require__(54);\n\n module.exports = __w_pdfjs_require__(15) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }\n\n return O;\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $keys = __w_pdfjs_require__(55);\n\n var enumBugKeys = __w_pdfjs_require__(57);\n\n module.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var has = __w_pdfjs_require__(21);\n\n var toIObject = __w_pdfjs_require__(42);\n\n var arrayIndexOf = __w_pdfjs_require__(41)(false);\n\n var IE_PROTO = __w_pdfjs_require__(56)('IE_PROTO');\n\n module.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }\n\n while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }\n\n return result;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var shared = __w_pdfjs_require__(31)('keys');\n\n var uid = __w_pdfjs_require__(22);\n\n module.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var document = __w_pdfjs_require__(8).document;\n\n module.exports = document && document.documentElement;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var def = __w_pdfjs_require__(11).f;\n\n var has = __w_pdfjs_require__(21);\n\n var TAG = __w_pdfjs_require__(30)('toStringTag');\n\n module.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var has = __w_pdfjs_require__(21);\n\n var toObject = __w_pdfjs_require__(61);\n\n var IE_PROTO = __w_pdfjs_require__(56)('IE_PROTO');\n\n var ObjectProto = Object.prototype;\n\n module.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n\n return O instanceof Object ? ObjectProto : null;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var defined = __w_pdfjs_require__(33);\n\n module.exports = function (it) {\n return Object(defined(it));\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ctx = __w_pdfjs_require__(23);\n\n var $export = __w_pdfjs_require__(7);\n\n var toObject = __w_pdfjs_require__(61);\n\n var call = __w_pdfjs_require__(63);\n\n var isArrayIter = __w_pdfjs_require__(64);\n\n var toLength = __w_pdfjs_require__(25);\n\n var createProperty = __w_pdfjs_require__(65);\n\n var getIterFn = __w_pdfjs_require__(66);\n\n $export($export.S + $export.F * !__w_pdfjs_require__(68)(function (iter) {\n Array.from(iter);\n }), 'Array', {\n from: function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n\n result.length = index;\n return result;\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var anObject = __w_pdfjs_require__(12);\n\n module.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var Iterators = __w_pdfjs_require__(50);\n\n var ITERATOR = __w_pdfjs_require__(30)('iterator');\n\n var ArrayProto = Array.prototype;\n\n module.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $defineProperty = __w_pdfjs_require__(11);\n\n var createDesc = __w_pdfjs_require__(19);\n\n module.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var classof = __w_pdfjs_require__(67);\n\n var ITERATOR = __w_pdfjs_require__(30)('iterator');\n\n var Iterators = __w_pdfjs_require__(50);\n\n module.exports = __w_pdfjs_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var cof = __w_pdfjs_require__(29);\n\n var TAG = __w_pdfjs_require__(30)('toStringTag');\n\n var ARG = cof(function () {\n return arguments;\n }()) == 'Arguments';\n\n var tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n };\n\n module.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ITERATOR = __w_pdfjs_require__(30)('iterator');\n\n var SAFE_CLOSING = false;\n\n try {\n var riter = [7][ITERATOR]();\n\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n\n Array.from(riter, function () {\n throw 2;\n });\n } catch (e) {}\n\n module.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n\n iter.next = function () {\n return {\n done: safe = true\n };\n };\n\n arr[ITERATOR] = function () {\n return iter;\n };\n\n exec(arr);\n } catch (e) {}\n\n return safe;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(70);\n\n module.exports = __w_pdfjs_require__(9).Object.assign;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n $export($export.S + $export.F, 'Object', {\n assign: __w_pdfjs_require__(71)\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var getKeys = __w_pdfjs_require__(54);\n\n var gOPS = __w_pdfjs_require__(72);\n\n var pIE = __w_pdfjs_require__(73);\n\n var toObject = __w_pdfjs_require__(61);\n\n var IObject = __w_pdfjs_require__(43);\n\n var $assign = Object.assign;\n module.exports = !$assign || __w_pdfjs_require__(16)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n }) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n\n while (length > j) {\n if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n }\n }\n\n return T;\n } : $assign;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n exports.f = Object.getOwnPropertySymbols;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n exports.f = {}.propertyIsEnumerable;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(75);\n\n module.exports = __w_pdfjs_require__(9).Math.log2;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n $export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(77);\n\n module.exports = __w_pdfjs_require__(9).Number.isNaN;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n $export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(79);\n\n module.exports = __w_pdfjs_require__(9).Number.isInteger;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n $export($export.S, 'Number', {\n isInteger: __w_pdfjs_require__(80)\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n var floor = Math.floor;\n\n module.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(82);\n\n __w_pdfjs_require__(47);\n\n __w_pdfjs_require__(83);\n\n __w_pdfjs_require__(86);\n\n __w_pdfjs_require__(99);\n\n __w_pdfjs_require__(100);\n\n module.exports = __w_pdfjs_require__(9).Promise;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var classof = __w_pdfjs_require__(67);\n\n var test = {};\n test[__w_pdfjs_require__(30)('toStringTag')] = 'z';\n\n if (test + '' != '[object z]') {\n __w_pdfjs_require__(20)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $iterators = __w_pdfjs_require__(84);\n\n var getKeys = __w_pdfjs_require__(54);\n\n var redefine = __w_pdfjs_require__(20);\n\n var global = __w_pdfjs_require__(8);\n\n var hide = __w_pdfjs_require__(10);\n\n var Iterators = __w_pdfjs_require__(50);\n\n var wks = __w_pdfjs_require__(30);\n\n var ITERATOR = wks('iterator');\n var TO_STRING_TAG = wks('toStringTag');\n var ArrayValues = Iterators.Array;\n var DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n };\n\n for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var addToUnscopables = __w_pdfjs_require__(45);\n\n var step = __w_pdfjs_require__(85);\n\n var Iterators = __w_pdfjs_require__(50);\n\n var toIObject = __w_pdfjs_require__(42);\n\n module.exports = __w_pdfjs_require__(49)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n }, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n }, 'values');\n Iterators.Arguments = Iterators.Array;\n addToUnscopables('keys');\n addToUnscopables('values');\n addToUnscopables('entries');\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var LIBRARY = __w_pdfjs_require__(32);\n\n var global = __w_pdfjs_require__(8);\n\n var ctx = __w_pdfjs_require__(23);\n\n var classof = __w_pdfjs_require__(67);\n\n var $export = __w_pdfjs_require__(7);\n\n var isObject = __w_pdfjs_require__(13);\n\n var aFunction = __w_pdfjs_require__(24);\n\n var anInstance = __w_pdfjs_require__(87);\n\n var forOf = __w_pdfjs_require__(88);\n\n var speciesConstructor = __w_pdfjs_require__(89);\n\n var task = __w_pdfjs_require__(90).set;\n\n var microtask = __w_pdfjs_require__(92)();\n\n var newPromiseCapabilityModule = __w_pdfjs_require__(93);\n\n var perform = __w_pdfjs_require__(94);\n\n var userAgent = __w_pdfjs_require__(95);\n\n var promiseResolve = __w_pdfjs_require__(96);\n\n var PROMISE = 'Promise';\n var TypeError = global.TypeError;\n var process = global.process;\n var versions = process && process.versions;\n var v8 = versions && versions.v8 || '';\n var $Promise = global[PROMISE];\n var isNode = classof(process) == 'process';\n\n var empty = function empty() {};\n\n var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\n var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n var USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(30)('species')] = function (exec) {\n exec(empty, empty);\n };\n\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n }();\n\n var isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n };\n\n var notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n\n var run = function run(reaction) {\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\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n\n if (handler === true) result = value;else {\n if (domain) domain.enter();\n result = handler(value);\n\n if (domain) {\n domain.exit();\n exited = true;\n }\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 resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n\n while (chain.length > i) {\n run(chain[i++]);\n }\n\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n };\n\n var onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n };\n\n var isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n };\n\n var onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n };\n\n var $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n };\n\n var $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n };\n\n if (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n\n Internal.prototype = __w_pdfjs_require__(97)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n\n this._c.push(reaction);\n\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n }\n\n $export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Promise: $Promise\n });\n\n __w_pdfjs_require__(59)($Promise, PROMISE);\n\n __w_pdfjs_require__(98)(PROMISE);\n\n Wrapper = __w_pdfjs_require__(9)[PROMISE];\n $export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n });\n $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n });\n $export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(68)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n })), PROMISE, {\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 values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\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 forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n\n return it;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ctx = __w_pdfjs_require__(23);\n\n var call = __w_pdfjs_require__(63);\n\n var isArrayIter = __w_pdfjs_require__(64);\n\n var anObject = __w_pdfjs_require__(12);\n\n var toLength = __w_pdfjs_require__(25);\n\n var getIterFn = __w_pdfjs_require__(66);\n\n var BREAK = {};\n var RETURN = {};\n\n var _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n };\n\n _exports.BREAK = BREAK;\n _exports.RETURN = RETURN;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var anObject = __w_pdfjs_require__(12);\n\n var aFunction = __w_pdfjs_require__(24);\n\n var SPECIES = __w_pdfjs_require__(30)('species');\n\n module.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ctx = __w_pdfjs_require__(23);\n\n var invoke = __w_pdfjs_require__(91);\n\n var html = __w_pdfjs_require__(58);\n\n var cel = __w_pdfjs_require__(17);\n\n var global = __w_pdfjs_require__(8);\n\n var process = global.process;\n var setTask = global.setImmediate;\n var clearTask = global.clearImmediate;\n var MessageChannel = global.MessageChannel;\n var Dispatch = global.Dispatch;\n var counter = 0;\n var queue = {};\n var ONREADYSTATECHANGE = 'onreadystatechange';\n var defer, channel, port;\n\n var run = function run() {\n var id = +this;\n\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n };\n\n var listener = function listener(event) {\n run.call(event.data);\n };\n\n if (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n queue[++counter] = function () {\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n\n defer(counter);\n return counter;\n };\n\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n\n if (__w_pdfjs_require__(29)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n }\n\n module.exports = {\n set: setTask,\n clear: clearTask\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (fn, args, that) {\n var un = that === undefined;\n\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n\n return fn.apply(that, args);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(8);\n\n var macrotask = __w_pdfjs_require__(90).set;\n\n var Observer = global.MutationObserver || global.WebKitMutationObserver;\n var process = global.process;\n var Promise = global.Promise;\n var isNode = __w_pdfjs_require__(29)(process) == 'process';\n\n module.exports = function () {\n var head, last, notify;\n\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n\n while (head) {\n fn = head.fn;\n head = head.next;\n\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n\n last = undefined;\n if (parent) parent.enter();\n };\n\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, {\n characterData: true\n });\n\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n\n if (!head) {\n head = task;\n notify();\n }\n\n last = task;\n };\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var aFunction = __w_pdfjs_require__(24);\n\n function PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n }\n\n module.exports.f = function (C) {\n return new PromiseCapability(C);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(8);\n\n var navigator = global.navigator;\n module.exports = navigator && navigator.userAgent || '';\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var anObject = __w_pdfjs_require__(12);\n\n var isObject = __w_pdfjs_require__(13);\n\n var newPromiseCapability = __w_pdfjs_require__(93);\n\n module.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var redefine = __w_pdfjs_require__(20);\n\n module.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }\n\n return target;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(8);\n\n var dP = __w_pdfjs_require__(11);\n\n var DESCRIPTORS = __w_pdfjs_require__(15);\n\n var SPECIES = __w_pdfjs_require__(30)('species');\n\n module.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var core = __w_pdfjs_require__(9);\n\n var global = __w_pdfjs_require__(8);\n\n var speciesConstructor = __w_pdfjs_require__(89);\n\n var promiseResolve = __w_pdfjs_require__(96);\n\n $export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.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 });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var newPromiseCapability = __w_pdfjs_require__(93);\n\n var perform = __w_pdfjs_require__(94);\n\n $export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(82);\n\n __w_pdfjs_require__(83);\n\n __w_pdfjs_require__(102);\n\n __w_pdfjs_require__(114);\n\n __w_pdfjs_require__(116);\n\n module.exports = __w_pdfjs_require__(9).WeakMap;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var each = __w_pdfjs_require__(103)(0);\n\n var redefine = __w_pdfjs_require__(20);\n\n var meta = __w_pdfjs_require__(107);\n\n var assign = __w_pdfjs_require__(71);\n\n var weak = __w_pdfjs_require__(108);\n\n var isObject = __w_pdfjs_require__(13);\n\n var fails = __w_pdfjs_require__(16);\n\n var validate = __w_pdfjs_require__(109);\n\n var WEAK_MAP = 'WeakMap';\n var getWeak = meta.getWeak;\n var isExtensible = Object.isExtensible;\n var uncaughtFrozenStore = weak.ufstore;\n var tmp = {};\n var InternalMap;\n\n var wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n };\n\n var methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n };\n\n var $WeakMap = module.exports = __w_pdfjs_require__(110)(WEAK_MAP, wrapper, methods, weak, true, true);\n\n if (fails(function () {\n return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7;\n })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n\n var result = this._f[key](a, b);\n\n return key == 'set' ? this : result;\n }\n\n return method.call(this, a, b);\n });\n });\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ctx = __w_pdfjs_require__(23);\n\n var IObject = __w_pdfjs_require__(43);\n\n var toObject = __w_pdfjs_require__(61);\n\n var toLength = __w_pdfjs_require__(25);\n\n var asc = __w_pdfjs_require__(104);\n\n module.exports = function (TYPE, $create) {\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 var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n\n case 5:\n return val;\n\n case 6:\n return index;\n\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }\n\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var speciesConstructor = __w_pdfjs_require__(105);\n\n module.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n var isArray = __w_pdfjs_require__(106);\n\n var SPECIES = __w_pdfjs_require__(30)('species');\n\n module.exports = function (original) {\n var C;\n\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n\n return C === undefined ? Array : C;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var cof = __w_pdfjs_require__(29);\n\n module.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n var META = __w_pdfjs_require__(22)('meta');\n\n var isObject = __w_pdfjs_require__(13);\n\n var has = __w_pdfjs_require__(21);\n\n var setDesc = __w_pdfjs_require__(11).f;\n\n var id = 0;\n\n var isExtensible = Object.isExtensible || function () {\n return true;\n };\n\n var FREEZE = !__w_pdfjs_require__(16)(function () {\n return isExtensible(Object.preventExtensions({}));\n });\n\n var setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n };\n\n var fastKey = function fastKey(it, create) {\n if (!isObject(it)) return _typeof(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n\n return it[META].i;\n };\n\n var getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n\n return it[META].w;\n };\n\n var onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n };\n\n var meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var redefineAll = __w_pdfjs_require__(97);\n\n var getWeak = __w_pdfjs_require__(107).getWeak;\n\n var anObject = __w_pdfjs_require__(12);\n\n var isObject = __w_pdfjs_require__(13);\n\n var anInstance = __w_pdfjs_require__(87);\n\n var forOf = __w_pdfjs_require__(88);\n\n var createArrayMethod = __w_pdfjs_require__(103);\n\n var $has = __w_pdfjs_require__(21);\n\n var validate = __w_pdfjs_require__(109);\n\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var id = 0;\n\n var uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n };\n\n var UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n };\n\n var findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n };\n\n UncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n };\n module.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n module.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(8);\n\n var $export = __w_pdfjs_require__(7);\n\n var redefine = __w_pdfjs_require__(20);\n\n var redefineAll = __w_pdfjs_require__(97);\n\n var meta = __w_pdfjs_require__(107);\n\n var forOf = __w_pdfjs_require__(88);\n\n var anInstance = __w_pdfjs_require__(87);\n\n var isObject = __w_pdfjs_require__(13);\n\n var fails = __w_pdfjs_require__(16);\n\n var $iterDetect = __w_pdfjs_require__(68);\n\n var setToStringTag = __w_pdfjs_require__(59);\n\n var inheritIfRequired = __w_pdfjs_require__(111);\n\n module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\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 = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n\n while (index--) {\n $instance[ADDER](index, index);\n }\n\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n var setPrototypeOf = __w_pdfjs_require__(112).set;\n\n module.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n\n return that;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(13);\n\n var anObject = __w_pdfjs_require__(12);\n\n var check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n };\n\n module.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(23)(Function.call, __w_pdfjs_require__(113).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var pIE = __w_pdfjs_require__(73);\n\n var createDesc = __w_pdfjs_require__(19);\n\n var toIObject = __w_pdfjs_require__(42);\n\n var toPrimitive = __w_pdfjs_require__(18);\n\n var has = __w_pdfjs_require__(21);\n\n var IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\n var gOPD = Object.getOwnPropertyDescriptor;\n exports.f = __w_pdfjs_require__(15) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(115)('WeakMap');\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n module.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n\n while (length--) {\n A[length] = arguments[length];\n }\n\n return new this(A);\n }\n });\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(117)('WeakMap');\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var aFunction = __w_pdfjs_require__(24);\n\n var ctx = __w_pdfjs_require__(23);\n\n var forOf = __w_pdfjs_require__(88);\n\n module.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n\n return new this(A);\n }\n });\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(82);\n\n __w_pdfjs_require__(83);\n\n __w_pdfjs_require__(119);\n\n __w_pdfjs_require__(120);\n\n __w_pdfjs_require__(121);\n\n module.exports = __w_pdfjs_require__(9).WeakSet;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var weak = __w_pdfjs_require__(108);\n\n var validate = __w_pdfjs_require__(109);\n\n var WEAK_SET = 'WeakSet';\n\n __w_pdfjs_require__(110)(WEAK_SET, function (get) {\n return function WeakSet() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n }, {\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n }, weak, false, true);\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(115)('WeakSet');\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(117)('WeakSet');\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(123);\n\n module.exports = __w_pdfjs_require__(9).String.codePointAt;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var $at = __w_pdfjs_require__(48)(false);\n\n $export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(125);\n\n module.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var toAbsoluteIndex = __w_pdfjs_require__(44);\n\n var fromCharCode = String.fromCharCode;\n var $fromCodePoint = String.fromCodePoint;\n $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n\n return res.join('');\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(127);\n\n __w_pdfjs_require__(82);\n\n module.exports = __w_pdfjs_require__(9).Symbol;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n var global = __w_pdfjs_require__(8);\n\n var has = __w_pdfjs_require__(21);\n\n var DESCRIPTORS = __w_pdfjs_require__(15);\n\n var $export = __w_pdfjs_require__(7);\n\n var redefine = __w_pdfjs_require__(20);\n\n var META = __w_pdfjs_require__(107).KEY;\n\n var $fails = __w_pdfjs_require__(16);\n\n var shared = __w_pdfjs_require__(31);\n\n var setToStringTag = __w_pdfjs_require__(59);\n\n var uid = __w_pdfjs_require__(22);\n\n var wks = __w_pdfjs_require__(30);\n\n var wksExt = __w_pdfjs_require__(128);\n\n var wksDefine = __w_pdfjs_require__(129);\n\n var enumKeys = __w_pdfjs_require__(130);\n\n var isArray = __w_pdfjs_require__(106);\n\n var anObject = __w_pdfjs_require__(12);\n\n var isObject = __w_pdfjs_require__(13);\n\n var toIObject = __w_pdfjs_require__(42);\n\n var toPrimitive = __w_pdfjs_require__(18);\n\n var createDesc = __w_pdfjs_require__(19);\n\n var _create = __w_pdfjs_require__(52);\n\n var gOPNExt = __w_pdfjs_require__(131);\n\n var $GOPD = __w_pdfjs_require__(113);\n\n var $DP = __w_pdfjs_require__(11);\n\n var $keys = __w_pdfjs_require__(54);\n\n var gOPD = $GOPD.f;\n var dP = $DP.f;\n var gOPN = gOPNExt.f;\n var $Symbol = global.Symbol;\n var $JSON = global.JSON;\n\n var _stringify = $JSON && $JSON.stringify;\n\n var PROTOTYPE = 'prototype';\n var HIDDEN = wks('_hidden');\n var TO_PRIMITIVE = wks('toPrimitive');\n var isEnum = {}.propertyIsEnumerable;\n var SymbolRegistry = shared('symbol-registry');\n var AllSymbols = shared('symbols');\n var OPSymbols = shared('op-symbols');\n var ObjectProto = Object[PROTOTYPE];\n var USE_NATIVE = typeof $Symbol == 'function';\n var QObject = global.QObject;\n var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n var setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', {\n value: 7\n }).a;\n }\n })).a != 7;\n }) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n } : dP;\n\n var wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\n sym._k = tag;\n return sym;\n };\n\n var isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return _typeof(it) == 'symbol';\n } : function (it) {\n return it instanceof $Symbol;\n };\n\n var $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, {\n enumerable: createDesc(0, false)\n });\n }\n\n return setSymbolDesc(it, key, D);\n }\n\n return dP(it, key, D);\n };\n\n var $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }\n\n return it;\n };\n\n var $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n };\n\n var $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n };\n\n var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n };\n\n var $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n\n return result;\n };\n\n var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n\n return result;\n };\n\n if (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(132).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(73).f = $propertyIsEnumerable;\n __w_pdfjs_require__(72).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(32)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n }\n\n $export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Symbol: $Symbol\n });\n\n for (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n }\n\n for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n }\n\n $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n });\n $export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n });\n $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({\n a: S\n }) != '{}' || _stringify(Object(S)) != '{}';\n })), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n });\n $Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n setToStringTag($Symbol, 'Symbol');\n setToStringTag(Math, 'Math', true);\n setToStringTag(global.JSON, 'JSON', true);\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n exports.f = __w_pdfjs_require__(30);\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(8);\n\n var core = __w_pdfjs_require__(9);\n\n var LIBRARY = __w_pdfjs_require__(32);\n\n var wksExt = __w_pdfjs_require__(128);\n\n var defineProperty = __w_pdfjs_require__(11).f;\n\n module.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, {\n value: wksExt.f(name)\n });\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var getKeys = __w_pdfjs_require__(54);\n\n var gOPS = __w_pdfjs_require__(72);\n\n var pIE = __w_pdfjs_require__(73);\n\n module.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n\n return result;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n var toIObject = __w_pdfjs_require__(42);\n\n var gOPN = __w_pdfjs_require__(132).f;\n\n var toString = {}.toString;\n var windowNames = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\n var getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n };\n\n module.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $keys = __w_pdfjs_require__(55);\n\n var hiddenKeys = __w_pdfjs_require__(57).concat('length', 'prototype');\n\n exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(134);\n\n module.exports = __w_pdfjs_require__(9).String.padStart;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var $pad = __w_pdfjs_require__(135);\n\n var userAgent = __w_pdfjs_require__(95);\n\n $export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padStart: function padStart(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toLength = __w_pdfjs_require__(25);\n\n var repeat = __w_pdfjs_require__(136);\n\n var defined = __w_pdfjs_require__(33);\n\n module.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toInteger = __w_pdfjs_require__(26);\n\n var defined = __w_pdfjs_require__(33);\n\n module.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n\n for (; n > 0; (n >>>= 1) && (str += str)) {\n if (n & 1) res += str;\n }\n\n return res;\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(138);\n\n module.exports = __w_pdfjs_require__(9).String.padEnd;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var $pad = __w_pdfjs_require__(135);\n\n var userAgent = __w_pdfjs_require__(95);\n\n $export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padEnd: function padEnd(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(140);\n\n module.exports = __w_pdfjs_require__(9).Object.values;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $export = __w_pdfjs_require__(7);\n\n var $values = __w_pdfjs_require__(141)(false);\n\n $export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n });\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var getKeys = __w_pdfjs_require__(54);\n\n var toIObject = __w_pdfjs_require__(42);\n\n var isEnum = __w_pdfjs_require__(73).f;\n\n module.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n\n while (length > i) {\n if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n };\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n {\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 exports.ReadableStream = ReadableStream;\n } else {\n exports.ReadableStream = __w_pdfjs_require__(143).ReadableStream;\n }\n }\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof2(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof2 = function _typeof2(obj) {\n return typeof obj;\n };\n } else {\n _typeof2 = function _typeof2(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof2(obj);\n }\n\n (function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n })(exports, function (modules) {\n var installedModules = {};\n\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n\n return getter;\n };\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n }([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n\n if (v === Infinity) {\n return false;\n }\n\n if (v < 0) {\n return false;\n }\n\n return true;\n };\n\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n\n return Function.prototype.apply.call(F, V, args);\n }\n\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n\n if (method === undefined) {\n return undefined;\n }\n\n return Call(method, O, args);\n };\n\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n\n return highWaterMark;\n };\n\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n\n _classCallCheck(this, WritableStream);\n\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n\n this._writableStreamController.__startSteps();\n }\n\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsWritableStreamLocked(this);\n }\n }]);\n\n return WritableStream;\n }();\n\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n\n if (stream._writer === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n var error = new TypeError('Requested to abort');\n\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n\n return promise;\n }\n\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n\n stream._writableStreamController.__errorSteps();\n\n var storedError = stream._storedError;\n\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n\n writeRequest._reject(storedError);\n }\n\n stream._writeRequests = [];\n\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n\n promise.then(function () {\n abortRequest._resolve();\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._resolve(undefined);\n\n stream._inFlightWriteRequest = undefined;\n }\n\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._reject(error);\n\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._resolve(undefined);\n\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n\n if (state === 'erroring') {\n stream._storedError = undefined;\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n\n stream._pendingAbortRequest = undefined;\n }\n }\n\n stream._state = 'closed';\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._reject(error);\n\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n\n stream._pendingAbortRequest = undefined;\n }\n\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n\n stream._closeRequest._reject(stream._storedError);\n\n stream._closeRequest = undefined;\n }\n\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n\n writer._closedPromise.catch(function () {});\n }\n }\n\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n\n stream._backpressure = backpressure;\n }\n\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n\n this._readyPromise.catch(function () {});\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n\n this._readyPromise.catch(function () {});\n\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n\n this._closedPromise.catch(function () {});\n }\n }\n\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return;\n }\n\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n\n return this._readyPromise;\n }\n }]);\n\n return WritableStreamDefaultWriter;\n }();\n\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n\n writer._closedPromise.catch(function () {});\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 writer._readyPromise.catch(function () {});\n }\n\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\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\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n var state = stream._state;\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n\n var state = this._controlledWritableStream._state;\n\n if (state !== 'writable') {\n return;\n }\n\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n }]);\n\n return WritableStreamDefaultController;\n }();\n\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n\n if (strategySize === undefined) {\n return 1;\n }\n\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = {\n chunk: chunk\n };\n\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n\n var stream = controller._controlledWritableStream;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n\n if (controller._started === false) {\n return;\n }\n\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return;\n }\n\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n\n if (controller._queue.length === 0) {\n return;\n }\n\n var writeRecord = PeekQueueValue(controller);\n\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_reject(reason);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_resolve(undefined);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_reject(reason);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_resolve(undefined);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n\n var pair = container._queue.shift();\n\n container._queueTotalSize -= pair.size;\n\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n\n return pair.value;\n };\n\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n\n container._queue.push({\n value: value,\n size: size\n });\n\n container._queueTotalSize += size;\n };\n\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n\n _classCallCheck(this, ReadableStream);\n\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n\n mode = String(mode);\n\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done === true) {\n return;\n }\n\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n });\n }).then(pipeLoop);\n }\n\n isOrBecomesErrored(_this, 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(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n\n pipeLoop().catch(function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsReadableStreamLocked(this);\n }\n }]);\n\n return ReadableStream;\n }();\n\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n\n if (stream._reader === undefined) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n\n reader._closedPromise.catch(function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n\n return [branch1Stream, branch2Stream];\n }\n\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n\n teeState.closedOrErrored = true;\n }\n\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n var value1 = value;\n var value2 = value;\n\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n ReadableStreamClose(stream);\n\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n\n _resolve(CreateIterResultObject(undefined, true));\n }\n\n reader._readRequests = [];\n }\n\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n\n readRequest._reject(e);\n }\n\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n\n readIntoRequest._reject(e);\n }\n\n reader._readIntoRequests = [];\n }\n\n defaultReaderClosedPromiseReject(reader, e);\n\n reader._closedPromise.catch(function () {});\n }\n\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n\n var readIntoRequest = reader._readIntoRequests.shift();\n\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n\n var readRequest = reader._readRequests.shift();\n\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\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\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamDefaultReader;\n }();\n\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\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\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\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\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamBYOBReader;\n }();\n\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n\n reader._closedPromise.catch(function () {});\n }\n }\n\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n\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\n reader._closedPromise.catch(function () {});\n\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\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\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\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\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableStreamDefaultController;\n }();\n\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n\n if (desiredSize > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n\n return ReadableStreamBYOBRequest;\n }();\n\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n }).catch(rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\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\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\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\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n\n var entry = this._queue.shift();\n\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\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\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableByteStreamController;\n }();\n\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n\n controller._queueTotalSize += byteLength;\n }\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\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n\n var queue = controller._queue;\n\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\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\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n\n return ready;\n }\n\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n return ReadableStreamAddReadIntoRequest(stream);\n }\n\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\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 Promise.reject(e);\n }\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\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\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n\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\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n\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\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n\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\n ReadableStreamClose(stream);\n }\n\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\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 assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_reject(reason);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_resolve(undefined);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n\n var readableStream = __w_pdfjs_require__(4);\n\n var writableStream = __w_pdfjs_require__(2);\n\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n var controller = transformStream._readableController;\n\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n TransformStreamErrorInternal(transformStream, e);\n }\n\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n\n transformStream._readableClosed = true;\n }\n\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n\n transformStream._backpressure = backpressure;\n }\n\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n\n return true;\n }\n\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n\n return true;\n }\n\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n return Promise.resolve();\n }).catch(function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n\n return TransformStreamSink;\n }();\n\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n\n return TransformStreamSource;\n }();\n\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n\n this._controlledTransformStream = transformStream;\n }\n\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n\n return TransformStreamDefaultController;\n }();\n\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, TransformStream);\n\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise.catch(function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n\n return this._writable;\n }\n }]);\n\n return TransformStream;\n }();\n\n module.exports = {\n TransformStream: TransformStream\n };\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n }, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n }]));\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n {\n var isURLSupported = false;\n\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(145).URL;\n\n var OriginalURL = __w_pdfjs_require__(3).URL;\n\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n\n exports.URL = PolyfillURL;\n }\n }\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n (function URLConstructorClosure() {\n 'use strict';\n\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n\n return h.toLowerCase();\n }\n\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n\n break;\n\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n\n if (stateOverride) {\n break loop;\n }\n\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n\n break;\n\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n\n break;\n\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative':\n this._isRelative = true;\n\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n\n this._path.pop();\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n\n break;\n\n case 'authority second slash':\n state = 'authority ignore slashes';\n\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n\n break;\n\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n\n break;\n\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n\n seenAt = true;\n\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n\n var tempC = percentEscape(cp);\n\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n\n break;\n\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n\n break;\n\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n\n if (stateOverride) {\n break loop;\n }\n\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n\n break;\n\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n\n buffer = '';\n }\n\n if (stateOverride) {\n break loop;\n }\n\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n\n break;\n\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n\n state = 'relative path';\n\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n\n break;\n\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n\n var tmp;\n\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n\n if (buffer === '..') {\n this._path.pop();\n\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n\n this._path.push(buffer);\n }\n\n buffer = '';\n\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n\n break;\n\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n\n break;\n\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n\n break;\n }\n\n cursor++;\n }\n }\n\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n\n var authority = '';\n\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n\n get protocol() {\n return this._scheme + ':';\n },\n\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n\n parse.call(this, value + ':', 'scheme start');\n },\n\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'host');\n },\n\n get hostname() {\n return this._host;\n },\n\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'hostname');\n },\n\n get port() {\n return this._port;\n },\n\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'port');\n },\n\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._query = '?';\n\n if (value[0] === '?') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'query');\n },\n\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n\n this._fragment = '#';\n\n if (value[0] === '#') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'fragment');\n },\n\n get origin() {\n var host;\n\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n\n return 'null';\n }\n\n host = this.host;\n\n if (!host) {\n return '';\n }\n\n return this._scheme + '://' + host;\n }\n\n };\n exports.URL = JURL;\n })();\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getDocument = getDocument;\n exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\n exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\n var _util = __w_pdfjs_require__(1);\n\n var _dom_utils = __w_pdfjs_require__(151);\n\n var _font_loader = __w_pdfjs_require__(152);\n\n var _api_compatibility = __w_pdfjs_require__(153);\n\n var _canvas = __w_pdfjs_require__(154);\n\n var _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\n var _worker_options = __w_pdfjs_require__(156);\n\n var _message_handler = __w_pdfjs_require__(157);\n\n var _metadata = __w_pdfjs_require__(158);\n\n var _transport_stream = __w_pdfjs_require__(160);\n\n var _webgl = __w_pdfjs_require__(161);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }\n\n function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n var DEFAULT_RANGE_CHUNK_SIZE = 65536;\n var isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var fakeWorkerFilesLoader = null;\n {\n var useRequireEnsure = false;\n\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function () {\n return new Promise(function (resolve, reject) {\n require.ensure([], function () {\n try {\n var worker;\n worker = require('./pdf.worker.js');\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject, 'pdfjsWorker');\n });\n } : dynamicLoaderSupported ? function () {\n return new Promise(function (resolve, reject) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n try {\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n });\n } : null;\n\n if (!fallbackWorkerSrc && (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 var createPDFNetworkStream;\n\n function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n }\n\n function getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === 'string') {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new _util.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 || _dom_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n postMessageTransfers: params.postMessageTransfers,\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 return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\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 var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n }).catch(task._capability.reject);\n return task;\n }\n\n function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n }\n\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.1.266',\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 disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n\n return workerId;\n });\n }\n\n var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask = /*#__PURE__*/function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = 'd' + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"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: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _util.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\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\n var PDFDataRangeTransport = /*#__PURE__*/function () {\n function PDFDataRangeTransport(length, initialData) {\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\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: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var listener = _step2.value;\n listener(loaded);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\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 _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n }();\n\n exports.PDFDataRangeTransport = PDFDataRangeTransport;\n\n var PDFDocumentProxy = /*#__PURE__*/function () {\n function PDFDocumentProxy(pdfInfo, transport, loadingTask) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this.loadingTask = loadingTask;\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: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this._transport.getOpenActionDestination();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\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\n return PDFDocumentProxy;\n }();\n\n exports.PDFDocumentProxy = PDFDocumentProxy;\n\n var PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _dom_utils.StatTimer() : _dom_utils.DummyStatTimer;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref.scale,\n _ref$rotation = _ref.rotation,\n rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,\n _ref$dontFlip = _ref.dontFlip,\n dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;\n\n if (arguments.length > 1 || typeof arguments[0] === 'number') {\n (0, _util.deprecated)('getViewport is called with obsolete arguments.');\n scale = arguments[0];\n rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;\n dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;\n }\n\n return new _dom_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$intent = _ref2.intent,\n intent = _ref2$intent === void 0 ? null : _ref2$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(_ref3) {\n var _this4 = this;\n\n var canvasContext = _ref3.canvasContext,\n viewport = _ref3.viewport,\n _ref3$intent = _ref3.intent,\n intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,\n _ref3$enableWebGL = _ref3.enableWebGL,\n enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,\n _ref3$renderInteracti = _ref3.renderInteractiveForms,\n renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,\n _ref3$transform = _ref3.transform,\n transform = _ref3$transform === void 0 ? null : _ref3$transform,\n _ref3$imageLayer = _ref3.imageLayer,\n imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,\n _ref3$canvasFactory = _ref3.canvasFactory,\n canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n var stats = this._stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = intent === 'print' ? 'print' : 'display';\n var canvasFactoryInstance = canvasFactory || new _dom_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (!intentState.displayReadyCapability) {\n intentState.receivingOperatorList = true;\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n stats.time('Page Request');\n\n this._transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this4.cleanupAfterRender) {\n _this4.pendingCleanup = true;\n }\n\n _this4._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\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 pageNumber: this.pageNumber,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== 'print',\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this4.pendingCleanup) {\n complete();\n return;\n }\n\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = 'oplist';\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.receivingOperatorList = true;\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 this._stats.time('Page Request');\n\n this._transport.messageHandler.send('RenderPageRequest', {\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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$normalizeWhites = _ref4.normalizeWhitespace,\n normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,\n _ref4$disableCombineT = _ref4.disableCombineTextItems,\n disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\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 (_ref5) {\n var _textContent$items;\n\n var value = _ref5.value,\n done = _ref5.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 Object.keys(this.intentStates).forEach(function (intent) {\n if (intent === 'oplist') {\n return;\n }\n\n var intentState = this.intentStates[intent];\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n }, this);\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\n 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 || Object.keys(this.intentStates).some(function (intent) {\n var intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n }, this)) {\n return;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats instanceof _dom_utils.StatTimer) {\n this._stats = new _dom_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n\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 _i = 0; _i < intentState.renderTasks.length; _i++) {\n intentState.renderTasks[_i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n\n this._tryCleanup();\n }\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 instanceof _dom_utils.StatTimer ? this._stats : null;\n }\n }]);\n\n return PDFPageProxy;\n }();\n\n exports.PDFPageProxy = PDFPageProxy;\n\n var LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this5 = 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 (value === buffer) {\n result = value;\n } else 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' || typeof desc.value === 'function') {\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(this, {\n data: obj\n });\n }, this);\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 _this5._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this5);\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 = [];\n }\n }]);\n\n return LoopbackPort;\n }();\n\n exports.LoopbackPort = LoopbackPort;\n\n var PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var nextFakeWorkerId = 0;\n var fakeWorkerFilesLoadedCapability;\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _dom_utils.loadScript)(_getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return _util.URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$name = _ref6.name,\n name = _ref6$name === void 0 ? null : _ref6$name,\n _ref6$port = _ref6.port,\n port = _ref6$port === void 0 ? null : _ref6$port,\n _ref6$postMessageTran = _ref6.postMessageTransfers,\n postMessageTransfers = _ref6$postMessageTran === void 0 ? true : _ref6$postMessageTran,\n _ref6$verbosity = _ref6.verbosity,\n verbosity = _ref6$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref6$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 = postMessageTransfers !== false;\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 _this6 = 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 _util.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 (_this6.destroyed) {\n _this6._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this6._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this6._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 (_this6.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data && data.supportTypedArray) {\n _this6._messageHandler = messageHandler;\n _this6._port = worker;\n _this6._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this6.postMessageTransfers = false;\n }\n\n _this6._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this6.verbosity\n });\n } else {\n _this6._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this6._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this6.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.info)('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 _this7 = 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 (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this7._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 _this7._messageHandler = messageHandler;\n\n _this7._readyCapability.resolve();\n }).catch(function (reason) {\n _this7._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\n exports.PDFWorker = PDFWorker;\n\n var WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this8 = 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 = [];\n this.pagePromises = [];\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this8.fontLoader.clear();\n\n if (_this8._networkStream) {\n _this8._networkStream.cancelAllRequests();\n }\n\n if (_this8.messageHandler) {\n _this8.messageHandler.destroy();\n\n _this8.messageHandler = null;\n }\n\n _this8.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n var _this9 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = function (evt) {\n _this9._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this9._fullReader.read().then(function (_ref7) {\n var value = _ref7.value,\n done = _ref7.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\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 _this9._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this10 = this;\n\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this10._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this10._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 }, this);\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(this._networkStream);\n\n var rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref8) {\n var value = _ref8.value,\n done = _ref8.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function (_ref9) {\n var pdfInfo = _ref9.pdfInfo;\n this.numPages = pdfInfo.numPages;\n this.pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n\n loadingTask._capability.resolve(this.pdfDocument);\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this11 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this11._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\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 this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('StartRenderPage', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n\n page._stats.timeEnd('Page Request');\n\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function (data) {\n var _this12 = this;\n\n if (this.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 (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'Font':\n var params = this._params;\n\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && _global_scope.default.FontInspector && _global_scope.default.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope.default['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: this._onUnsupportedFeature.bind(this),\n fontRegistry: fontRegistry\n });\n this.fontLoader.bind(font).then(function () {\n _this12.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n }).finally(function () {\n _this12.commonObjs.resolve(id, font);\n });\n });\n break;\n\n case 'FontPath':\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n }, this);\n messageHandler.on('obj', function (data) {\n if (this.destroyed) {\n return;\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 = this.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n };\n\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n\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 }, this);\n messageHandler.on('DocProgress', function (data) {\n if (this.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageNum - 1];\n var intentState = page.intentStates[data.intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(data.error);\n } else {\n throw new Error(data.error);\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 }, this);\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n var width = img.width;\n var height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n\n if (components === 3) {\n for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {\n buf[_j] = data[_i2];\n }\n }\n\n resolve({\n data: buf,\n width: width,\n height: height\n });\n };\n\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n };\n\n img.src = imageUrl;\n });\n }, this);\n messageHandler.on('FetchBuiltInCMap', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n return this.CMapReaderFactory.fetch({\n name: data.name\n });\n }, this);\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref10) {\n var featureId = _ref10.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.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: \"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: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this.messageHandler.sendWithPromise('getOpenActionDestination', null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise('GetPermissions', null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _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 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 page.cleanup();\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 disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n }();\n\n var PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n }();\n\n var RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _util.deprecated)('RenderTask.then method, use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n }();\n\n var InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref11) {\n var callback = _ref11.callback,\n params = _ref11.params,\n objs = _ref11.objs,\n commonObjs = _ref11.commonObjs,\n operatorList = _ref11.operatorList,\n pageNumber = _ref11.pageNumber,\n canvasFactory = _ref11.canvasFactory,\n webGLContext = _ref11.webGLContext,\n _ref11$useRequestAnim = _ref11.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref11$useRequestAnim === void 0 ? false : _ref11$useRequestAnim,\n _ref11$pdfBug = _ref11.pdfBug,\n pdfBug = _ref11$pdfBug === void 0 ? false : _ref11$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.pageNumber = pageNumber;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== 'undefined';\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && _global_scope.default.StepperManager && _global_scope.default.StepperManager.enabled) {\n this.stepper = _global_scope.default.StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback(error || new _dom_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this.pageNumber), '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 _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this.cancelled) {\n _context.next = 2;\n break;\n }\n\n return _context.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 _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n }();\n\n var version = '2.1.266';\n exports.version = version;\n var build = '81f5835c';\n exports.build = build;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = __w_pdfjs_require__(148);\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n var g = function () {\n return this || (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === \"object\" && self;\n }() || Function(\"return this\")();\n\n var hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n var oldRuntime = hadRuntime && g.regeneratorRuntime;\n g.regeneratorRuntime = undefined;\n module.exports = __w_pdfjs_require__(149);\n\n if (hadRuntime) {\n g.regeneratorRuntime = oldRuntime;\n } else {\n try {\n delete g.regeneratorRuntime;\n } catch (e) {\n g.regeneratorRuntime = undefined;\n }\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n /* WEBPACK VAR INJECTION */\n\n (function (module) {\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n !function (global) {\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 var inModule = (false ? undefined : _typeof(module)) === \"object\";\n var runtime = global.regeneratorRuntime;\n\n if (runtime) {\n if (inModule) {\n module.exports = runtime;\n }\n\n return;\n }\n\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\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 runtime.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 GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.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 runtime.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n runtime.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\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 Promise.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 Promise.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 Promise(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 runtime.AsyncIterator = AsyncIterator;\n\n runtime.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return runtime.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 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 runtime.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 runtime.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 }(function () {\n return this || (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === \"object\" && self;\n }() || Function(\"return this\")());\n /* WEBPACK VAR INJECTION */\n }).call(this, __w_pdfjs_require__(150)(module));\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.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 }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.addLinkAttributes = addLinkAttributes;\n exports.getFilenameFromUrl = getFilenameFromUrl;\n exports.loadScript = loadScript;\n exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\n exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\n var SVG_NS = 'http://www.w3.org/2000/svg';\n\n var DOMCanvasFactory = /*#__PURE__*/function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n }();\n\n exports.DOMCanvasFactory = DOMCanvasFactory;\n\n var DOMCMapReaderFactory = /*#__PURE__*/function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function fetch(_ref2) {\n var _this = this;\n\n var name = _ref2.name;\n\n if (!this.baseUrl) {\n return Promise.reject(new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'));\n }\n\n if (!name) {\n return Promise.reject(new Error('CMap name must be specified.'));\n }\n\n return new Promise(function (resolve, reject) {\n var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var data;\n\n if (_this.isCompressed && request.response) {\n data = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (data) {\n resolve({\n cMapData: data,\n compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n });\n return;\n }\n }\n\n reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n };\n\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n }();\n\n exports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\n var DOMSVGFactory = /*#__PURE__*/function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttribute('version', '1.1');\n svg.setAttribute('width', width + 'px');\n svg.setAttribute('height', height + 'px');\n svg.setAttribute('preserveAspectRatio', 'none');\n svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n }();\n\n exports.DOMSVGFactory = DOMSVGFactory;\n\n var PageViewport = /*#__PURE__*/function () {\n function PageViewport(_ref3) {\n var viewBox = _ref3.viewBox,\n scale = _ref3.scale,\n rotation = _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 _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 default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$scale = _ref4.scale,\n scale = _ref4$scale === void 0 ? this.scale : _ref4$scale,\n _ref4$rotation = _ref4.rotation,\n rotation = _ref4$rotation === void 0 ? this.rotation : _ref4$rotation,\n _ref4$dontFlip = _ref4.dontFlip,\n dontFlip = _ref4$dontFlip === void 0 ? false : _ref4$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: this.offsetX,\n offsetY: this.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 tl = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var br = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [tl[0], tl[1], br[0], br[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n }();\n\n exports.PageViewport = PageViewport;\n\n var RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n }();\n\n exports.RenderingCancelledException = RenderingCancelledException;\n var LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n };\n exports.LinkTarget = LinkTarget;\n var LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\n\n function addLinkAttributes(link) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref5.url,\n target = _ref5.target,\n rel = _ref5.rel;\n\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n\n if (url) {\n var LinkTargetValues = Object.values(LinkTarget);\n var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;\n link.target = LinkTargetStringMap[targetIndex];\n link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;\n }\n }\n\n function getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n }\n\n var StatTimer = /*#__PURE__*/function () {\n function StatTimer() {\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, StatTimer);\n\n this.enabled = !!enable;\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (!this.enabled) {\n return;\n }\n\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + 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 times = this.times;\n var out = '',\n longest = 0;\n\n for (var i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (var _i = 0, _ii = times.length; _i < _ii; ++_i) {\n var span = times[_i];\n var duration = span.end - span.start;\n out += \"\".concat(span['name'].padEnd(longest), \" \").concat(duration, \"ms\\n\");\n }\n\n return out;\n }\n }]);\n\n return StatTimer;\n }();\n\n exports.StatTimer = StatTimer;\n\n var DummyStatTimer = /*#__PURE__*/function () {\n function DummyStatTimer() {\n _classCallCheck(this, DummyStatTimer);\n\n (0, _util.unreachable)('Cannot initialize DummyStatTimer.');\n }\n\n _createClass(DummyStatTimer, null, [{\n key: \"time\",\n value: function time(name) {}\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {}\n }, {\n key: \"toString\",\n value: function toString() {\n return '';\n }\n }]);\n\n return DummyStatTimer;\n }();\n\n exports.DummyStatTimer = DummyStatTimer;\n\n function loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontLoader = exports.FontFaceObject = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\n var _util = __w_pdfjs_require__(1);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee(font) {\n var _this = 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.font\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 = 25;\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 return _context.abrupt(\"return\", new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n }));\n\n case 25:\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 (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');\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\n var FontLoader;\n exports.FontLoader = FontLoader;\n {\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));\n _this2.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this2.loadTestFontId = 0;\n return _this2;\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 function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== 'undefined' && !!document.fonts;\n\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\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 var IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n };\n\n var 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.font\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 && 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\n exports.FontFaceObject = FontFaceObject;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var compatibilityParams = Object.create(null);\n {\n var isNodeJS = __w_pdfjs_require__(4);\n\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkFontFaceAndImage() {\n if (isNodeJS()) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = 'none';\n }\n })();\n }\n exports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CanvasGraphics = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _pattern_helper = __w_pdfjs_require__(155);\n\n var MIN_FONT_SIZE = 16;\n var MAX_FONT_SIZE = 100;\n var MAX_GROUP_SIZE = 4096;\n var MIN_WIDTH_FACTOR = 0.65;\n var COMPILE_TYPE3_GLYPHS = true;\n var MAX_SIZE_TO_COMPILE = 1000;\n var FULL_CHUNK_HEIGHT = 16;\n var IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n\n };\n\n function addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, 'mozCurrentTransform', {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n }\n\n var CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n }();\n\n function compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n --count;\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 i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n }\n\n var CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n }();\n\n var CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xFFFFFFFF;\n var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = '#000000';\n ctx.fillStyle = '#000000';\n ctx.fillRule = 'nonzero';\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = '10px sans-serif';\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n _ref$transparency = _ref.transparency,\n transparency = _ref$transparency === void 0 ? false : _ref$transparency,\n _ref$background = _ref.background,\n background = _ref$background === void 0 ? null : _ref$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 deps = argsArray[i];\n\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var depObjId = deps[n];\n var common = depObjId[0] === 'g' && depObjId[1] === '_';\n var objsPool = common ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\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 CanvasGraphics_setRenderingIntent(intent) {},\n setFlatness: function CanvasGraphics_setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\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.data;\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 ctx = this.canvasFactory.create(10, 10).context;\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;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _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 var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = 'groupAt' + this.groupLevel;\n\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.objs.get(objId);\n\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n }();\n\n exports.CanvasGraphics = CanvasGraphics;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getShadingPatternFromIR = getShadingPatternFromIR;\n exports.TilingPattern = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var ShadingIRs = {};\n ShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var colorStops = raw[2];\n var p0 = raw[3];\n var p1 = raw[4];\n var r0 = raw[5];\n var r1 = raw[6];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n var grad;\n\n if (type === 'axial') {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === 'radial') {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n };\n\n var createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n var k;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\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 k = k < 0 ? 0 : k > 1 ? 1 : k;\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case 'lattice':\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case 'triangles':\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error('illegal figure');\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n }();\n\n ShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n };\n ShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n };\n\n function getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n }\n\n var TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n var topLeft = [x0, y0];\n var botRight = [x0 + xstep, y0 + ystep];\n var width = botRight[0] - topLeft[0];\n var height = botRight[1] - topLeft[1];\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 width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n this.setScale(width, height, xstep, ystep);\n this.transformToScale(graphics);\n var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n graphics.transform.apply(graphics, tmpTranslate);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n return tmpCanvas.canvas;\n },\n setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n this.scale = [width / xstep, height / ystep];\n },\n transformToScale: function TilingPattern_transformToScale(graphics) {\n var scale = this.scale;\n var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n graphics.transform.apply(graphics, tmpScale);\n },\n scaleToContext: function TilingPattern_scaleToContext() {\n var scale = this.scale;\n this.ctx.scale(1 / scale[0], 1 / scale[1]);\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 var temporaryPatternCanvas = this.createPatternCanvas(owner);\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n this.scaleToContext();\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n }();\n\n exports.TilingPattern = TilingPattern;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.GlobalWorkerOptions = void 0;\n var GlobalWorkerOptions = Object.create(null);\n exports.GlobalWorkerOptions = GlobalWorkerOptions;\n GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\n GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MessageHandler = MessageHandler;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\n var _util = __w_pdfjs_require__(1);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function resolveCall(_x, _x2) {\n return _resolveCall.apply(this, arguments);\n }\n\n function _resolveCall() {\n _resolveCall = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee(fn, args) {\n var thisArg,\n _args = arguments;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n thisArg = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;\n\n if (fn) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 3:\n return _context.abrupt(\"return\", fn.apply(thisArg, args));\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n return _resolveCall.apply(this, arguments);\n }\n\n function wrapReason(reason) {\n if (_typeof(reason) !== 'object') {\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 default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n }\n\n function makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n\n function resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n }\n\n function finalize(promise) {\n return Promise.resolve(promise).catch(function () {});\n }\n\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\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 var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = 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 } else if (data.isReply) {\n var callbackId = data.callbackId;\n\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n };\n\n comObj.addEventListener('message', this._onComObjOnMessage);\n }\n\n MessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\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, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n\n return capability.promise;\n },\n sendWithStream: 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 return new _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\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 });\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = (0, _util.createPromiseCapability)();\n\n var sendStreamRequest = function sendStreamRequest(_ref) {\n var stream = _ref.stream,\n chunk = _ref.chunk,\n transfers = _ref.transfers,\n success = _ref.success,\n reason = _ref.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n\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 sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'close'\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n\n var sendStreamResponse = function sendStreamResponse(_ref2) {\n var stream = _ref2.stream,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n\n break;\n\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n\n case 'error':\n (0, _util.assert)(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: 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 destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n };\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Metadata = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _xml_parser = __w_pdfjs_require__(159);\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadata = Object.create(null);\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 this._metadata[name] = entry.textContent.trim();\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n var data = this._metadata[name];\n return typeof data !== 'undefined' ? data : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return this._metadata;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return typeof this._metadata[name] !== 'undefined';\n }\n }]);\n\n return Metadata;\n }();\n\n exports.Metadata = Metadata;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SimpleXMLParser = void 0;\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n };\n\n function isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n }\n\n function isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n }\n\n var XMLParserBase = /*#__PURE__*/function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _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 pos = start,\n name,\n attributes = [];\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 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 name,\n value;\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 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 value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === '<') {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case '/':\n ++j;\n q = s.indexOf('>', j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case '?':\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case '!':\n if (s.substring(j + 1, j + 3) === '--') {\n q = s.indexOf('-->', j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === '[CDATA[') {\n q = s.indexOf(']]>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {\n var q2 = s.indexOf('[', j + 8);\n var complexDoctype = false;\n q = s.indexOf('>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(']>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== '<') {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n }();\n\n var SimpleDOMNode = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, 'parentNode', {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"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\n var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).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\n exports.SimpleXMLParser = SimpleXMLParser;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFDataTransportStream = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\n var _util = __w_pdfjs_require__(1);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n var PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\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) {\n _this._onProgress({\n loaded: loaded\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n PDFDataTransportStream.prototype = {\n _onReceiveData: function PDFDataTransportStream_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);\n }\n },\n _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n if (this._rangeReaders.length > 0) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n }\n },\n _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFDataTransportStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks);\n },\n getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\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 cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n };\n\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n this._stream = stream;\n this._done = false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n PDFDataTransportStreamReader.prototype = {\n _enqueue: function PDFDataTransportStreamReader_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 return;\n }\n\n this._queuedChunks.push(chunk);\n },\n\n get headersReady() {\n return this._headersReady;\n },\n\n get filename() {\n return this._filename;\n },\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n },\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n },\n\n get contentLength() {\n return this._stream._contentLength;\n },\n\n read: 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 cancel: function PDFDataTransportStreamReader_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\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n PDFDataTransportStreamRangeReader.prototype = {\n _enqueue: function PDFDataTransportStreamRangeReader_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 get isStreamingSupported() {\n return false;\n },\n\n read: 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 cancel: function PDFDataTransportStreamRangeReader_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 return PDFDataTransportStream;\n }();\n\n exports.PDFDataTransportStream = PDFDataTransportStream;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.WebGLContext = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var 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\n exports.WebGLContext = WebGLContext;\n\n var WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } ';\n var smaskFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } ';\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } ';\n var figuresFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } ';\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case 'lattice':\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case 'triangles':\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n }();\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.renderTextLayer = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('span');\n var textDivProperties = {\n style: null,\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;\n var 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 styleBuf[1] = left;\n styleBuf[3] = top;\n styleBuf[5] = fontHeight;\n styleBuf[7] = style.fontFamily;\n textDivProperties.style = styleBuf.join('');\n textDiv.setAttribute('style', textDivProperties.style);\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 if (geom.str.length > 1) {\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 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, i) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n\n var findPositiveMin = 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 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 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._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(_global_scope.default.FontInspector && _global_scope.default.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\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n\n this._reader = null;\n }\n\n this._canceled = true;\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject('canceled');\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 textLayerFrag = this._container;\n\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n\n var transform = '';\n\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n textDivProperties.originalTransform = transform;\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n textLayerFrag.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this._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 _this._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(_this);\n } else {\n _this._renderTimer = setTimeout(function () {\n render(_this);\n _this._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 for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProperties = this._textDivProperties.get(div);\n\n if (divProperties.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n var transform = '',\n padding = '';\n\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\n\n if (divProperties.paddingLeft !== 0) {\n padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n }\n\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n\n if (transform !== '') {\n div.style.transform = transform;\n }\n } else {\n div.style.padding = 0;\n div.style.transform = divProperties.originalTransform || '';\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n }();\n\n exports.renderTextLayer = renderTextLayer;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AnnotationLayer = void 0;\n\n var _dom_utils = __w_pdfjs_require__(151);\n\n var _util = __w_pdfjs_require__(1);\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.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.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n }();\n\n var AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement('section');\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute('data-annotation-id', data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = 'matrix(' + viewport.transform.join(',') + ')';\n container.style.transformOrigin = -rect[0] + 'px ' + -rect[1] + 'px';\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = 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 = horizontalRadius + 'px / ' + 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 = rect[0] + 'px';\n container.style.top = rect[1] + 'px';\n container.style.width = width + 'px';\n container.style.height = 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 contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n }();\n\n var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).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 (0, _dom_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _dom_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel\n });\n\n if (!data.url) {\n if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\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\n var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'textAnnotation';\n var image = document.createElement('img');\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';\n image.alt = '[{{type}} Annotation]';\n image.dataset.l10nId = 'text_annotation_type';\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n }(AnnotationElement);\n\n var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n }(AnnotationElement);\n\n var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement('textarea');\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement('input');\n element.type = 'text';\n element.setAttribute('value', this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n\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(' + 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 = this.data.fontSize + 'px';\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n\n if (!font) {\n return;\n }\n\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? '\"' + font.loadedName + '\", ' : '';\n var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation radioButton';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'radio';\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = 'buttonWidgetAnnotation pushButton';\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n }(LinkAnnotationElement);\n\n var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n\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 for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n var option = this.data.options[i];\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n\n selectElement.appendChild(optionElement);\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).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=\"' + 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 contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = -(parentLeft + parentWidth) + 'px -' + parentElement.style.top;\n this.container.style.left = parentLeft + parentWidth + 'px';\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n }(AnnotationElement);\n\n var PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.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 contents = this._formatContents(this.contents);\n\n var title = document.createElement('h1');\n title.textContent = this.title;\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 popup.appendChild(title);\n popup.appendChild(contents);\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n }();\n\n var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(LineAnnotationElement, _AnnotationElement5);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).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);\n line.setAttribute('stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n }(AnnotationElement);\n\n var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(SquareAnnotationElement, _AnnotationElement6);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).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);\n square.setAttribute('stroke', 'transparent');\n square.setAttribute('fill', 'none');\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n }(AnnotationElement);\n\n var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(CircleAnnotationElement, _AnnotationElement7);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).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);\n circle.setAttribute('stroke', 'transparent');\n circle.setAttribute('fill', 'none');\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n }(AnnotationElement);\n\n var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(PolylineAnnotationElement, _AnnotationElement8);\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 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).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 vertices = data.vertices;\n var points = [];\n\n for (var i = 0, ii = vertices.length; i < ii; i++) {\n var x = vertices[i].x - data.rect[0];\n var y = data.rect[3] - vertices[i].y;\n points.push(x + ',' + y);\n }\n\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n }(AnnotationElement);\n\n var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));\n _this4.containerClassName = 'polygonAnnotation';\n _this4.svgElementName = 'svg:polygon';\n return _this4;\n }\n\n return PolygonAnnotationElement;\n }(PolylineAnnotationElement);\n\n var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(InkAnnotationElement, _AnnotationElement9);\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 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).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 var inkLists = data.inkLists;\n\n for (var i = 0, ii = inkLists.length; i < ii; i++) {\n var inkList = inkLists[i];\n var points = [];\n\n for (var j = 0, jj = inkList.length; j < jj; j++) {\n var x = inkList[j].x - data.rect[0];\n var y = data.rect[3] - inkList[j].y;\n points.push(x + ',' + y);\n }\n\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\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\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n }(AnnotationElement);\n\n var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(HighlightAnnotationElement, _AnnotationElement10);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'highlightAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n }(AnnotationElement);\n\n var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement11);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'underlineAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n }(AnnotationElement);\n\n var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement12);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squigglyAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n }(AnnotationElement);\n\n var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement13);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'strikeoutAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n }(AnnotationElement);\n\n var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(StampAnnotationElement, _AnnotationElement14);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'stampAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n }(AnnotationElement);\n\n var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement15);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).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, _dom_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _assertThisInitialized(_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\n var AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n\n if (!data) {\n continue;\n }\n\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || '',\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _dom_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n\n if (element) {\n element.style.transform = 'matrix(' + parameters.viewport.transform.join(',') + ')';\n }\n }\n\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n }();\n\n exports.AnnotationLayer = AnnotationLayer;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SVGGraphics = void 0;\n\n var _util = __w_pdfjs_require__(1);\n\n var _dom_utils = __w_pdfjs_require__(151);\n\n var _is_node = _interopRequireDefault(__w_pdfjs_require__(4));\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n };\n\n exports.SVGGraphics = SVGGraphics;\n {\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n\n var convertImgDataToPng = function convertImgDataToPngClosure() {\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 i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!(0, _is_node.default)()) {\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 = new Buffer(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 var y, i;\n\n for (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 (y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (i = 0; i < lineSize; i++) {\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 = function SVGExtraStateClosure() {\n function SVGExtraState() {\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.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 SVGExtraState.prototype = {\n clone: function SVGExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return SVGExtraState;\n }();\n\n exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var opListLen = opList.length;\n\n for (var x = 0; x < opListLen; x++) {\n if (opList[x].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 (opList[x].fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opList[x]);\n }\n }\n\n return opTree;\n }\n\n 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 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(' + pf(m[0]) + ' ' + 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(' + pf(a) + ')';\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n }\n\n return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n this.svgFactory = new _dom_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 }\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 var clipCount = 0;\n var maskCount = 0;\n SVGGraphics.prototype = {\n save: function SVGGraphics_save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n },\n restore: function SVGGraphics_restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n },\n group: function SVGGraphics_group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n },\n loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0; i < fnArrayLen; i++) {\n if (_util.OPS.dependency === fnArray[i]) {\n var deps = argsArray[i];\n\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var obj = deps[n];\n var common = obj.substring(0, 2) === 'g_';\n var promise;\n\n if (common) {\n promise = new Promise(function (resolve) {\n _this.commonObjs.get(obj, resolve);\n });\n } else {\n promise = new Promise(function (resolve) {\n _this.objs.get(obj, resolve);\n });\n }\n\n this.current.dependencies.push(promise);\n }\n }\n }\n\n return Promise.all(this.current.dependencies);\n },\n transform: function SVGGraphics_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 getSVG: function SVGGraphics_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 var opTree = _this2.convertOpList(operatorList);\n\n _this2.executeOpTree(opTree);\n\n return svgElement;\n });\n },\n convertOpList: function SVGGraphics_convertOpList(operatorList) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var REVOPS = [];\n var opList = [];\n\n for (var op in _util.OPS) {\n REVOPS[_util.OPS[op]] = op;\n }\n\n for (var x = 0; x < fnArrayLen; x++) {\n var fnId = fnArray[x];\n opList.push({\n 'fnId': fnId,\n 'fn': REVOPS[fnId],\n 'args': argsArray[x]\n });\n }\n\n return opListToTree(opList);\n },\n executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n var opTreeLen = opTree.length;\n\n for (var x = 0; x < opTreeLen; x++) {\n var fn = opTree[x].fn;\n var fnId = opTree[x].fnId;\n var args = opTree[x].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.setDash:\n this.setDash(args[0], args[1]);\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.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\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(opTree[x].items);\n break;\n\n default:\n (0, _util.warn)('Unimplemented operator ' + fn);\n break;\n }\n }\n },\n setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n },\n setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n },\n nextLine: function SVGGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n },\n beginText: function SVGGraphics_beginText() {\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.lineMatrix = _util.IDENTITY_MATRIX;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.txtElement = this.svgFactory.createElement('svg:text');\n this.current.txtgrp = this.svgFactory.createElement('svg:g');\n this.current.xcoords = [];\n },\n moveText: function SVGGraphics_moveText(x, y) {\n var current = this.current;\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n },\n showText: function SVGGraphics_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 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 widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', 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 this._setStrokeAttributes(current.tspan);\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', pm(textMatrix) + ' scale(1, -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 setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\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: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n },\n setFont: function SVGGraphics_setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n this.current.font = fontObj;\n\n if (this.embedFonts && fontObj.data && !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 = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\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 },\n endText: 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 setLineWidth: function SVGGraphics_setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n },\n setLineCap: function SVGGraphics_setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function SVGGraphics_setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n this.current.miterLimit = limit;\n },\n setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n },\n setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.current.strokeColor = color;\n },\n setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n },\n setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.current.fillColor = color;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n },\n setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n },\n constructPath: function SVGGraphics_constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n current.path = this.svgFactory.createElement('svg:path');\n var d = [];\n var opLength = ops.length;\n\n for (var i = 0, j = 0; i < opLength; 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 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 x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(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\n current.path.setAttributeNS(null, 'd', d.join(' '));\n current.path.setAttributeNS(null, 'fill', 'none');\n\n this._ensureTransformGroup().appendChild(current.path);\n\n current.element = current.path;\n current.setCurrentPoint(x, y);\n },\n endPath: function SVGGraphics_endPath() {\n if (!this.pendingClip) {\n return;\n }\n\n var current = this.current;\n var clipId = 'clippath' + clipCount;\n 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(#' + clipId + ')';\n this.tgrp = null;\n },\n clip: function SVGGraphics_clip(type) {\n this.pendingClip = type;\n },\n closePath: function SVGGraphics_closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = current.path.getAttributeNS(null, 'd');\n d += 'Z';\n current.path.setAttributeNS(null, 'd', d);\n }\n },\n setLeading: function SVGGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setTextRise: function SVGGraphics_setTextRise(textRise) {\n this.current.textRise = textRise;\n },\n setTextRenderingMode: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n },\n setHScale: function SVGGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setGState: function SVGGraphics_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 '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 ' + key);\n break;\n }\n }\n },\n fill: function SVGGraphics_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 stroke: function SVGGraphics_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 _setStrokeAttributes: function _setStrokeAttributes(element) {\n var current = this.current;\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(current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n },\n eoFill: function SVGGraphics_eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fill();\n },\n fillStroke: function SVGGraphics_fillStroke() {\n this.stroke();\n this.fill();\n },\n eoFillStroke: function SVGGraphics_eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fillStroke();\n },\n closeStroke: function SVGGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n closeFillStroke: function SVGGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n },\n paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n var current = this.current;\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', current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n },\n paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n\n this._ensureTransformGroup().appendChild(imgEl);\n },\n paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n var imgData = 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 paintInlineImageXObject: function SVGGraphics_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(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n },\n paintImageMaskXObject: function SVGGraphics_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' + 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(#' + current.maskId + ')');\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n },\n paintFormXObjectBegin: function SVGGraphics_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 paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n _initialize: 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 _ensureClipGroup: function SVGGraphics_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 _ensureTransformGroup: function SVGGraphics_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 return SVGGraphics;\n }();\n }\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNodeStream = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\n var _util = __w_pdfjs_require__(1);\n\n var _network_utils = __w_pdfjs_require__(166);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var fs = require('fs');\n\n var http = require('http');\n\n var https = require('https');\n\n var url = require('url');\n\n var fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\n function parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n\n return parsedUrl;\n }\n\n var PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:';\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequest = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequest);\n this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequest;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\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._fullRequest) {\n this._fullRequest.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n }();\n\n exports.PDFNodeStream = PDFNodeStream;\n\n var BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"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\n var BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"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\n function createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n }\n\n var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).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\n var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).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\n var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).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\n var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).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 }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.createResponseStatusError = createResponseStatusError;\n exports.extractFilenameFromHeader = extractFilenameFromHeader;\n exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\n exports.validateResponseStatus = validateResponseStatus;\n\n var _util = __w_pdfjs_require__(1);\n\n var _content_disposition = __w_pdfjs_require__(167);\n\n function 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\n function extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n }\n\n function createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n }\n\n function validateResponseStatus(status) {\n return status === 200 || status === 206;\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xFF;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDisposition) {\n var matches = [],\n match;\n var iter = toParamRegExp('filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)', 'ig');\n\n while ((match = iter.exec(contentDisposition)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n var _matches$n = _slicedToArray(matches[n], 2),\n quot = _matches$n[0],\n part = _matches$n[1];\n\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join('');\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, '$1');\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf('\\'');\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, '');\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith('=?') || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, 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 (_, 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 }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFFetchStream = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\n var _util = __w_pdfjs_require__(1);\n\n var _network_utils = __w_pdfjs_require__(166);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: 'GET',\n headers: headers,\n signal: abortController && abortController.signal,\n mode: 'cors',\n credentials: withCredentials ? 'include' : 'same-origin',\n redirect: 'follow'\n };\n }\n\n var PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFFetchStream;\n }();\n\n exports.PDFFetchStream = PDFFetchStream;\n\n var PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _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;\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 = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\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 _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 _ref, 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 _ref = _context.sent;\n value = _ref.value;\n done = _ref.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\n var 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;\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 = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n var rangeStr = begin + '-' + (end - 1);\n\n this._headers.append('Range', 'bytes=' + rangeStr);\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 });\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 _ref2, 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 _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.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 }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNetworkStream = PDFNetworkStream;\n exports.NetworkManager = NetworkManager;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\n var _util = __w_pdfjs_require__(1);\n\n var _network_utils = __w_pdfjs_require__(166);\n\n var _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n ;\n var OK_RESPONSE = 200;\n var PARTIAL_CONTENT_RESPONSE = 206;\n\n function NetworkManager(url, args) {\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 this.loadedRequests = Object.create(null);\n }\n\n function getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== 'string') {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n }\n\n var supportsMozChunked = function supportsMozChunkedClosure() {\n try {\n var x = new XMLHttpRequest();\n x.open('GET', _global_scope.default.location.href);\n x.responseType = 'moz-chunked-arraybuffer';\n return x.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n return false;\n }\n }();\n\n NetworkManager.prototype = {\n requestRange: function NetworkManager_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 requestFull: function NetworkManager_requestFull(listeners) {\n return this.request(listeners);\n },\n request: function NetworkManager_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 var rangeStr = args.begin + '-' + (args.end - 1);\n xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n pendingRequest.expectedStatus = 206;\n } else {\n pendingRequest.expectedStatus = 200;\n }\n\n var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n\n if (useMozChunkedLoading) {\n xhr.responseType = 'moz-chunked-arraybuffer';\n pendingRequest.onProgressiveData = args.onProgressiveData;\n pendingRequest.mozChunked = true;\n } else {\n xhr.responseType = 'arraybuffer';\n }\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 onProgress: function NetworkManager_onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.mozChunked) {\n var chunk = getArrayBuffer(pendingRequest.xhr);\n pendingRequest.onProgressiveData(chunk);\n }\n\n var onProgress = pendingRequest.onProgress;\n\n if (onProgress) {\n onProgress(evt);\n }\n },\n onStateChange: function NetworkManager_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 this.loadedRequests[xhrId] = true;\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 var begin = parseInt(matches[1], 10);\n pendingRequest.onDone({\n begin: begin,\n chunk: chunk\n });\n } else if (pendingRequest.onProgressiveData) {\n pendingRequest.onDone(null);\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 hasPendingRequests: function NetworkManager_hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n },\n getRequestXhr: function NetworkManager_getXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n },\n isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n return !!this.pendingRequests[xhrId].onProgressiveData;\n },\n isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n },\n isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n return xhrId in this.loadedRequests;\n },\n abortAllRequests: function NetworkManager_abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n },\n abortRequest: function NetworkManager_abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n };\n\n function PDFNetworkStream(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n PDFNetworkStream.prototype = {\n _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFNetworkStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n },\n getRangeReader: function PDFNetworkStream_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 cancelAllRequests: function PDFNetworkStream_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 function PDFNetworkStreamFullRequestReader(manager, source) {\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onProgressiveData: source.disableStream ? null : this._onProgressiveData.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 PDFNetworkStreamFullRequestReader.prototype = {\n _onHeadersReceived: function PDFNetworkStreamFullRequestReader_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 var networkManager = this._manager;\n\n if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n this._isStreamingSupported = true;\n } else if (this._isRangeSupported) {\n networkManager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n },\n _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\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._cachedChunks.push(chunk);\n }\n },\n _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n if (args) {\n this._onProgressiveData(args.chunk);\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 _onError: function PDFNetworkStreamFullRequestReader_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 _onProgress: function PDFNetworkStreamFullRequestReader_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 get filename() {\n return this._filename;\n },\n\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n\n get contentLength() {\n return this._contentLength;\n },\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n },\n\n read: 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 cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n };\n\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\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 PDFNetworkStreamRangeRequestReader.prototype = {\n _close: function PDFNetworkStreamRangeRequestReader_close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n },\n _onDone: function PDFNetworkStreamRangeRequestReader_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 _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n },\n\n get isStreamingSupported() {\n return false;\n },\n\n read: 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 cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n };\n /***/\n }])\n );\n});"],"sourceRoot":""}