{"version":3,"sources":["webpack:///./node_modules/url/url.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/pdfjs-dist/build/pdf.worker.js?885a","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/pdfjs-dist/build/pdf.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/pdfjs-dist/webpack.js"],"names":["punycode","util","Url","this","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","exports","parse","urlParse","resolve","urlResolve","resolveObject","urlResolveObject","format","urlFormat","protocolPattern","portPattern","simplePathPattern","delims","unwise","concat","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","isObject","u","obj","isString","prototype","call","source","relative","TypeError","queryIndex","indexOf","splitter","uSplit","split","slashRegex","replace","join","rest","trim","length","simplePath","exec","substr","proto","lowerProto","toLowerCase","match","atSign","hostEnd","i","hec","lastIndexOf","slice","decodeURIComponent","parseHost","ipv6Hostname","hostparts","l","part","newpart","j","k","charCodeAt","validParts","notHost","bit","push","unshift","toASCII","p","h","ae","esc","encodeURIComponent","escape","qm","s","Object","keys","stringify","charAt","rel","result","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","splice","isAbsolute","root","nodeType","module","freeGlobal","global","window","self","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","Math","stringFromCharCode","String","fromCharCode","error","type","RangeError","map","array","fn","mapDomain","string","parts","labels","encoded","ucs2decode","value","extra","output","counter","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","decode","input","out","basic","index","oldi","w","t","baseMinusT","inputLength","n","bias","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","test","arg","Worker","hasOwnProperty","prop","qs","sep","eq","options","regexp","maxKeys","len","kstr","vstr","x","idx","isArray","Array","xs","toString","factory","modules","installedModules","__w_pdfjs_require__","moduleId","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","mode","__esModule","ns","create","key","bind","object","property","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","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","ReadableStream","URL","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","PDFDateString","GlobalWorkerOptions","apiCompatibilityParams","arrayByteLength","arraysToBytes","assert","bytesToString","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isSpace","isSameOrigin","isLittleEndian","isEvalSupported","log2","readInt8","readUint16","readUint32","setVerbosityLevel","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","warn","unreachable","_streams_polyfill","_url_polyfill","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","_typeof","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","INFOS","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","verbosity","level","Number","isInteger","msg","console","log","Error","cond","baseUrl","otherUrl","origin","e","other","_isValidProtocol","absoluteUrl","ex","configurable","writable","code","message","details","status","NullCharactersRegExp","str","bytes","undefined","MAX_ARGUMENT_COUNT","apply","strBuf","chunkEnd","min","chunk","subarray","Uint8Array","arr","byteLength","item","itemLength","resultLength","ii","pos","data","set","ceil","start","offset","buffer8","view32","Uint32Array","buffer","Function","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","xt","yt","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","p3","p4","max","inverseTransform","apply3dTransform","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","PDFStringTranslateTable","unescape","arr1","arr2","every","element","ch","capability","isSettled","promise","Promise","reject","reason","digits","contentType","forceDataSchema","arguments","blob","Blob","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","document","btoa","chars","Buffer","from","atob","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_i","_tokens","token","_len2","_key2","_i2","_tokens2","toggle","force","startsWith","endsWith","includes","assign","isNaN","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","values","process","versions","$export","toLength","context","STARTS_WITH","$startsWith","P","F","searchString","that","core","hide","redefine","ctx","PROTOTYPE","own","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","target","expProto","U","W","R","__g","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","it","is","val","valueOf","bitmap","has","SRC","$toString","TO_STRING","TPL","inspectSource","safe","isFunction","id","px","random","SHARED","store","copyright","aFunction","toInteger","isRegExp","defined","NAME","cof","MATCH","uid","_Symbol","USE_SYMBOL","$exports","KEY","re","ENDS_WITH","$endsWith","endPosition","end","INCLUDES","$includes","el","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","propertyIsEnumerable","UNSCOPABLES","ArrayProto","$at","iterated","_t","point","done","LIBRARY","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","_createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","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","tryGet","T","callee","SAFE_CLOSING","riter","skipClosing","DESCRIPTORS","gOPS","pIE","$assign","A","K","forEach","getSymbols","isEnum","getOwnPropertySymbols","LN2","number","isFinite","$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","PROMISE","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","_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","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","listener","event","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","onFinally","callbackfn","InternalMap","each","meta","weak","validate","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","WEAK_MAP","getWeak","isExtensible","uncaughtFrozenStore","ufstore","$WeakMap","getConstructor","NEED","method","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","META","setDesc","FREEZE","preventExtensions","setMeta","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","ADDER","fails","$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","WEAK_SET","$fromCodePoint","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPN","$Symbol","$JSON","JSON","_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","FAILS_ON_PRIMITIVES","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$pad","WEBKIT_BUG","maxLength","repeat","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","Infinity","$values","isEntries","isReadableStreamSupported","controller","_typeof2","_require","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","rethrowAssertionErrorRejection","AssertionError","stack","_createClass","props","protoProps","staticProps","_classCallCheck","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref","_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","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","_closedPromise","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","_readyPromise","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","_controlledWritableStream","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategySize","_strategyHWM","WritableStreamDefaultControllerGetBackpressure","IsWritableStreamDefaultController","_this","startResult","WritableStreamDefaultControllerAdvanceQueueIfNeeded","strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_closedPromise_resolve","_closedPromise_reject","_readyPromise_resolve","_readyPromise_reject","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","_ref2","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","_ref3","readable","pipeTo","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","_ref4","preventClose","preventAbort","preventCancel","Boolean","reader","shuttingDown","currentWrite","pipeLoop","ReadableStreamDefaultReaderRead","_ref5","isOrBecomesErrored","shutdownWithAction","shutdown","isOrBecomesClosed","destClosed","waitForWritesToFinish","oldCurrentWrite","action","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","IsReadableStreamDisturbed","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","create_ReadableStreamTeePullFunction","_teeState","_cloneForBranch2","cancel1","create_ReadableStreamTeeBranch1CancelFunction","_stream","cancel2","create_ReadableStreamTeeBranch2CancelFunction","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","_branch1","_branch2","ReadableStreamDefaultControllerError","branch1","branch2","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","compositeReason","cancelResult","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","sourceCancelPromise","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadIntoRequest","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","view","ArrayBuffer","isView","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","ReadableByteStreamControllerPullInto","__pullSteps","_controlledReadableStream","_underlyingSource","_closeRequested","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","pullPromise","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespond","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_autoAllocateChunkSize","_pendingPullIntos","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerError","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","firstDescriptor","bytesFilled","ReadableByteStreamControllerHandleQueueDrain","byteOffset","viewE","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","DataView","BYTES_PER_ELEMENT","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","transformStream","readableStream","writableStream","TransformStream","TransformStreamCloseReadable","_errored","_readableClosed","TransformStreamCloseReadableInternal","TransformStreamEnqueueToReadable","_readableController","TransformStreamErrorIfNeeded","maybeBackpressure","TransformStreamSetBackpressure","TransformStreamError","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","TransformStreamTransform","_transforming","transformer","_transformer","_transformStreamController","transformPromise","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","flushPromise","TransformStreamSource","TransformStreamDefaultController","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","sink","_writable","isURLSupported","PolyfillURL","OriginalURL","revokeObjectURL","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","stateOverride","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","cp","tempC","temp","parseInt","tmp","JURL","_url","authority","_","PDFPageProxy","PDFDocumentProxy","_regenerator","_interopRequireDefault","_util","_display_utils","_font_loader","_api_compatibility","_canvas","_global_scope","_worker_options","_message_handler","_metadata","_transport_stream","_webgl","default","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_e","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_defineProperties","fallbackWorkerSrc","DEFAULT_RANGE_CHUNK_SIZE","isWorkerDisabled","fakeWorkerFilesLoader","useRequireEnsure","requirejs","toUrl","createPDFNetworkStream","dynamicLoaderSupported","load","worker","WorkerMessageHandler","pdfjsFilePath","currentScript","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","pdfBytes","location","rangeChunkSize","CMapReaderFactory","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","postMessageTransfers","workerPort","fromPort","_worker","docId","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","destroy","deprecated","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","loaded","total","_this2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_this3","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_this4","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenActionDestination","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","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","_this5","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","opListReadCapability","opListTask","_ref4$normalizeWhites","normalizeWhitespace","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","streamTextContent","pump","read","_textContent$items","styles","getReader","pageCache","waitOn","renderCompleted","cancel","resetStats","some","operatorListChunk","userUnit","_listeners","_defer","_deferred","transfers","_this6","cloneValue","cloned","transferable","desc","fakeWorkerFilesLoadedCapability","pdfWorkerPorts","nextFakeWorkerId","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","setupFakeWorkerGlobal","mainWorkerMessageHandler","loader","createCDNWrapper","_ref6","_ref6$name","_ref6$port","_ref6$postMessageTran","_ref6$verbosity","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this7","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this8","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this9","page","_destroy","terminated","cancelAllRequests","_this10","getFullReader","evt","onPull","_ref7","enqueue","onCancel","_this11","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref8","_ref9","_numPages","exception","_this12","updatePassword","_startRenderPage","_renderPageChunk","_this13","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","img","Image","onload","onerror","releaseImageResources","MAX_IMAGE_SIZE_TO_STORE","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref10","featureId","_this14","_this15","results","metadata","Metadata","contentDispositionFilename","filename","_this16","cleanup","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref11","_ref11$useRequestAnim","_ref11$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","canvas","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this17","requestAnimationFrame","_next2","mark","_callee","_context","prev","abrupt","executeOperatorList","stop","runtime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","displayName","isGeneratorFunction","genFun","awrap","async","reverse","skipTempReset","rootEntry","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","webpackPolyfill","deprecate","paths","children","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","_fetch","_x","_callee2","compressionType","_context2","baseURI","response","cMapData","statusText","t0","arrayBuffer","t1","t2","text","t3","_x3","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","responseText","_x2","svg","createElementNS","setAttribute","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","_ref6$scale","_ref6$rotation","_ref6$dontFlip","y","topLeft","bottomRight","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","title","LinkTargetValues","targetIndex","anchor","substring","started","times","Date","longest","_time","duration","pdfDateStringRegex","Response","script","removeAttribute","RegExp","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","spliceString","insert","chunk1","chunk2","called","isFontReady","fillText","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","span","fontFamily","body","supported","getLoadTestFont","IsEvalSupportedCached","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_ii","compatibilityParams","isIE","isIOSChrome","freeze","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","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","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","sum","steps","Int32Array","outlines","pp","coords","p0","drawOutline","beginPath","jj","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","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","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","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","scaleX","scaleY","isEnabled","composed","layer","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","breakIt","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","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","charWidth","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","canvasBounds","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","position","getCanvasPosition","appendImage","top","compiled","maskCanvas","positions","images","image","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","ShadingIRs","fromIR","raw","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","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","resolveCall","_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","parser","SimpleXMLParser","xmlDocument","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","_get","receiver","Reflect","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","attributes","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","found","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","abort","_loaded","_done","_filename","_requests","_headersReady","requestCapability","_read","_end","_queuedChunk","requestsCapability","_removeRangeReader","_read2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","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","expandBounds","divProperties","ts","Float64Array","findPositiveMin","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","clearTimeout","_processItems","styleCache","textLayerFrag","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","padding","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","_bindNamedAction","_bindLink","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","multiLine","disabled","readOnly","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","fieldName","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","zIndex","unpin","_AnnotationElement5","_AnnotationElement6","lineCoordinates","append","_AnnotationElement7","square","_AnnotationElement8","circle","_AnnotationElement9","containerClassName","svgElementName","vertices","polyline","_PolylineAnnotationEl","_AnnotationElement10","_AnnotationElement11","inkLists","inkList","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_AnnotationElement16","_AnnotationElement17","_this6$data$file","file","eventBus","dispatch","_download","downloadData","annotations","_is_node","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","_i3","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_loop","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step5","_iterator5","colorStop","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step6","_iterator6","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","validateResponseStatus","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","_match","_match2","quot","_matches$n","quotindex","extvalue","encodingend","langvalue","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","ok_response_on_range_request","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","stringifyPrimitive","objectKeys","ks","pdfjs","PdfjsWorker"],"mappings":"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","file":"js/chunk-141473ed.67c26924.js","sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"fa8045c9486ba442154d.worker.js\");\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2019 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.2.228';\nvar pdfjsBuild = 'd7afb74a';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(147);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(162);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(163);\n\nvar pdfjsDisplayDisplayUtils = __w_pdfjs_require__(151);\n\nvar pdfjsDisplaySVG = __w_pdfjs_require__(164);\n\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(156);\n\nvar 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 {\n var PDFNetworkStream = __w_pdfjs_require__(168).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = __w_pdfjs_require__(169).PDFFetchStream;\n }\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.URL = pdfjsSharedUtil.URL;\nexports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nObject.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function get() {\n return _streams_polyfill.ReadableStream;\n }\n});\nObject.defineProperty(exports, \"URL\", {\n enumerable: true,\n get: function get() {\n return _url_polyfill.URL;\n }\n});\nexports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = 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\nvar _streams_polyfill = __w_pdfjs_require__(143);\n\nvar _url_polyfill = __w_pdfjs_require__(145);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nexports.NativeImageDecoding = NativeImageDecoding;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: 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};\nexports.StreamType = StreamType;\nvar 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};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction 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\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new _url_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\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar 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\nexports.PasswordException = PasswordException;\n\nvar 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\nexports.UnknownErrorException = UnknownErrorException;\n\nvar 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\nexports.InvalidPDFException = InvalidPDFException;\n\nvar 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\nexports.MissingPDFException = MissingPDFException;\n\nvar 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\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar 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\nexports.FormatError = FormatError;\n\nvar 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\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join('');\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction 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\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar 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\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var 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\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && _url_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\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar globalScope = __w_pdfjs_require__(3);\n\nif (!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, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || 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__(36);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(38);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(40);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(47);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(70);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(75);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(77);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(79);\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__(82);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(102);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(119);\n })();\n\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n\n String.codePointAt = __w_pdfjs_require__(123);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(125);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(127);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(134);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(138);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(140);\n })();\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'] && !process.versions['electron'];\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(6);\n\nmodule.exports = __w_pdfjs_require__(9).String.startsWith;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar context = __w_pdfjs_require__(30);\n\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(35)(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/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar core = __w_pdfjs_require__(9);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar PROTOTYPE = 'prototype';\n\nvar $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\nglobal.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;\nmodule.exports = $export;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = {\n version: '2.6.9'\n};\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nmodule.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/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar dP = Object.defineProperty;\nexports.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/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function (it) {\n return _typeof(it) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.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/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.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/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar document = __w_pdfjs_require__(8).document;\n\nvar is = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.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/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar has = __w_pdfjs_require__(21);\n\nvar SRC = __w_pdfjs_require__(22)('src');\n\nvar $toString = __w_pdfjs_require__(23);\n\nvar TO_STRING = 'toString';\nvar 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/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(24)('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(9);\n\nvar global = __w_pdfjs_require__(8);\n\nvar SHARED = '__core-js_shared__';\nvar 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__(25) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(27);\n\nmodule.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/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar min = Math.min;\n\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(31);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.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/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar cof = __w_pdfjs_require__(32);\n\nvar MATCH = __w_pdfjs_require__(33)('match');\n\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(24)('wks');\n\nvar uid = __w_pdfjs_require__(22);\n\nvar _Symbol = __w_pdfjs_require__(8).Symbol;\n\nvar USE_SYMBOL = typeof _Symbol == 'function';\n\nvar $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/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(33)('match');\n\nmodule.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/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(37);\n\nmodule.exports = __w_pdfjs_require__(9).String.endsWith;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar context = __w_pdfjs_require__(30);\n\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(35)(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/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(39);\n\nmodule.exports = __w_pdfjs_require__(9).String.includes;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar context = __w_pdfjs_require__(30);\n\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(35)(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/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(41);\n\nmodule.exports = __w_pdfjs_require__(9).Array.includes;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $includes = __w_pdfjs_require__(42)(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__(46)('includes');\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\n\nmodule.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/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar max = Math.max;\nvar min = Math.min;\n\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(33)('unscopables');\n\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(10)(ArrayProto, UNSCOPABLES, {});\n\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(48);\n\n__w_pdfjs_require__(63);\n\nmodule.exports = __w_pdfjs_require__(9).Array.from;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(49)(true);\n\n__w_pdfjs_require__(50)(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/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.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/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar $iterCreate = __w_pdfjs_require__(52);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar getPrototypeOf = __w_pdfjs_require__(61);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function returnThis() {\n return this;\n};\n\nmodule.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/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(53);\n\nvar descriptor = __w_pdfjs_require__(19);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar IteratorPrototype = {};\n\n__w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(33)('iterator'), function () {\n return this;\n});\n\nmodule.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/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar dPs = __w_pdfjs_require__(54);\n\nvar enumBugKeys = __w_pdfjs_require__(58);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nvar Empty = function Empty() {};\n\nvar PROTOTYPE = 'prototype';\n\nvar _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__(59).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\nmodule.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/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nmodule.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/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(56);\n\nvar enumBugKeys = __w_pdfjs_require__(58);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar arrayIndexOf = __w_pdfjs_require__(42)(false);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nmodule.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/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(24)('keys');\n\nvar uid = __w_pdfjs_require__(22);\n\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(8).document;\n\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(11).f;\n\nvar has = __w_pdfjs_require__(21);\n\nvar TAG = __w_pdfjs_require__(33)('toStringTag');\n\nmodule.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/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nvar ObjectProto = Object.prototype;\n\nmodule.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/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar call = __w_pdfjs_require__(64);\n\nvar isArrayIter = __w_pdfjs_require__(65);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar createProperty = __w_pdfjs_require__(66);\n\nvar getIterFn = __w_pdfjs_require__(67);\n\n$export($export.S + $export.F * !__w_pdfjs_require__(69)(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/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nmodule.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/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $defineProperty = __w_pdfjs_require__(11);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nmodule.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/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(68);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar Iterators = __w_pdfjs_require__(51);\n\nmodule.exports = __w_pdfjs_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nvar TAG = __w_pdfjs_require__(33)('toStringTag');\n\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\n\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\n\nmodule.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/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar SAFE_CLOSING = false;\n\ntry {\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\nmodule.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/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(71);\n\nmodule.exports = __w_pdfjs_require__(9).Object.assign;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S + $export.F, 'Object', {\n assign: __w_pdfjs_require__(72)\n});\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar gOPS = __w_pdfjs_require__(73);\n\nvar pIE = __w_pdfjs_require__(74);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar $assign = Object.assign;\nmodule.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 key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n }\n\n return T;\n} : $assign;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(76);\n\nmodule.exports = __w_pdfjs_require__(9).Math.log2;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $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/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(78);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isNaN;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(80);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isInteger;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Number', {\n isInteger: __w_pdfjs_require__(81)\n});\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar floor = Math.floor;\n\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(48);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(100);\n\n__w_pdfjs_require__(101);\n\nmodule.exports = __w_pdfjs_require__(9).Promise;\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(68);\n\nvar test = {};\ntest[__w_pdfjs_require__(33)('toStringTag')] = 'z';\n\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(20)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(85);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar global = __w_pdfjs_require__(8);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar wks = __w_pdfjs_require__(33);\n\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar 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\nfor (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/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(46);\n\nvar step = __w_pdfjs_require__(86);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nmodule.exports = __w_pdfjs_require__(50)(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');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar global = __w_pdfjs_require__(8);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar classof = __w_pdfjs_require__(68);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar speciesConstructor = __w_pdfjs_require__(90);\n\nvar task = __w_pdfjs_require__(91).set;\n\nvar microtask = __w_pdfjs_require__(93)();\n\nvar newPromiseCapabilityModule = __w_pdfjs_require__(94);\n\nvar perform = __w_pdfjs_require__(95);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar promiseResolve = __w_pdfjs_require__(97);\n\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\n\nvar empty = function empty() {};\n\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(33)('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\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar 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\nvar 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\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\n\nvar 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\nvar $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\nvar $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\nif (!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__(98)($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__(60)($Promise, PROMISE);\n\n__w_pdfjs_require__(99)(PROMISE);\n\nWrapper = __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__(69)(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/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.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/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar call = __w_pdfjs_require__(64);\n\nvar isArrayIter = __w_pdfjs_require__(65);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar getIterFn = __w_pdfjs_require__(67);\n\nvar BREAK = {};\nvar RETURN = {};\n\nvar _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/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\nmodule.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/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar invoke = __w_pdfjs_require__(92);\n\nvar html = __w_pdfjs_require__(59);\n\nvar cel = __w_pdfjs_require__(17);\n\nvar global = __w_pdfjs_require__(8);\n\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar 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\nvar listener = function listener(event) {\n run.call(event.data);\n};\n\nif (!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__(32)(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\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.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/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar macrotask = __w_pdfjs_require__(91).set;\n\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(32)(process) == 'process';\n\nmodule.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/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(27);\n\nfunction 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\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.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/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar newPromiseCapability = __w_pdfjs_require__(94);\n\nmodule.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/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(20);\n\nmodule.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/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar dP = __w_pdfjs_require__(11);\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\nmodule.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/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar core = __w_pdfjs_require__(9);\n\nvar global = __w_pdfjs_require__(8);\n\nvar speciesConstructor = __w_pdfjs_require__(90);\n\nvar promiseResolve = __w_pdfjs_require__(97);\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/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar newPromiseCapability = __w_pdfjs_require__(94);\n\nvar perform = __w_pdfjs_require__(95);\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/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(103);\n\n__w_pdfjs_require__(115);\n\n__w_pdfjs_require__(117);\n\nmodule.exports = __w_pdfjs_require__(9).WeakMap;\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar each = __w_pdfjs_require__(104)(0);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar meta = __w_pdfjs_require__(108);\n\nvar assign = __w_pdfjs_require__(72);\n\nvar weak = __w_pdfjs_require__(109);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(110);\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar 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\nvar $WeakMap = module.exports = __w_pdfjs_require__(111)(WEAK_MAP, wrapper, methods, weak, true, true);\n\nif (NATIVE_WEAK_MAP && IS_IE11) {\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/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar asc = __w_pdfjs_require__(105);\n\nmodule.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/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(106);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar isArray = __w_pdfjs_require__(107);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\nmodule.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/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar META = __w_pdfjs_require__(22)('meta');\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar has = __w_pdfjs_require__(21);\n\nvar setDesc = __w_pdfjs_require__(11).f;\n\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar FREEZE = !__w_pdfjs_require__(16)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\n\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\n\nvar 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\nvar 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\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\n\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(98);\n\nvar getWeak = __w_pdfjs_require__(108).getWeak;\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar createArrayMethod = __w_pdfjs_require__(104);\n\nvar $has = __w_pdfjs_require__(21);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\n\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.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};\nmodule.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/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar redefineAll = __w_pdfjs_require__(98);\n\nvar meta = __w_pdfjs_require__(108);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar fails = __w_pdfjs_require__(16);\n\nvar $iterDetect = __w_pdfjs_require__(69);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar inheritIfRequired = __w_pdfjs_require__(112);\n\nmodule.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/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar setPrototypeOf = __w_pdfjs_require__(113).set;\n\nmodule.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/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\n\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(26)(Function.call, __w_pdfjs_require__(114).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/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(74);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar has = __w_pdfjs_require__(21);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.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/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116)('WeakMap');\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nmodule.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/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(118)('WeakMap');\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar forOf = __w_pdfjs_require__(89);\n\nmodule.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/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(120);\n\n__w_pdfjs_require__(121);\n\n__w_pdfjs_require__(122);\n\nmodule.exports = __w_pdfjs_require__(9).WeakSet;\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar weak = __w_pdfjs_require__(109);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar WEAK_SET = 'WeakSet';\n\n__w_pdfjs_require__(111)(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/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116)('WeakSet');\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(118)('WeakSet');\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(124);\n\nmodule.exports = __w_pdfjs_require__(9).String.codePointAt;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $at = __w_pdfjs_require__(49)(false);\n\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(126);\n\nmodule.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\n\nvar fromCharCode = String.fromCharCode;\nvar $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/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(128);\n\n__w_pdfjs_require__(83);\n\nmodule.exports = __w_pdfjs_require__(9).Symbol;\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar global = __w_pdfjs_require__(8);\n\nvar has = __w_pdfjs_require__(21);\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar META = __w_pdfjs_require__(108).KEY;\n\nvar $fails = __w_pdfjs_require__(16);\n\nvar shared = __w_pdfjs_require__(24);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar uid = __w_pdfjs_require__(22);\n\nvar wks = __w_pdfjs_require__(33);\n\nvar wksExt = __w_pdfjs_require__(129);\n\nvar wksDefine = __w_pdfjs_require__(130);\n\nvar enumKeys = __w_pdfjs_require__(131);\n\nvar isArray = __w_pdfjs_require__(107);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar _create = __w_pdfjs_require__(53);\n\nvar gOPNExt = __w_pdfjs_require__(132);\n\nvar $GOPD = __w_pdfjs_require__(114);\n\nvar $GOPS = __w_pdfjs_require__(73);\n\nvar $DP = __w_pdfjs_require__(11);\n\nvar $keys = __w_pdfjs_require__(55);\n\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\n\nvar _stringify = $JSON && $JSON.stringify;\n\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar 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\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return _typeof(it) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $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\nvar $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\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\n\nvar $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\nvar $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\nvar $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\nvar $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\nif (!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__(133).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(74).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(25)) {\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\nfor (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\nfor (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});\nvar FAILS_ON_PRIMITIVES = $fails(function () {\n $GOPS.f(1);\n});\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\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);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(33);\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar core = __w_pdfjs_require__(9);\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar wksExt = __w_pdfjs_require__(129);\n\nvar defineProperty = __w_pdfjs_require__(11).f;\n\nmodule.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/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar gOPS = __w_pdfjs_require__(73);\n\nvar pIE = __w_pdfjs_require__(74);\n\nmodule.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/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar gOPN = __w_pdfjs_require__(133).f;\n\nvar toString = {}.toString;\nvar windowNames = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(56);\n\nvar hiddenKeys = __w_pdfjs_require__(58).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(135);\n\nmodule.exports = __w_pdfjs_require__(9).String.padStart;\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $pad = __w_pdfjs_require__(136);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar repeat = __w_pdfjs_require__(137);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.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/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.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/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(139);\n\nmodule.exports = __w_pdfjs_require__(9).String.padEnd;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $pad = __w_pdfjs_require__(136);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(141);\n\nmodule.exports = __w_pdfjs_require__(9).Object.values;\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $values = __w_pdfjs_require__(142)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar isEnum = __w_pdfjs_require__(74).f;\n\nmodule.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 key = keys[i++];\n\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\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__(144).ReadableStream;\n }\n}\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\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/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\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__(146).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/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\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/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _font_loader = __w_pdfjs_require__(152);\n\nvar _api_compatibility = __w_pdfjs_require__(153);\n\nvar _canvas = __w_pdfjs_require__(154);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nvar _worker_options = __w_pdfjs_require__(156);\n\nvar _message_handler = __w_pdfjs_require__(157);\n\nvar _metadata = __w_pdfjs_require__(158);\n\nvar _transport_stream = __w_pdfjs_require__(160);\n\nvar _webgl = __w_pdfjs_require__(161);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar fallbackWorkerSrc;\nvar 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}\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === 'string') {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new _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 || _display_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 progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n })[\"catch\"](task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.2.228',\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\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask =\n /*#__PURE__*/\n 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, _display_utils.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\nvar PDFDataRangeTransport =\n/*#__PURE__*/\nfunction () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _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, total) {\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, total);\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: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\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\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy =\n/*#__PURE__*/\nfunction () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"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 key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy =\n/*#__PURE__*/\nfunction () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : _display_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, _display_utils.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 _display_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 _this5 = 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 _display_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 (_this5.cleanupAfterRender || renderingIntent === 'print') {\n _this5.pendingCleanup = true;\n }\n\n _this5._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 (_this5.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 _display_utils.StatTimer) {\n this._stats = new _display_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 _display_utils.StatTimer ? this._stats : null;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort =\n/*#__PURE__*/\nfunction () {\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 _this6 = 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 _this6._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this6);\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var 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, _display_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 =\n /*#__PURE__*/\n 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 _this7 = 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 (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this7._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this7._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 (_this7.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data && data.supportTypedArray) {\n _this7._messageHandler = messageHandler;\n _this7._port = worker;\n _this7._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this7.postMessageTransfers = false;\n }\n\n _this7._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this7.verbosity\n });\n } else {\n _this7._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this7.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this7._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this7.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 _this8 = 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 (_this8.destroyed) {\n _this8._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this8._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 _this8._messageHandler = messageHandler;\n\n _this8._readyCapability.resolve();\n })[\"catch\"](function (reason) {\n _this8._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts[\"delete\"](this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error('PDFWorker.fromPort - invalid method signature.');\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport =\n/*#__PURE__*/\nfunction () {\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 _this9 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this9.fontLoader.clear();\n\n if (_this9._networkStream) {\n _this9._networkStream.cancelAllRequests();\n }\n\n if (_this9.messageHandler) {\n _this9.messageHandler.destroy();\n\n _this9.messageHandler = null;\n }\n\n _this9.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 _this10 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = function (evt) {\n _this10._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this10._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 _this10._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this11 = 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 (_this11._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this11._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 if (!rangeReader) {\n sink.close();\n return;\n }\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\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this12 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this12._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n 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 _this13 = 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 _this13.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n })[\"finally\"](function () {\n _this13.commonObjs.resolve(id, font);\n });\n });\n break;\n\n case 'FontPath':\n case 'FontType3Res':\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 undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = this.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\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 (0, _display_utils.releaseImageResources)(img);\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\n return undefined;\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.pageIndex];\n var intentState = page.intentStates[data.intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(new Error(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 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 (0, _display_utils.releaseImageResources)(img);\n tmpCanvas.width = 0;\n tmpCanvas.height = 0;\n tmpCanvas = null;\n tmpCtx = null;\n };\n\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n (0, _display_utils.releaseImageResources)(img);\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 _this14 = 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 (_this14.destroyed) {\n throw new Error('Transport destroyed');\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this14, _this14._params.pdfBug);\n _this14.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', {\n ref: ref\n })[\"catch\"](function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== 'string') {\n return Promise.reject(new Error('Invalid destination request.'));\n }\n\n return this.messageHandler.sendWithPromise('GetDestination', {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise('GetPageLayout', null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise('GetViewerPreferences', null);\n }\n }, {\n key: \"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 _this15 = 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: _this15._fullReader ? _this15._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 _this16 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this16.pageCache.length; i < ii; i++) {\n var page = _this16.pageCache[i];\n\n if (page) {\n page.cleanup();\n }\n }\n\n _this16.commonObjs.clear();\n\n _this16.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\nvar PDFObjects =\n/*#__PURE__*/\nfunction () {\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 for (var objId in this._objs) {\n var data = this._objs[objId].data;\n\n if (typeof Image !== 'undefined' && data instanceof Image) {\n (0, _display_utils.releaseImageResources)(data);\n }\n }\n\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask =\n/*#__PURE__*/\nfunction () {\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, _display_utils.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\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask =\n /*#__PURE__*/\n 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 _display_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 _this17 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this17._nextBound()[\"catch\"](_this17.cancel.bind(_this17));\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(\n /*#__PURE__*/\n _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\nvar version = '2.2.228';\nexports.version = version;\nvar build = 'd7afb74a';\nexports.build = build;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(149);\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n 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 exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\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 exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(150)(module)))\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.releaseImageResources = releaseImageResources;\nexports.PDFDateString = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory =\n/*#__PURE__*/\nfunction () {\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\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar DOMCMapReaderFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }(\n /*#__PURE__*/\n function () {\n var _ref3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context2.next = 5;\n break;\n }\n\n throw new Error('CMap name must be specified.');\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : '');\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", fetch(url).then(\n /*#__PURE__*/\n function () {\n var _ref4 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (response.ok) {\n _context.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this.isCompressed) {\n _context.next = 10;\n break;\n }\n\n _context.t0 = Uint8Array;\n _context.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context.t1 = _context.sent;\n cMapData = new _context.t0(_context.t1);\n _context.next = 15;\n break;\n\n case 10:\n _context.t2 = _util.stringToBytes;\n _context.next = 13;\n return response.text();\n\n case 13:\n _context.t3 = _context.sent;\n cMapData = (0, _context.t2)(_context.t3);\n\n case 15:\n return _context.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }())[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n })[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory =\n/*#__PURE__*/\nfunction () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttribute('version', '1.1');\n svg.setAttribute('width', width + 'px');\n svg.setAttribute('height', height + 'px');\n svg.setAttribute('preserveAspectRatio', 'none');\n svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport =\n/*#__PURE__*/\nfunction () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n 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 _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: 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 topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = 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\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\n\nfunction addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel;\n\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\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n}\n\nvar StatTimer =\n/*#__PURE__*/\nfunction () {\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 out = '',\n longest = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _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 var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n out += \"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\");\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 return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nvar DummyStatTimer =\n/*#__PURE__*/\nfunction () {\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\nexports.DummyStatTimer = DummyStatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== 'undefined' && typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined';\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new _util.URL(url, baseUrl) : new _util.URL(url),\n protocol = _ref8.protocol;\n\n return protocol === 'http:' || protocol === 'https:';\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\n\nfunction releaseImageResources(img) {\n (0, _util.assert)(img instanceof Image, 'Invalid `img` parameter.');\n var url = img.src;\n\n if (typeof url === 'string' && url.startsWith('blob:') && _util.URL.revokeObjectURL) {\n _util.URL.revokeObjectURL(url);\n }\n\n img.removeAttribute('src');\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString =\n/*#__PURE__*/\nfunction () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp('^D:' + '(\\\\d{4})' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '([Z|+|-])?' + '(\\\\d{2})?' + '\\'?' + '(\\\\d{2})?' + '\\'?');\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || 'Z';\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === '-') {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === '+') {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader =\n/*#__PURE__*/\nfunction () {\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(\n /*#__PURE__*/\n _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\", undefined);\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\", undefined);\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\", undefined);\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 return _context.abrupt(\"return\", undefined);\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)('Abstract method `_queueLoadingCallback`.');\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n (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\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader =\n /*#__PURE__*/\n 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}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n};\n\nvar FontFaceObject =\n/*#__PURE__*/\nfunction () {\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\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar 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}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(155);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n\n};\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, 'mozCurrentTransform', {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var 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\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\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 _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith('g_') ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _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 i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.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 _this$cachedCanvases$ = this.cachedCanvases.getCanvas('isFontSubpixelAAEnabled', 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth = 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.processingType3 ? this.commonObjs.get(objId) : 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.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar ShadingIRs = {};\nShadingIRs.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\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n 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\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var 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};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = MessageHandler;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction resolveCall(_x, _x2) {\n return _resolveCall.apply(this, arguments);\n}\n\nfunction _resolveCall() {\n _resolveCall = _asyncToGenerator(\n /*#__PURE__*/\n _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\", undefined);\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);\n }));\n return _resolveCall.apply(this, arguments);\n}\n\nfunction 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\nfunction 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\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\n\nfunction finalize(promise) {\n return Promise.resolve(promise)[\"catch\"](function () {});\n}\n\nfunction 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\nMessageHandler.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/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(159);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata =\n/*#__PURE__*/\nfunction () {\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\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n}\n\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar XMLParserBase =\n/*#__PURE__*/\nfunction () {\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\nvar SimpleDOMNode =\n/*#__PURE__*/\nfunction () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, 'parentNode', {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || '';\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join('');\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser =\n/*#__PURE__*/\nfunction (_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\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found);\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\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 this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext =\n/*#__PURE__*/\nfunction () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } ';\n var smaskFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } ';\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } ';\n var figuresFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } ';\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case 'lattice':\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case 'triangles':\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n 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 _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._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 this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n });\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('TextLayer task cancelled.'));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error('TextLayer task cancelled.'));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var 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 _this2 = 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 _this2._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n 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\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory =\n/*#__PURE__*/\nfunction () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement =\n/*#__PURE__*/\nfunction () {\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 modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement =\n/*#__PURE__*/\nfunction (_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, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_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\nvar TextAnnotationElement =\n/*#__PURE__*/\nfunction (_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\nvar WidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_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\nvar TextWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_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\nvar CheckboxWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_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\nvar RadioButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_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\nvar PushButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_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\nvar ChoiceWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_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\nvar PopupAnnotationElement =\n/*#__PURE__*/\nfunction (_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 modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = -(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\nvar PopupElement =\n/*#__PURE__*/\nfunction () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement('div');\n wrapper.className = 'popupWrapper';\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute('hidden', true);\n var popup = document.createElement('div');\n popup.className = 'popup';\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement('h1');\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement('span');\n modificationDate.textContent = '{{date}}, {{time}}';\n modificationDate.dataset.l10nId = 'annotation_date_string';\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'freeTextAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\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\nvar SquareAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\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\nvar CircleAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\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\nvar PolylineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\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\nvar PolygonAnnotationElement =\n/*#__PURE__*/\nfunction (_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\nvar CaretAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'caretAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\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\nvar HighlightAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\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\nvar UnderlineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\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\nvar SquigglyAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\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\nvar StrikeOutAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\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\nvar StampAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\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\nvar FileAttachmentAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\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, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'fileAttachmentAnnotation';\n var trigger = document.createElement('div');\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener('dblclick', this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer =\n/*#__PURE__*/\nfunction () {\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 _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n 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\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var opListElement = _step.value;\n\n if (opListElement.fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _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 return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== '0') {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === '0');\n\n return s.substring(0, s[i] === '.' ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n var XLINK_NS = 'http://www.w3.org/1999/xlink';\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!(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\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk('IHDR', ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk('IDATA', idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk('IEND', new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState =\n /*#__PURE__*/\n function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = '#000000';\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = '';\n this.lineCap = '';\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = '';\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics =\n /*#__PURE__*/\n function () {\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith('g_') ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n _loop();\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 return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n 'fnId': fnId,\n 'fn': operatorIdMapping[fnId],\n 'args': argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.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(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\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 key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtgrp = this.svgFactory.createElement('svg:g');\n current.xcoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var glyph = _step4.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -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 } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\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', \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, 'fill', 'transparent');\n } else {\n current.tspan.setAttributeNS(null, 'fill', 'none');\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, 'transform', \"\".concat(pm(textMatrix), \" scale(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 }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement('svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && fontObj.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 }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip('nonzero');\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', x0);\n rect.setAttributeNS(null, 'y', y0);\n rect.setAttributeNS(null, 'width', x1 - x0);\n rect.setAttributeNS(null, 'height', y1 - y0);\n rect.setAttributeNS(null, 'fill', this._makeShadingPattern(args));\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === 'TilingPattern') {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement('svg:pattern');\n tiling.setAttributeNS(null, 'id', tilingId);\n tiling.setAttributeNS(null, 'patternUnits', 'userSpaceOnUse');\n tiling.setAttributeNS(null, 'width', txstep);\n tiling.setAttributeNS(null, 'height', tystep);\n tiling.setAttributeNS(null, 'x', \"\".concat(tx0));\n tiling.setAttributeNS(null, 'y', \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case 'RadialAxial':\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[2];\n var gradient;\n\n switch (args[1]) {\n case 'axial':\n var point0 = args[3];\n var point1 = args[4];\n gradient = this.svgFactory.createElement('svg:linearGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'x1', point0[0]);\n gradient.setAttributeNS(null, 'y1', point0[1]);\n gradient.setAttributeNS(null, 'x2', point1[0]);\n gradient.setAttributeNS(null, 'y2', point1[1]);\n break;\n\n case 'radial':\n var focalPoint = args[3];\n var circlePoint = args[4];\n var focalRadius = args[5];\n var circleRadius = args[6];\n gradient = this.svgFactory.createElement('svg:radialGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'cx', circlePoint[0]);\n gradient.setAttributeNS(null, 'cy', circlePoint[1]);\n gradient.setAttributeNS(null, 'r', circleRadius);\n gradient.setAttributeNS(null, 'fx', focalPoint[0]);\n gradient.setAttributeNS(null, 'fy', focalPoint[1]);\n gradient.setAttributeNS(null, 'fr', focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement('svg:stop');\n stop.setAttributeNS(null, 'offset', colorStop[0]);\n stop.setAttributeNS(null, 'stop-color', colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5[\"return\"] != null) {\n _iterator5[\"return\"]();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case 'Mesh':\n (0, _util.warn)('Unimplemented pattern Mesh');\n return null;\n\n case 'Dummy':\n return 'hotpink';\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var op = _step6.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n 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 } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6[\"return\"] != null) {\n _iterator6[\"return\"]();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n d = d.join(' ');\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, 'd') + d;\n } else {\n current.path = this.svgFactory.createElement('svg:path');\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, 'd', d);\n current.path.setAttributeNS(null, 'fill', 'none');\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement('svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, 'd'), \"Z\");\n current.path.setAttributeNS(null, 'd', d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iteratorNormalCompletion7 = true;\n var _didIteratorError7 = false;\n var _iteratorError7 = undefined;\n\n try {\n for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value);\n break;\n\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n\n case 'ca':\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7[\"return\"] != null) {\n _iterator7[\"return\"]();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, 'stroke', current.strokeColor);\n element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n element.setAttributeNS(null, 'stroke-width', pf(lineWidthScale * current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(lineWidthScale * current.dashPhase) + 'px');\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', '1px');\n rect.setAttributeNS(null, 'height', '1px');\n rect.setAttributeNS(null, 'fill', this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintJpegXObject\",\n value: function 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(\".concat(pf(1 / w), \" \").concat(pf(-1 / h), \")\"));\n\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', '0');\n cliprect.setAttributeNS(null, 'y', '0');\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-height));\n imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n imgEl.setAttributeNS(null, 'transform', \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement('svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', pf(width));\n rect.setAttributeNS(null, 'height', pf(height));\n rect.setAttributeNS(null, 'fill', fillColor);\n rect.setAttributeNS(null, 'mask', \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', bbox[0]);\n cliprect.setAttributeNS(null, 'y', bbox[1]);\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement('svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement('svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement('svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar fs = require('fs');\n\nvar http = require('http');\n\nvar https = require('https');\n\nvar url = require('url');\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream =\n/*#__PURE__*/\nfunction () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:';\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader =\n/*#__PURE__*/\nfunction () {\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(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader =\n/*#__PURE__*/\nfunction () {\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(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this2._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(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\nvar PDFNodeStreamFullReader =\n/*#__PURE__*/\nfunction (_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\nvar PDFNodeStreamRangeReader =\n/*#__PURE__*/\nfunction (_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\nvar PDFNodeStreamFsFullReader =\n/*#__PURE__*/\nfunction (_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\nvar PDFNodeStreamFsRangeReader =\n/*#__PURE__*/\nfunction (_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/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(167);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader('Content-Length'), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^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\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xFF;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(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/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== 'string') {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager =\n/*#__PURE__*/\nfunction () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && 'begin' in args && 'end' in args) {\n xhr.setRequestHeader('Range', \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = 'arraybuffer';\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction 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\nvar PDFFetchStream =\n/*#__PURE__*/\nfunction () {\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 if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = 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(\n /*#__PURE__*/\n _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\nvar PDFFetchStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._headers = 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 this._headers.append('Range', \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _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/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","/* Copyright 2017 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'use strict';\n\nvar pdfjs = require('./build/pdf.js');\nvar PdfjsWorker = require('worker-loader!./build/pdf.worker.js');\n\nif (typeof window !== 'undefined' && 'Worker' in window) {\n pdfjs.GlobalWorkerOptions.workerPort = new PdfjsWorker();\n}\n\nmodule.exports = pdfjs;\n"],"sourceRoot":""}