{"version":3,"sources":["webpack:///./node_modules/core-js/modules/web.dom-exception.constructor.js","webpack:///./src/components/PdfPreview.vue?cc59","webpack:///./node_modules/core-js/internals/try-node-require.js","webpack:///./node_modules/core-js/modules/web.atob.js","webpack:///./node_modules/core-js/modules/web.dom-exception.to-string-tag.js","webpack:///./src/assets/img/white.jpg","webpack:///./node_modules/pdfjs-dist/build/pdf.js","webpack:///./src/components/PdfPreview.vue?f207","webpack:///./src/views/pdf.vue","webpack:///./src/components/PdfPreview.vue","webpack:///src/components/PdfPreview.vue","webpack:///./src/components/PdfPreview.vue?d72d","webpack:///./src/components/PdfPreview.vue?9551","webpack:///src/views/pdf.vue","webpack:///./src/views/pdf.vue?e261","webpack:///./src/views/pdf.vue?970a","webpack:///./node_modules/core-js/internals/error-to-string.js","webpack:///./node_modules/core-js/modules/web.dom-exception.stack.js","webpack:///./node_modules/core-js/internals/base64-map.js","webpack:///./node_modules/hammerjs/hammer.js","webpack:///./node_modules/core-js/internals/dom-exception-constants.js"],"names":["$","tryNodeRequire","getBuiltIn","fails","create","createPropertyDescriptor","defineProperty","f","defineBuiltIn","defineBuiltInAccessor","hasOwn","anInstance","anObject","errorToString","normalizeStringArgument","DOMExceptionConstants","clearErrorStack","InternalStateModule","DESCRIPTORS","IS_PURE","DOM_EXCEPTION","DATA_CLONE_ERR","Error","NativeDOMException","MessageChannel","port1","postMessage","WeakMap","error","name","code","constructor","NativeDOMExceptionPrototype","prototype","ErrorPrototype","setInternalState","set","getInternalState","getterFor","HAS_STACK","codeFor","m","c","$DOMException","this","DOMExceptionPrototype","argumentsLength","arguments","length","message","undefined","type","stack","createGetterDescriptor","get","enumerable","configurable","key","INCORRECT_CONSTRUCTOR","INCORRECT_TO_STRING","toString","String","INCORRECT_CODE","MISSED_CONSTANTS","FORCED_CONSTRUCTOR","global","forced","DOMException","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","s","descriptor","IS_NODE","module","exports","Function","uncurryThis","call","validateArgumentsLength","ctoi","disallowed","whitespaces","finalEq","$atob","fromCharCode","charAt","replace","exec","NO_SPACES_IGNORE","NO_ENCODING_CHECK","NO_ARG_RECEIVING_CHECK","WRONG_ARITY","bind","atob","data","chr","bs","string","output","position","bc","setToStringTag","root","factory","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","d","getter","o","Object","r","Symbol","toStringTag","value","t","mode","__esModule","ns","n","object","property","hasOwnProperty","p","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","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","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","PDFDateString","GlobalWorkerOptions","apiCompatibilityParams","arrayByteLength","arraysToBytes","assert","bytesToString","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isString","isSpace","isSameOrigin","isLittleEndian","isEvalSupported","log2","readInt8","readUint16","readUint32","setVerbosityLevel","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","warn","unreachable","_streams_polyfill","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","_defineProperties","target","props","writable","_createClass","Constructor","protoProps","staticProps","_typeof","obj","iterator","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","_setPrototypeOf","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","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","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","concat","cond","baseUrl","otherUrl","base","URL","origin","e","other","_isValidProtocol","protocol","absoluteUrl","ex","prop","_BaseException","_this","_BaseException2","details","_this2","_BaseException3","apply","_BaseException4","_BaseException5","status","_this3","_BaseException6","_BaseException7","NullCharactersRegExp","str","bytes","MAX_ARGUMENT_COUNT","strBuf","chunkEnd","Math","min","chunk","subarray","push","join","Uint8Array","charCodeAt","arr","byteLength","resultLength","pos","_i","item","itemLength","x","ceil","start","offset","buffer8","view32","Uint32Array","buffer","rgbBuf","g","b","m1","m2","xt","yt","p1","applyTransform","p2","slice","p3","p4","max","v","transpose","a","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","result","normalizeRect","PDFStringTranslateTable","_i2","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","every","element","index","ch","capability","isSettled","promise","Promise","resolve","reject","reason","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","window","document","btoa","chars","Buffer","from","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","Array","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","startsWith","endsWith","includes","assign","isNaN","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","values","process","versions","entryUnbind","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","nativeStartsWith","proto","searchString","that","search","getOwnPropertyDescriptor","hide","redefine","setGlobal","copyConstructorProperties","isForced","options","source","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","O","check","it","globalThis","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","P","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","classof","split","isObject","PREFERRED_STRING","fn","val","valueOf","EXISTS","definePropertyModule","nativeDefineProperty","Attributes","shared","nativeFunctionToString","enforceInternalState","enforce","TEMPLATE","unsafe","simple","SHARED","store","copyright","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","TYPE","state","wmget","wmhas","wmset","metadata","STATE","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","method","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","toLowerCase","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","len","end","$includes","addToUnscopables","UNSCOPABLES","ArrayPrototype","defineProperties","html","documentCreateElement","IE_PROTO","PROTOTYPE","Empty","createDict","iframeDocument","iframe","lt","script","gt","js","style","display","appendChild","src","contentWindow","open","write","close","F","Properties","objectKeys","defineIterator","STRING_ITERATOR","iterated","point","done","CONVERT_TO_STRING","S","size","codeAt","createIteratorConstructor","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","step","C","mapfn","mapping","iteratorMethod","returnMethod","propertyKey","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","forEach","T","j","LN2","number","isFinite","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","kind","Arguments","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","iterate","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","userAgent","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","fetch","v8","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","empty","FakePromise","PromiseRejectionEvent","then","all","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","handler","fail","domain","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","wrap","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","stop","defaultConstructor","defer","channel","port","location","setImmediate","clear","clearImmediate","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","host","args","nextTick","now","port2","onmessage","addEventListener","importScripts","setTimeout","flush","head","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","allSettled","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","pop","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","gopher","http","https","ws","wss","scheme","includesCredentials","username","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","match","serialize","parseSearchParams","attribute","entry","attributes","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","init","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","InternalWeakMap","InternalMetadataModule","collection","collectionWeak","enforceIternalState","IS_IE11","ActiveXObject","isExtensible","$WeakMap","getConstructor","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","FREEZING","METADATA","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","inheritIfRequired","common","IS_MAP","IS_WEAK","NativeConstructor","NativePrototype","ADDER","exported","fixMethod","nativeMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","Wrapper","NewTarget","NewTargetPrototype","ArrayIterationModule","$has","internalStateGetterFor","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","define","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","specificCreate","map","filter","some","isArray","originalArray","arg","nativeFromCodePoint","INCORRECT_LENGTH","elements","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","Boolean","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$Symbol","JSON","nativeJSONStringify","stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","Infinity","$padEnd","$values","TO_ENTRIES","isReadableStreamSupported","controller","__webpack_module__","__webpack_exports__","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","WritableStream","SymbolPolyfill","noop","NumberIsNaN","typeIsObject","createArrayFromList","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","InvokeOrNoop","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","catch","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","rethrowAssertionErrorRejection","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","action","aborted","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","DataView","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","isAbortSignal","pipeTo","tee","branches","sourceCancelPromise","AbortSignal","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","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","_throw","_asyncToGenerator","err","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_s","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","fallbackWorkerSrc","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","isWorkerDisabled","fakeWorkerFilesLoader","useRequireEnsure","requirejs","toUrl","createPDFNetworkStream","dynamicLoaderSupported","load","worker","WorkerMessageHandler","pdfjsFilePath","currentScript","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","pdfBytes","rangeChunkSize","CMapReaderFactory","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","workerPort","fromPort","_worker","docId","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","send","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","destroy","deprecated","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","loaded","total","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_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","_ref","scale","_ref$rotation","rotation","rotate","_ref$dontFlip","dontFlip","PageViewport","viewBox","_ref2","_ref2$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_ref3","_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","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","DOMCanvasFactory","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","complete","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref4","_ref4$normalizeWhites","normalizeWhitespace","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","readableStream","streamTextContent","pump","_ref5","_textContent$items","styles","_this6","pageCache","waitOn","renderCompleted","resetStats","_this7","operatorListChunk","_this8","streamReader","_ref6","_renderPageChunk","_ref7","_this9","_ref7$force","cleanup","userUnit","_listeners","_defer","_deferred","transfers","_this10","cloneValue","cloned","transferable","fakeWorkerFilesLoadedCapability","pdfWorkerPorts","nextFakeWorkerId","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","setupFakeWorkerGlobal","mainWorkerMessageHandler","loader","createCDNWrapper","_ref8","_ref8$name","_ref8$port","_ref8$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this11","Worker","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this12","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this13","page","_destroy","terminated","cancelAllRequests","_this14","sink","getFullReader","evt","onPull","_ref9","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref10","_ref11","_numPages","exception","updatePassword","_startRenderPage","_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","fetched","builtInCMap","cMapData","_ref12","featureId","_this15","_this16","results","Metadata","contentDispositionFilename","filename","_this17","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref13","_ref13$useRequestAnim","_ref13$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","canvas","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this18","requestAnimationFrame","_next2","mark","_callee","_context","prev","abrupt","executeOperatorList","runtime","Op","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","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","statusText","t0","arrayBuffer","t1","t2","text","t3","_x3","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","applyInverseTransform","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","rel","_ref7$enabled","urlNullRemoved","title","onclick","LinkTargetValues","targetIndex","anchor","substring","lastIndexOf","started","times","Date","out","longest","_time","duration","pdfDateStringRegex","Response","documentElement","removeAttribute","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","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","ctx","isFontReady","fillText","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","span","fontFamily","body","supported","navigator","getLoadTestFont","IsEvalSupportedCached","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","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","res","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","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","singularValueDecompose2dScale","getPattern","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","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","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","w","h","domImage","getCanvasPosition","appendImage","left","top","compiled","maskCanvas","positions","images","image","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","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","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","ERROR","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","deleteStreamController","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","trim","_get","receiver","Reflect","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","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","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_loaded","_stream","_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","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","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","NO_PADDING","transformBuf","paddingBuf","divProps","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","externalLinkEnabled","_bindNamedAction","_bindLink","destination","getDestinationHash","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","_AnnotationElement7","square","_AnnotationElement8","circle","_AnnotationElement9","containerClassName","svgElementName","vertices","coordinate","polyline","_PolylineAnnotationEl","_AnnotationElement10","_AnnotationElement11","inkLists","inkList","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_AnnotationElement16","_AnnotationElement17","_this6$data$file","eventBus","dispatch","_download","downloadData","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step5","_iterator5","annotations","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step6","_iterator6","_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","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","fileUriRegex","parseUrl","sourceUrl","parsedUrl","parse","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","auth","_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","decode","_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","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","_vm","_self","$store","isShowCard","class","isOpen","$event","simgs","attrs","loadingpage","staticRenderFns","directives","rawName","isRenderingPDFNow","expression","staticClass","$parent","_l","imgArr","selectPage","slide","currentIRSModelList","setCarousel","_v","addNew","copyPage","deleteSelectPage","require","innerWidth","innerHeight","manualRender","renderPages","showPageLine","imgArr2","pdfDoc","pageNum","pageRendering","pageNumPending","pages","currentPage","pageHeight","renderList","timerIndex","boardImg","startNew","allPages","totalpage","whiteBG","visible","showSimulatedReturnData","fileType","onlyOnePageImg","initPen","updateIRSModelList","tempArr","msgdata","msgBody","idArr","pageid","irsmodel","dataURLtoFile","dataurl","mime","bstr","u8arr","File","currentPageId","deletePage","deletePageNum","_regeneratorRuntime","isOpenBuzzPop","isWaitingBuzz","nowpageRender","nowpageIds","reSendNormalState","pdf","pageNow","uploadUrl","heights","PDFJS","disableWorker","newArr","newArr2","imgArrOld","initIsWhiteboard","PDFInitRenderInfo","currentRenderPage","getViewport","renderContext","_callee4","pageID","imgFile","currentIndex","idTypes","renderCondition","_context4","sessionStorage","getItem","genID","toDataURL","pagetype","pdfOringinalImgsIdArr","uploadResourceFile","classInfo","sas_read","pen","pdfOringinalImgs","setItem","endIndex","renderCount","isOnlyRefresh","removeItem","_callee3","_context3","totalRenderPage","inspectLitimg","showTextLoading","uploadImgs","$api","uploadBase64","carousel","$refs","setClassOpTime","pdfuploaderror","$Message","$t","modalUpload","pdfGetidtpe","_callee6","litimaArr","_context6","AfterParsing","_callee5","_context5","initCanvas","created","mounted","hammerBlock","getElementById","hammerRecognizers","Hammer","DIRECTION_ALL","ev","scrollTo","scrollTop","deltaY","behavior","computed","_objectSpread","mapGetters","watchClickPdfnumToOpenSideBar","clickPdfnumToOpenSideBar","watchUrl","watchImgArr","watchSlide","watchCarouselSlide","carouselSlide","watchIdArr","watchCard","watchPDFInitRenderInfo","watch","oldSlide","beforeDestroy","timer","$q","loading","component","pdfPreview","$emit","pdfloadingmsg","thumbnailimage","thumbnail","nativeErrorToString","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","BUGGY_DESCRIPTOR","itoc","exportName","VENDOR_PREFIXES","TEST_ELEMENT","TYPE_FUNCTION","setTimeoutContext","bindFn","invokeArrayArg","each","deprecationMessage","nextKey","extend","merge","inherit","childP","baseP","_super","boolOrFn","ifUndefined","val1","val2","addEventListeners","types","splitStr","removeEventListeners","hasParent","inStr","inArray","findByKey","toArray","uniqueArray","prefixed","prefix","camelProp","toUpperCase","_uniqueId","uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","MOBILE_REGEX","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","COMPUTE_INTERVAL","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","PROPS_XY","PROPS_CLIENT_XY","Input","inputTarget","domHandler","createInputInstance","Type","inputClass","PointerEventInput","TouchInput","TouchMouseInput","MouseInput","inputHandler","eventType","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","deltaTime","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getScale","getRotation","maxPointers","computeIntervalInputData","srcEvent","offsetDelta","prevDelta","velocity","velocityX","velocityY","lastInterval","clientX","clientY","evEl","evTarget","evWin","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","pressed","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","SingleTouchInput","normalizeSingleTouches","touches","changed","changedTouches","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","identifier","targetTouches","changedTargetTouches","touch","DEDUP_TIMEOUT","DEDUP_DISTANCE","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","isSyntheticEvent","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","getTouchActionProps","TouchAction","cleanTouchActions","hasPanX","hasPanY","touchMap","cssSupports","CSS","supports","compute","update","touchAction","recognizers","recognizer","getTouchAction","preventDefaults","prevented","preventDefault","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","Recognizer","defaults","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","preset","Manager","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","attrTest","optionPointers","isRecognized","isValid","threshold","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","cssProps","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","handlers","oldCssProps","toggleCssProps","triggerDomEvent","gestureEvent","gesture","curRecognizer","existing","events","off","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","IndexSizeError","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError"],"mappings":"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","file":"js/chunk-3cee3419.023cebfd.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar tryNodeRequire = require('../internals/try-node-require');\nvar getBuiltIn = require('../internals/get-built-in');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar errorToString = require('../internals/error-to-string');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar InternalStateModule = require('../internals/internal-state');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar DATA_CLONE_ERR = 'DATA_CLONE_ERR';\nvar Error = getBuiltIn('Error');\n// NodeJS < 17.0 does not expose `DOMException` to global\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () {\n try {\n // NodeJS < 15.0 does not expose `MessageChannel` to global\n var MessageChannel = getBuiltIn('MessageChannel') || tryNodeRequire('worker_threads').MessageChannel;\n // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe\n new MessageChannel().port1.postMessage(new WeakMap());\n } catch (error) {\n if (error.name == DATA_CLONE_ERR && error.code == 25) return error.constructor;\n }\n})();\nvar NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype;\nvar ErrorPrototype = Error.prototype;\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION);\nvar HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\n\nvar codeFor = function (name) {\n return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0;\n};\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var code = codeFor(name);\n setInternalState(this, {\n type: DOM_EXCEPTION,\n name: name,\n message: message,\n code: code\n });\n if (!DESCRIPTORS) {\n this.name = name;\n this.message = message;\n this.code = code;\n }\n if (HAS_STACK) {\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n }\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype);\n\nvar createGetterDescriptor = function (get) {\n return { enumerable: true, configurable: true, get: get };\n};\n\nvar getterFor = function (key) {\n return createGetterDescriptor(function () {\n return getInternalState(this)[key];\n });\n};\n\nif (DESCRIPTORS) {\n // `DOMException.prototype.code` getter\n defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code'));\n // `DOMException.prototype.message` getter\n defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message'));\n // `DOMException.prototype.name` getter\n defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name'));\n}\n\ndefineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException));\n\n// FF36- DOMException is a function, but can't be constructed\nvar INCORRECT_CONSTRUCTOR = fails(function () {\n return !(new NativeDOMException() instanceof Error);\n});\n\n// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs\nvar INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () {\n return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1';\n});\n\n// Deno 1.6.3- DOMException.prototype.code just missed\nvar INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () {\n return new NativeDOMException(1, 'DataCloneError').code !== 25;\n});\n\n// Deno 1.6.3- DOMException constants just missed\nvar MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR\n || NativeDOMException[DATA_CLONE_ERR] !== 25\n || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25;\n\nvar FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR;\n\n// `DOMException` constructor\n// https://webidl.spec.whatwg.org/#idl-DOMException\n$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, {\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) {\n defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString);\n}\n\nif (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) {\n defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () {\n return codeFor(anObject(this).name);\n }));\n}\n\n// `DOMException` constants\nfor (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n var descriptor = createPropertyDescriptor(6, constant.c);\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, descriptor);\n }\n if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) {\n defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor);\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PdfPreview.vue?vue&type=style&index=1&id=13e79082&prod&lang=css&\"","'use strict';\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = function (name) {\n try {\n // eslint-disable-next-line no-new-func -- safe\n if (IS_NODE) return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar toString = require('../internals/to-string');\nvar hasOwn = require('../internals/has-own-property');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar ctoi = require('../internals/base64-map').ctoi;\n\nvar disallowed = /[^\\d+/a-z]/i;\nvar whitespaces = /[\\t\\n\\f\\r ]+/g;\nvar finalEq = /[=]{1,2}$/;\n\nvar $atob = getBuiltIn('atob');\nvar fromCharCode = String.fromCharCode;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar exec = uncurryThis(disallowed.exec);\n\nvar NO_SPACES_IGNORE = fails(function () {\n return $atob(' ') !== '';\n});\n\nvar NO_ENCODING_CHECK = !fails(function () {\n $atob('a');\n});\n\nvar NO_ARG_RECEIVING_CHECK = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && !fails(function () {\n $atob();\n});\n\nvar WRONG_ARITY = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && $atob.length !== 1;\n\n// `atob` method\n// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob\n$({ global: true, bind: true, enumerable: true, forced: NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY }, {\n atob: function atob(data) {\n validateArgumentsLength(arguments.length, 1);\n // `webpack` dev server bug on IE global methods - use call(fn, global, ...)\n if (NO_ARG_RECEIVING_CHECK || WRONG_ARITY) return call($atob, global, data);\n var string = replace(toString(data), whitespaces, '');\n var output = '';\n var position = 0;\n var bc = 0;\n var chr, bs;\n if (string.length % 4 == 0) {\n string = replace(string, finalEq, '');\n }\n if (string.length % 4 == 1 || exec(disallowed, string)) {\n throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError');\n }\n while (chr = charAt(string, position++)) {\n if (hasOwn(ctoi, chr)) {\n bs = bc % 4 ? bs * 64 + ctoi[chr] : ctoi[chr];\n if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6));\n }\n } return output;\n }\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\nvar DOM_EXCEPTION = 'DOMException';\n\n// `DOMException.prototype[@@toStringTag]` property\nsetToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION);\n","module.exports = __webpack_public_path__ + \"img/white.ca8a7156.jpg\";","/**\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.3.200';\nvar pdfjsBuild = '4ae3f9fc';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(179);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(194);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(195);\n\nvar pdfjsDisplayDisplayUtils = __w_pdfjs_require__(183);\n\nvar pdfjsDisplaySVG = __w_pdfjs_require__(196);\n\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(188);\n\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(185);\n\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(197).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(200).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = __w_pdfjs_require__(201).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.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 () {\n return _streams_polyfill.ReadableStream;\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.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(177);\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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\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 AnnotationStateModelType = {\n MARKED: 'Marked',\n REVIEW: 'Review'\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: 'Marked',\n UNMARKED: 'Unmarked'\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: 'Accepted',\n REJECTED: 'Rejected',\n CANCELLED: 'Cancelled',\n COMPLETED: 'Completed',\n NONE: 'None'\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: 'Group',\n REPLY: 'R'\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: 'UNKNOWN',\n FLATE: 'FLATE',\n LZW: 'LZW',\n DCT: 'DCT',\n JPX: 'JPX',\n JBIG: 'JBIG',\n A85: 'A85',\n AHX: 'AHX',\n CCF: 'CCF',\n RLX: 'RLX'\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: 'UNKNOWN',\n TYPE1: 'TYPE1',\n TYPE1C: 'TYPE1C',\n CIDFONTTYPE0: 'CIDFONTTYPE0',\n CIDFONTTYPE0C: 'CIDFONTTYPE0C',\n TRUETYPE: 'TRUETYPE',\n CIDFONTTYPE2: 'CIDFONTTYPE2',\n TYPE3: 'TYPE3',\n OPENTYPE: 'OPENTYPE',\n TYPE0: 'TYPE0',\n MMTYPE1: 'MMTYPE1'\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable('Cannot initialize BaseException.');\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException =\n/*#__PURE__*/\nfunction (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException =\n/*#__PURE__*/\nfunction (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException =\n/*#__PURE__*/\nfunction (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException =\n/*#__PURE__*/\nfunction (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError =\n/*#__PURE__*/\nfunction (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException =\n/*#__PURE__*/\nfunction (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));\n }\n\n return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join('');\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction 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 rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\nvar Util =\n/*#__PURE__*/\nfunction () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (var _i2 = 0; _i2 < length; ++_i2) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i2)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i2));\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.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 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__(57);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(59);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(61);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(89);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(92);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(94);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(96);\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__(99);\n })();\n\n (function checkURL() {\n globalScope.URL = __w_pdfjs_require__(121);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(128);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(138);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(140);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(142);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(144);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(172);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(174);\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__w_pdfjs_require__(6);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar toLength = __w_pdfjs_require__(43);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('startsWith')\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar setGlobal = __w_pdfjs_require__(28);\nvar copyConstructorProperties = __w_pdfjs_require__(36);\nvar isForced = __w_pdfjs_require__(48);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n hide(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nvar O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || check(typeof self == O && self) || check(typeof global == O && global) || Function('return this')();\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar has = __w_pdfjs_require__(20);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(21);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(15);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar classof = __w_pdfjs_require__(16);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(11);\nvar createElement = __w_pdfjs_require__(22);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar isObject = __w_pdfjs_require__(19);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(21);\nvar anObject = __w_pdfjs_require__(25);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar shared = __w_pdfjs_require__(27);\nvar hide = __w_pdfjs_require__(23);\nvar has = __w_pdfjs_require__(20);\nvar setGlobal = __w_pdfjs_require__(28);\nvar nativeFunctionToString = __w_pdfjs_require__(30);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n hide(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar setGlobal = __w_pdfjs_require__(28);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(23);\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(27);\nmodule.exports = shared('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(32);\nvar global = __w_pdfjs_require__(8);\nvar isObject = __w_pdfjs_require__(19);\nvar hide = __w_pdfjs_require__(23);\nvar objectHas = __w_pdfjs_require__(20);\nvar sharedKey = __w_pdfjs_require__(33);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar nativeFunctionToString = __w_pdfjs_require__(30);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(27);\nvar uid = __w_pdfjs_require__(34);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar ownKeys = __w_pdfjs_require__(37);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);\nvar definePropertyModule = __w_pdfjs_require__(24);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(40);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar anObject = __w_pdfjs_require__(25);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(39);\nvar global = __w_pdfjs_require__(8);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nmodule.exports = __w_pdfjs_require__(8);\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(41);\nvar enumBugKeys = __w_pdfjs_require__(46);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar indexOf = __w_pdfjs_require__(42).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(35);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toLength = __w_pdfjs_require__(43);\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(50);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar classof = __w_pdfjs_require__(16);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar shared = __w_pdfjs_require__(27);\nvar uid = __w_pdfjs_require__(34);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(52);\nvar Symbol = global.Symbol;\nvar store = shared('wks');\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar bind = __w_pdfjs_require__(55);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(56);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(58);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar toLength = __w_pdfjs_require__(43);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('endsWith')\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(60);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(62);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $includes = __w_pdfjs_require__(42).includes;\nvar addToUnscopables = __w_pdfjs_require__(63);\n$({\n target: 'Array',\n proto: true\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar create = __w_pdfjs_require__(64);\nvar hide = __w_pdfjs_require__(23);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n hide(ArrayPrototype, UNSCOPABLES, create(null));\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar defineProperties = __w_pdfjs_require__(65);\nvar enumBugKeys = __w_pdfjs_require__(46);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar html = __w_pdfjs_require__(67);\nvar documentCreateElement = __w_pdfjs_require__(22);\nvar sharedKey = __w_pdfjs_require__(33);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar PROTOTYPE = 'prototype';\nvar Empty = function () {\n};\nvar createDict = function () {\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--)\n delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\nhiddenKeys[IE_PROTO] = true;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(25);\nvar objectKeys = __w_pdfjs_require__(66);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(41);\nvar enumBugKeys = __w_pdfjs_require__(46);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\n__w_pdfjs_require__(81);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(70).charAt;\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar defineIterator = __w_pdfjs_require__(71);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar createIteratorConstructor = __w_pdfjs_require__(72);\nvar getPrototypeOf = __w_pdfjs_require__(74);\nvar setPrototypeOf = __w_pdfjs_require__(79);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar Iterators = __w_pdfjs_require__(78);\nvar IteratorsCore = __w_pdfjs_require__(73);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n hide(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n hide(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(73).IteratorPrototype;\nvar create = __w_pdfjs_require__(64);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar Iterators = __w_pdfjs_require__(78);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(74);\nvar hide = __w_pdfjs_require__(23);\nvar has = __w_pdfjs_require__(20);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR))\n hide(IteratorPrototype, ITERATOR, returnThis);\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar toObject = __w_pdfjs_require__(75);\nvar sharedKey = __w_pdfjs_require__(33);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(76);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar has = __w_pdfjs_require__(20);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar aPossiblePrototype = __w_pdfjs_require__(80);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar from = __w_pdfjs_require__(82);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(55);\nvar toObject = __w_pdfjs_require__(75);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(83);\nvar isArrayIteratorMethod = __w_pdfjs_require__(84);\nvar toLength = __w_pdfjs_require__(43);\nvar createProperty = __w_pdfjs_require__(85);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n result = new C();\n for (; !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar Iterators = __w_pdfjs_require__(78);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(18);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(87);\nvar Iterators = __w_pdfjs_require__(78);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classofRaw = __w_pdfjs_require__(16);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(90);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar assign = __w_pdfjs_require__(91);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(11);\nvar objectKeys = __w_pdfjs_require__(66);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar toObject = __w_pdfjs_require__(75);\nvar IndexedObject = __w_pdfjs_require__(15);\nvar nativeAssign = Object.assign;\nmodule.exports = !nativeAssign || fails(function () {\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(93);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(95);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(97);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar isInteger = __w_pdfjs_require__(98);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(69);\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(105);\n__w_pdfjs_require__(119);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(26);\nvar toString = __w_pdfjs_require__(101);\nvar ObjectPrototype = Object.prototype;\nif (toString !== ObjectPrototype.toString) {\n redefine(ObjectPrototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar classof = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) !== '[object z]' ? function toString() {\n return '[object ' + classof(this) + ']';\n} : test.toString;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar DOMIterables = __w_pdfjs_require__(103);\nvar ArrayIteratorMethods = __w_pdfjs_require__(104);\nvar hide = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n hide(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG])\n hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar addToUnscopables = __w_pdfjs_require__(63);\nvar Iterators = __w_pdfjs_require__(78);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar defineIterator = __w_pdfjs_require__(71);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar global = __w_pdfjs_require__(8);\nvar path = __w_pdfjs_require__(39);\nvar NativePromise = __w_pdfjs_require__(106);\nvar redefine = __w_pdfjs_require__(26);\nvar redefineAll = __w_pdfjs_require__(107);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar setSpecies = __w_pdfjs_require__(108);\nvar isObject = __w_pdfjs_require__(19);\nvar aFunction = __w_pdfjs_require__(56);\nvar anInstance = __w_pdfjs_require__(109);\nvar classof = __w_pdfjs_require__(16);\nvar iterate = __w_pdfjs_require__(110);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar speciesConstructor = __w_pdfjs_require__(111);\nvar task = __w_pdfjs_require__(112).set;\nvar microtask = __w_pdfjs_require__(113);\nvar promiseResolve = __w_pdfjs_require__(115);\nvar hostReportErrors = __w_pdfjs_require__(117);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(116);\nvar perform = __w_pdfjs_require__(118);\nvar userAgent = __w_pdfjs_require__(114);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar isForced = __w_pdfjs_require__(48);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = global.fetch;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var promise = PromiseConstructor.resolve(1);\n var empty = function () {\n };\n var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {\n exec(empty, empty);\n };\n return !((IS_NODE || typeof PromiseRejectionEvent == 'function') && (!IS_PURE || promise['finally']) && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = path[PROMISE];\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(26);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar isArrayIteratorMethod = __w_pdfjs_require__(84);\nvar toLength = __w_pdfjs_require__(43);\nvar bind = __w_pdfjs_require__(55);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(83);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n while (!(step = iterator.next()).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar aFunction = __w_pdfjs_require__(56);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar fails = __w_pdfjs_require__(11);\nvar classof = __w_pdfjs_require__(16);\nvar bind = __w_pdfjs_require__(55);\nvar html = __w_pdfjs_require__(67);\nvar createElement = __w_pdfjs_require__(22);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;\nvar classof = __w_pdfjs_require__(16);\nvar macrotask = __w_pdfjs_require__(112).set;\nvar userAgent = __w_pdfjs_require__(114);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar newPromiseCapability = __w_pdfjs_require__(116);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(56);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar aFunction = __w_pdfjs_require__(56);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(116);\nvar perform = __w_pdfjs_require__(118);\nvar iterate = __w_pdfjs_require__(110);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar NativePromise = __w_pdfjs_require__(106);\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar speciesConstructor = __w_pdfjs_require__(111);\nvar promiseResolve = __w_pdfjs_require__(115);\nvar redefine = __w_pdfjs_require__(26);\n$({\n target: 'Promise',\n proto: true,\n real: true\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(127);\n__w_pdfjs_require__(125);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(69);\nvar $ = __w_pdfjs_require__(7);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar USE_NATIVE_URL = __w_pdfjs_require__(123);\nvar global = __w_pdfjs_require__(8);\nvar defineProperties = __w_pdfjs_require__(65);\nvar redefine = __w_pdfjs_require__(26);\nvar anInstance = __w_pdfjs_require__(109);\nvar has = __w_pdfjs_require__(20);\nvar assign = __w_pdfjs_require__(91);\nvar arrayFrom = __w_pdfjs_require__(82);\nvar codeAt = __w_pdfjs_require__(70).codeAt;\nvar toASCII = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar URLSearchParamsModule = __w_pdfjs_require__(125);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?e=1', 'http://a');\n var searchParams = url.searchParams;\n url.pathname = 'c%20d';\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?e=1' || searchParams.get('e') !== '1' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1';\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(104);\nvar $ = __w_pdfjs_require__(7);\nvar USE_NATIVE_URL = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(26);\nvar redefineAll = __w_pdfjs_require__(107);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar createIteratorConstructor = __w_pdfjs_require__(72);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar anInstance = __w_pdfjs_require__(109);\nvar hasOwn = __w_pdfjs_require__(20);\nvar bind = __w_pdfjs_require__(55);\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar getIterator = __w_pdfjs_require__(126);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, step, entryIterator, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n while (!(step = iterator.next()).done) {\n entryIterator = getIterator(anObject(step.value));\n if ((first = entryIterator.next()).done || (second = entryIterator.next()).done || !entryIterator.next().done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(129);\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(8);\nvar redefineAll = __w_pdfjs_require__(107);\nvar InternalMetadataModule = __w_pdfjs_require__(130);\nvar collection = __w_pdfjs_require__(132);\nvar collectionWeak = __w_pdfjs_require__(134);\nvar isObject = __w_pdfjs_require__(19);\nvar enforceIternalState = __w_pdfjs_require__(31).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(32);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar isObject = __w_pdfjs_require__(19);\nvar has = __w_pdfjs_require__(20);\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar uid = __w_pdfjs_require__(34);\nvar FREEZING = __w_pdfjs_require__(131);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar global = __w_pdfjs_require__(8);\nvar isForced = __w_pdfjs_require__(48);\nvar redefine = __w_pdfjs_require__(26);\nvar InternalMetadataModule = __w_pdfjs_require__(130);\nvar iterate = __w_pdfjs_require__(110);\nvar anInstance = __w_pdfjs_require__(109);\nvar isObject = __w_pdfjs_require__(19);\nvar fails = __w_pdfjs_require__(11);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar inheritIfRequired = __w_pdfjs_require__(133);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var ADDER = IS_MAP ? 'set' : 'add';\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar setPrototypeOf = __w_pdfjs_require__(79);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(107);\nvar getWeakData = __w_pdfjs_require__(130).getWeakData;\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar anInstance = __w_pdfjs_require__(109);\nvar iterate = __w_pdfjs_require__(110);\nvar ArrayIterationModule = __w_pdfjs_require__(135);\nvar $has = __w_pdfjs_require__(20);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(55);\nvar IndexedObject = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(75);\nvar toLength = __w_pdfjs_require__(43);\nvar arraySpeciesCreate = __w_pdfjs_require__(136);\nvar push = [].push;\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar isArray = __w_pdfjs_require__(137);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(16);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(132);\nvar collectionWeak = __w_pdfjs_require__(134);\ncollection('WeakSet', function (get) {\n return function WeakSet() {\n return get(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak, false, true);\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(141);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar codeAt = __w_pdfjs_require__(70).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(143);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(145);\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(151);\n__w_pdfjs_require__(152);\n__w_pdfjs_require__(153);\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(155);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(157);\n__w_pdfjs_require__(158);\n__w_pdfjs_require__(159);\n__w_pdfjs_require__(160);\n__w_pdfjs_require__(161);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(163);\n__w_pdfjs_require__(164);\n__w_pdfjs_require__(165);\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar fails = __w_pdfjs_require__(11);\nvar isArray = __w_pdfjs_require__(137);\nvar isObject = __w_pdfjs_require__(19);\nvar toObject = __w_pdfjs_require__(75);\nvar toLength = __w_pdfjs_require__(43);\nvar createProperty = __w_pdfjs_require__(85);\nvar arraySpeciesCreate = __w_pdfjs_require__(136);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(146);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar global = __w_pdfjs_require__(8);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(52);\nvar fails = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(20);\nvar isArray = __w_pdfjs_require__(137);\nvar isObject = __w_pdfjs_require__(19);\nvar anObject = __w_pdfjs_require__(25);\nvar toObject = __w_pdfjs_require__(75);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar nativeObjectCreate = __w_pdfjs_require__(64);\nvar objectKeys = __w_pdfjs_require__(66);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(40);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(148);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar shared = __w_pdfjs_require__(27);\nvar sharedKey = __w_pdfjs_require__(33);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar uid = __w_pdfjs_require__(34);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar $forEach = __w_pdfjs_require__(135).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar JSON = global.JSON;\nvar nativeJSONStringify = JSON && JSON.stringify;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nJSON && $({\n target: 'JSON',\n stat: true,\n forced: !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return nativeJSONStringify([symbol]) != '[null]' || nativeJSONStringify({ a: symbol }) != '{}' || nativeJSONStringify(Object(symbol)) != '{}';\n })\n}, {\n stringify: function stringify(it) {\n var args = [it];\n var index = 1;\n var replacer, $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return nativeJSONStringify.apply(JSON, args);\n }\n});\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE])\n hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(40).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nexports.f = __w_pdfjs_require__(51);\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(39);\nvar has = __w_pdfjs_require__(20);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);\nvar defineProperty = __w_pdfjs_require__(24).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(8);\nvar has = __w_pdfjs_require__(20);\nvar isObject = __w_pdfjs_require__(19);\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar copyConstructorProperties = __w_pdfjs_require__(36);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(77);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar setToStringTag = __w_pdfjs_require__(77);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $padStart = __w_pdfjs_require__(169).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(171);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(43);\nvar repeat = __w_pdfjs_require__(170);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(44);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(114);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(173);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $padEnd = __w_pdfjs_require__(169).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(171);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(175);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar $values = __w_pdfjs_require__(176).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar objectKeys = __w_pdfjs_require__(66);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar propertyIsEnumerable = __w_pdfjs_require__(12).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 177 */\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__(178).ReadableStream;\n }\n}\n\n/***/ }),\n/* 178 */\n/***/ (function(__webpack_module__, __webpack_exports__, __w_pdfjs_require__) {\n\n\"use strict\";\n__w_pdfjs_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"ByteLengthQueuingStrategy\", function() { return ByteLengthQueuingStrategy; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"CountQueuingStrategy\", function() { return CountQueuingStrategy; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"ReadableStream\", function() { return ReadableStream; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"TransformStream\", function() { return TransformStream; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"WritableStream\", function() { return WritableStream; });\nvar SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n};\nfunction noop() {\n}\nvar NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n};\nfunction typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n}\nfunction createArrayFromList(elements) {\n return elements.slice();\n}\nfunction ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n}\nfunction IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n}\nfunction IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n}\nfunction Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n}\nfunction CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return Promise.resolve();\n };\n}\nfunction InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n}\nfunction PromiseCall(F, V, args) {\n try {\n return Promise.resolve(Call(F, V, args));\n } catch (value) {\n return Promise.reject(value);\n }\n}\nfunction TransferArrayBuffer(O) {\n return O;\n}\nfunction IsDetachedBuffer(O) {\n return false;\n}\nfunction ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n}\nfunction MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n}\nvar QUEUE_MAX_ARRAY_SIZE = 16384;\nvar SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n}();\nfunction ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n}\nfunction ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n}\nfunction ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n}\nfunction ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n}\nfunction readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n}\nfunction defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n}\nfunction defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n}\nfunction defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction defaultReaderClosedPromiseReject(reader, reason) {\n reader._closedPromise.catch(noop);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\nfunction defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n}\nfunction defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\nvar CancelSteps = SymbolPolyfill('[[CancelSteps]]');\nvar PullSteps = SymbolPolyfill('[[PullSteps]]');\nfunction AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\nfunction ReadableStreamAddReadRequest(stream) {\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n}\nfunction ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n}\nfunction ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n}();\nfunction IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n}\nfunction defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n}\nvar _a;\nvar AsyncIteratorPrototype;\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n}\nvar ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return Promise.reject(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('iterate'));\n }\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return Promise.reject(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return Promise.reject(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return result.then(function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return Promise.resolve(ReadableStreamCreateReadResult(value, true, true));\n }\n};\nif (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n}\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\nfunction AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n}\nfunction IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n}\nfunction streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n}\nvar rethrowAssertionErrorRejection = noop;\nfunction DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n}\nfunction EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n}\nfunction PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n}\nfunction ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n}\nvar AbortSteps = SymbolPolyfill('[[AbortSteps]]');\nvar ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\nvar WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n}();\nfunction AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n}\nfunction CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n}\nfunction IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n}\nfunction IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.resolve(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n}\nfunction WritableStreamAddWriteRequest(stream) {\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n}\nfunction WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n}\nfunction WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n}\nfunction WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n promise.then(function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n}\nfunction WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n}\nfunction WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n}\nfunction WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n}\nfunction WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n}\nfunction WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n}\nfunction WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n}\nfunction WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n}\nfunction WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n}\nvar WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n}();\nfunction IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n}\nfunction WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n}\nfunction WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\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 var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n}\nfunction WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n}\nfunction WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n}\nfunction WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n}\nfunction WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\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 if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n}\nvar WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n}();\nfunction IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = Promise.resolve(startResult);\n startPromise.then(function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n}\nfunction WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\nfunction WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\nfunction WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n}\nfunction WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\nfunction WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n}\nfunction WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n}\nfunction WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n}\nfunction WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n}\nfunction streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n}\nfunction defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n}\nfunction defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n}\nfunction 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}\nfunction defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n}\nfunction defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n}\nfunction defaultWriterClosedPromiseReject(writer, reason) {\n writer._closedPromise.catch(noop);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n}\nfunction defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n}\nfunction 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}\nfunction defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n}\nfunction defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n}\nfunction defaultWriterReadyPromiseReject(writer, reason) {\n writer._readyPromise.catch(noop);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n}\nfunction defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n}\nfunction defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n}\nfunction ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return Promise.resolve();\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return Promise.resolve();\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return new Promise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n pipeStep().then(next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return Promise.resolve(true);\n }\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_a) {\n var value = _a.value, done = _a.done;\n if (done === true) {\n return true;\n }\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n pipeLoop().catch(rethrowAssertionErrorRejection);\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\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 function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\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 function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\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 function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n}\nvar ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return Promise.resolve(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n}();\nfunction IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\nfunction ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n}\nfunction ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n}\nfunction ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n}\nfunction SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n}\nfunction defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n}\nfunction ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = new Promise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return Promise.resolve();\n }\n reading = true;\n var readPromise = ReadableStreamDefaultReaderRead(reader).then(function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n readPromise.catch(rethrowAssertionErrorRejection);\n return Promise.resolve();\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n reader._closedPromise.catch(function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n}\nvar NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n};\nvar ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n}();\nvar ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n return Promise.resolve(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n}();\nfunction IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n}\nfunction IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n}\nfunction ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n}\nfunction ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n}\nfunction ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n}\nfunction ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n}\nfunction ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n}\nfunction ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n}\nfunction ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n}\nfunction ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n}\nfunction ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n}\nfunction ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n}\nfunction ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n}\nfunction ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n}\nfunction ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n}\nfunction ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n}\nfunction ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n}\nfunction SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n}\nfunction SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n}\nfunction byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n}\nfunction byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n}\nfunction AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\nfunction ReadableStreamAddReadIntoRequest(stream) {\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n}\nfunction ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n}\nfunction ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n}();\nfunction IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n}\nfunction byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n}\nvar ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n promise.catch(noop);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n}();\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n}\nfunction CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n}\nfunction IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n}\nfunction IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n}\nfunction ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n}\nfunction isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n var aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, 'aborted').get;\n try {\n aborted.call(value);\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n}\nvar ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n}();\nvar CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n}();\nvar TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n}();\nfunction InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return Promise.resolve();\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n}\nfunction IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n}\nfunction TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n}\nfunction TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n}\nfunction TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = new Promise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n}\nvar TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n}();\nfunction IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n}\nfunction SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return Promise.resolve();\n } catch (transformResultE) {\n return Promise.reject(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n}\nfunction TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n}\nfunction TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n}\nfunction TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n}\nfunction TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromise.catch(function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n}\nfunction TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n}\nfunction TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return backpressureChangePromise.then(function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n}\nfunction TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return Promise.resolve();\n}\nfunction TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return flushPromise.then(function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }).catch(function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n}\nfunction TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n}\nfunction defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n}\nfunction streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n}\n\n\n/***/ }),\n/* 179 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(183);\n\nvar _font_loader = __w_pdfjs_require__(184);\n\nvar _api_compatibility = __w_pdfjs_require__(185);\n\nvar _canvas = __w_pdfjs_require__(186);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nvar _worker_options = __w_pdfjs_require__(188);\n\nvar _message_handler = __w_pdfjs_require__(189);\n\nvar _metadata = __w_pdfjs_require__(190);\n\nvar _transport_stream = __w_pdfjs_require__(192);\n\nvar _webgl = __w_pdfjs_require__(193);\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) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _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 RENDERING_CANCELLED_TIMEOUT = 100;\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 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 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.3.200',\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 var renderingIntent = intent === 'print' ? 'print' : 'display';\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n stats.time('Page Request');\n\n this._pumpOperatorList({\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\n _this5._abortOperatorList({\n intentState: intentState,\n reason: error\n });\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.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._pumpOperatorList({\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _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 var _this6 = this;\n\n this.destroyed = true;\n this._transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n var intentState = _this6.intentStates[intent];\n\n _this6._abortOperatorList({\n intentState: intentState,\n reason: new Error('Page was destroyed.'),\n force: true\n });\n\n if (intent === 'oplist') {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise[\"catch\"](function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n\n this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var _this7 = this;\n\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = _this7.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete _this7.intentStates[intent];\n });\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) {\n return;\n }\n\n this._stats.timeEnd('Page Request');\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i = 0; _i < intentState.renderTasks.length; _i++) {\n intentState.renderTasks[_i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this8 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream('GetOperatorList', args);\n\n var reader = readableStream.getReader();\n var intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref6) {\n var value = _ref6.value,\n done = _ref6.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this8._transport.destroyed) {\n return;\n }\n\n _this8._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this8._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n _this8._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref7) {\n var _this9 = this;\n\n var intentState = _ref7.intentState,\n reason = _ref7.reason,\n _ref7$force = _ref7.force,\n force = _ref7$force === void 0 ? false : _ref7$force;\n (0, _util.assert)(reason instanceof Error, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this9._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(function (intent) {\n if (_this9.intentStates[intent] === intentState) {\n delete _this9.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats 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 _this10 = 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') {\n continue;\n }\n\n if (typeof desc.value === 'function') {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this10, {\n data: obj\n });\n });\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this10._listeners.forEach(function (listener) {\n listener.call(_this10, e);\n });\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var 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 URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker =\n /*#__PURE__*/\n function () {\n function PDFWorker() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref8$name = _ref8.name,\n name = _ref8$name === void 0 ? null : _ref8$name,\n _ref8$port = _ref8.port,\n port = _ref8$port === void 0 ? null : _ref8$port,\n _ref8$verbosity = _ref8.verbosity,\n verbosity = _ref8$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref8$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);\n\n this._messageHandler.on('ready', function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this11 = this;\n\n if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this11.destroyed) {\n _this11._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this11._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this11._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 (_this11.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this11._messageHandler = messageHandler;\n _this11._port = worker;\n _this11._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this11.postMessageTransfers = false;\n }\n\n _this11._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this11.verbosity\n });\n } else {\n _this11._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this11.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this11._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)('Cannot use postMessage transfers.');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this12 = 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 (_this12.destroyed) {\n _this12._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this12._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 _this12._messageHandler = messageHandler;\n\n _this12._readyCapability.resolve();\n })[\"catch\"](function (reason) {\n _this12._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 _this13 = 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 _this13.fontLoader.clear();\n\n if (_this13._networkStream) {\n _this13._networkStream.cancelAllRequests(new _util.AbortException('Worker was terminated.'));\n }\n\n if (_this13.messageHandler) {\n _this13.messageHandler.destroy();\n\n _this13.messageHandler = null;\n }\n\n _this13.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this14 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n (0, _util.assert)(_this14._networkStream);\n _this14._fullReader = _this14._networkStream.getFullReader();\n\n _this14._fullReader.onProgress = function (evt) {\n _this14._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this14._fullReader.read().then(function (_ref9) {\n var value = _ref9.value,\n done = _ref9.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 _this14._fullReader.cancel(reason);\n };\n });\n messageHandler.on('ReaderHeadersReady', function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this14._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this14._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this14._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(_this14._networkStream);\n\n var rangeReader = _this14._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 (_ref10) {\n var value = _ref10.value,\n done = _ref10.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 });\n messageHandler.on('GetDoc', function (_ref11) {\n var pdfInfo = _ref11.pdfInfo;\n _this14._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));\n });\n messageHandler.on('PasswordRequest', function (exception) {\n _this14._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this14._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this14._passwordCapability.reject(ex);\n }\n } else {\n _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this14._passwordCapability.promise;\n });\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n });\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n });\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n });\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n });\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n });\n messageHandler.on('DataLoaded', function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this14.downloadInfoCapability.resolve(data);\n });\n messageHandler.on('StartRenderPage', function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n var page = _this14.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on('commonobj', function (data) {\n if (_this14.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 (_this14.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'Font':\n var params = _this14._params;\n\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this14.commonObjs.resolve(id, exportedError);\n\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: _this14._onUnsupportedFeature.bind(_this14),\n fontRegistry: fontRegistry\n });\n\n _this14.fontLoader.bind(font).then(function () {\n _this14.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n })[\"finally\"](function () {\n _this14.commonObjs.resolve(id, font);\n });\n });\n\n break;\n\n case 'FontPath':\n case 'FontType3Res':\n _this14.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on('obj', function (data) {\n if (_this14.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 = _this14.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 });\n messageHandler.on('DocProgress', function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature.bind(this));\n messageHandler.on('JpegDecode', function (data) {\n if (_this14.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 });\n messageHandler.on('FetchBuiltInCMap', function (data, sink) {\n if (_this14.destroyed) {\n sink.error(new Error('Worker was destroyed'));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref12) {\n var featureId = _ref12.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 _this15 = 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 (_this15.destroyed) {\n throw new Error('Transport destroyed');\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);\n _this15.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 _this16 = 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: _this16._fullReader ? _this16._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 _this17 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {\n var page = _this17.pageCache[i];\n\n if (page) {\n page.cleanup();\n }\n }\n\n _this17.commonObjs.clear();\n\n _this17.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(_ref13) {\n var callback = _ref13.callback,\n params = _ref13.params,\n objs = _ref13.objs,\n commonObjs = _ref13.commonObjs,\n operatorList = _ref13.operatorList,\n pageNumber = _ref13.pageNumber,\n canvasFactory = _ref13.canvasFactory,\n webGLContext = _ref13.webGLContext,\n _ref13$useRequestAnim = _ref13.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref13$useRequestAnim === void 0 ? false : _ref13$useRequestAnim,\n _ref13$pdfBug = _ref13.pdfBug,\n pdfBug = _ref13$pdfBug === void 0 ? false : _ref13$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 _this18 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this18._nextBound()[\"catch\"](_this18.cancel.bind(_this18));\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.3.200';\nexports.version = version;\nvar build = '4ae3f9fc';\nexports.build = build;\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(181);\n\n/***/ }),\n/* 181 */\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__(182)(module)))\n\n/***/ }),\n/* 182 */\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/* 183 */\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__(180));\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 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 =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RenderingCancelledException).call(this, msg));\n _this2.type = type;\n return _this2;\n }\n\n return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\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 _ref7$enabled = _ref7.enabled,\n enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n (0, _util.assert)(url && typeof url === 'string', 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = '';\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\n var 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\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 URL(url, baseUrl) : new URL(url),\n protocol = _ref8.protocol;\n\n return protocol === 'http:' || protocol === 'https:';\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\n\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:') && URL.revokeObjectURL) {\n 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/* 184 */\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__(180));\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/* 185 */\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/* 186 */\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__(187);\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.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || 'sans-serif';\n var bold = 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/* 187 */\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 = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === 'undefined') {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === 'axial') {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === 'radial') {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n 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 bbox = raw[7];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 188 */\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/* 189 */\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 _util = __w_pdfjs_require__(1);\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 StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== 'object') {\n return reason;\n }\n\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case 'UnknownErrorException':\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\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 ('reason' in data) {\n callback.reject(wrapReason(data.reason));\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 new Promise(function (resolve) {\n resolve(action(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 reason: wrapReason(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action(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) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n },\n send: function send(actionName, data, transfers) {\n this.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n },\n 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 var comObj = this.comObj;\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 pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, 'cancel must have a valid reason');\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\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 var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, 'error must have a valid reason');\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: 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 new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this3 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n var comObj = this.comObj;\n\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this3.streamControllers[streamId].startCall, _this3.streamControllers[streamId].pullCall, _this3.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise[\"catch\"](function () {});\n })).then(function () {\n delete _this3.streamControllers[streamId];\n });\n };\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], 'enqueue should have stream controller');\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], 'close should have stream controller');\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n deleteStreamController();\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], 'error should have stream controller');\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n deleteStreamController();\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error('Unexpected stream case');\n }\n },\n 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/* 190 */\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__(191);\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 += '' + (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/* 191 */\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) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _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/* 192 */\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__(180));\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/* 193 */\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/* 194 */\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 function appendText(task, geom, styles) {\n var textDiv = document.createElement('span');\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n 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 })[\"catch\"](function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('TextLayer task cancelled.'));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error('TextLayer task cancelled.'));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = '';\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n 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 var NO_PADDING = '0 0 0 0';\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n var padding = paddingBuf.join(' ');\n\n if (padding !== NO_PADDING) {\n div.style.padding = padding;\n }\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(' ');\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 195 */\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__(183);\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(\".concat(viewport.transform.join(','), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement('div');\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement =\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\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = 'internalLink';\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = 'internalLink';\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement =\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(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement('div');\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = 'middle';\n element.style.display = 'table-cell';\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n\n if (!font) {\n return;\n }\n\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : '';\n var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement =\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 var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.data.options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var option = _step.value;\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _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.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=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement =\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 points = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = data.vertices[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var coordinate = _step2.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + ',' + y);\n }\n } catch (err) {\n _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 points = points.join(' ');\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', data.borderStyle.width);\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 _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = data.inkLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var inkList = _step3.value;\n var points = [];\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = inkList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var coordinate = _step4.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _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 points = points.join(' ');\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', data.borderStyle.width);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _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 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 var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = parameters.annotations[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var data = _step5.value;\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 } 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 }, {\n key: \"update\",\n value: function update(parameters) {\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = parameters.annotations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var data = _step6.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(','), \")\");\n }\n }\n } catch (err) {\n _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 parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 196 */\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__(183);\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) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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/* 197 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\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/* 198 */\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__(199);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader('Content-Length'), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes('%')) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^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/* 199 */\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) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xFF;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(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/* 200 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\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/* 201 */\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__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\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","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PdfPreview.vue?vue&type=style&index=0&id=13e79082&prod&lang=less&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(this.$store.state.isShowCard == false)?_c('span',{class:['toggle-left', _vm.isOpen ? 'toggle-arraw' : ''],on:{\"click\":function($event){return _vm.simgs()}}},[_c('font-awesome-icon',{attrs:{\"icon\":_vm.isOpen ? 'angle-double-right' : 'angle-double-left'}})],1):_vm._e(),_c('pdfPreview',{ref:\"pdfPreview\",attrs:{\"url\":_vm.url},on:{\"PdfLodingPage\":_vm.loadingpage}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!this.$store.state.isRenderingPDFNow),expression:\"!this.$store.state.isRenderingPDFNow\"}],ref:\"pdfsidebar\",staticClass:\"pdfpreview\",class:_vm.$parent.isOpen ? 'drawer' : '',attrs:{\"id\":\"hammerBlock\"}},[_c('div',{staticClass:\"pdfpreview-wrap\"},[_c('div',{staticClass:\"pageitem-group\"},_vm._l((_vm.imgArr),function(item,index){return _c('div',{key:index,staticClass:\"pageitem\",class:{ selectPage: _vm.slide == index + 1 },attrs:{\"name\":index + 1}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentIRSModelList[index] && _vm.currentIRSModelList[index] != 'normal'),expression:\"currentIRSModelList[index] && currentIRSModelList[index] != 'normal'\"}],staticClass:\"irshint\"},[_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentIRSModelList[index] == 'irsBuzz'),expression:\"currentIRSModelList[index] == 'irsBuzz'\"}],staticClass:\"stroke-icon buzz-icon\",attrs:{\"icon-class\":\"buzz-new\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentIRSModelList[index] == 'irsImmediately'),expression:\"currentIRSModelList[index] == 'irsImmediately'\"}],staticClass:\"stroke-icon ques-icon\",attrs:{\"icon-class\":\"Ques\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentIRSModelList[index] == 'irsText'),expression:\"currentIRSModelList[index] == 'irsText'\"}],staticClass:\"stroke-icon\",attrs:{\"icon-class\":\"irs-text\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentIRSModelList[index] == 'irsGather'),expression:\"currentIRSModelList[index] == 'irsGather'\"}],staticClass:\"fill-icon\",attrs:{\"icon-class\":\"collate\"}})],1),_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(item),expression:\"item\"}],on:{\"click\":function($event){return _vm.setCarousel(index)}}}),_c('div',{staticClass:\"pagebadge\"},[_vm._v(_vm._s(index + 1))])])}),0),_c('div',{staticClass:\"btn-group\"},[_c('div',{staticClass:\"delpage-btn\",on:{\"click\":function($event){return _vm.addNew()}}},[_c('svg-icon',{staticClass:\"stroke-icon\",attrs:{\"icon-class\":\"new-page\"}})],1),_c('div',{staticClass:\"delpage-btn\",on:{\"click\":function($event){return _vm.copyPage()}}},[_c('svg-icon',{staticClass:\"fill-icon\",attrs:{\"icon-class\":\"copy\"}})],1),_c('div',{staticClass:\"delpage-btn\",on:{\"click\":function($event){return _vm.deleteSelectPage()}}},[_c('svg-icon',{staticClass:\"fill-icon\",attrs:{\"icon-class\":\"Close\"}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
![]()
\r\n \r\n \r\n
{{ index + 1 }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PdfPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PdfPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PdfPreview.vue?vue&type=template&id=13e79082&\"\nimport script from \"./PdfPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./PdfPreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PdfPreview.vue?vue&type=style&index=0&id=13e79082&prod&lang=less&\"\nimport style1 from \"./PdfPreview.vue?vue&type=style&index=1&id=13e79082&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pdf.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pdf.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./pdf.vue?vue&type=template&id=18e73e0c&\"\nimport script from \"./pdf.vue?vue&type=script&lang=js&\"\nexport * from \"./pdf.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\n\nvar nativeErrorToString = Error.prototype.toString;\n\nvar INCORRECT_TO_STRING = fails(function () {\n if (DESCRIPTORS) {\n // Chrome 32- incorrectly call accessor\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n var object = create(Object.defineProperty({}, 'name', { get: function () {\n return this === object;\n } }));\n if (nativeErrorToString.call(object) !== 'true') return true;\n }\n // FF10- does not properly handle non-strings\n return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1'\n // IE8 does not properly handle defaults\n || nativeErrorToString.call({}) !== 'Error';\n});\n\nmodule.exports = INCORRECT_TO_STRING ? function toString() {\n var O = anObject(this);\n var name = normalizeStringArgument(O.name, 'Error');\n var message = normalizeStringArgument(O.message);\n return !name ? message : !message ? name : name + ': ' + message;\n} : nativeErrorToString;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","'use strict';\nvar itoc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nvar ctoi = {};\n\nfor (var index = 0; index < 66; index++) ctoi[itoc.charAt(index)] = index;\n\nmodule.exports = {\n itoc: itoc,\n ctoi: ctoi\n};\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","'use strict';\nmodule.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n"],"sourceRoot":""}